Production engineer
2021 - 2023Meta- Helped develop a tool that ensures that one of the tools that flags privacy commitment violations is working correctly.
- Wrote a replacement for a tool in order to remove a java->jni->c->python chain that was very hard to debug.
- Helped improve the process of landing AI capacity in the datacenters.
Technologies: Python 3, RustDevops engineer
2021 - 2021Trust & Safety Laboratory Inc. (via Toptal)- Automated the CI/CD pipeline in order to continuously deploy the staging environment and mark a release to be deployed in production. (using Github actions).
- Created a tool to extract text from rotated images and submit them for analysis.
- Developed Bazel rules to simplify the process of making Docker images from code in the main repository.
Technologies: DevOps, Amazon Web Services (AWS), Docker, Python, Amazon Simple Queue Service (SQS), AWS Simple Notification Service (AWS SNS), Amazon EKS, Kubernetes, Data Pipelines, Amazon S3 (AWS S3), GitHub, Bazel, CI/CD PipelinesDevOps Engineer
2020 - 2021Crabel Capital Management (via Toptal)- Refactored a Python application used for backups to be more object-oriented and added type hints.
- Added an endpoint to a web service in TypeScript to add the ability to mark a version as released in Jira when the CI/CD pipeline releases it.
- Helped migrate from on-prem Artifactory to cloud Artifactory. This required patching of different tools written in Python and Bash and coordination with the teams in order not to have any downtime.
- Added Ansible tasks to expand the product deployment infrastructure.
- Fixed different issues with Jenkins, ranging from shell script bugs to job misconfiguration.
Technologies: Jenkins, Jenkins Pipeline, Artifactory, GitHub, GitHub API, Jira REST API, Python 3, TypeScript, Bash Script, AnsibleDevOps Engineer
2019 - 2020Veea, inc (via Toptal)- Contributed to migration from chef 12 to chef 14. Migrated recipes from the deprecated apis to the new ones.
- Helped transition from manually created clusters in AWS to using autoscaling groups to deploy new clusters (using spot instances for non-essential ones).
- Added the ability to spin up new environments using terraform.
- Helped move from Elastic stack to Datadog. Moved metrics collection to Datadog.
- Migrated the existing terraform workflow to an easier to maintain terragrunt/terraform workflow.
Technologies: Continuous Integration (CI), Continuous Delivery (CD), SQL, Docker, Git, Python, Apache, Linux, Amazon Web Services (AWS), NGINX, SmartStack, Elasticsearch, Redis, Apache ZooKeeper, Apache Kafka, Terragrunt, Terraform, Chef, Amazon Elastic Container Service (Amazon ECS), Amazon EC2, AWS NLB, AWS IAM, AWS ALBPython Developer
2018 - 2018Obkio- Reworked an existing codebase for a WebSocket server architecture in order to make it infinitely scalable.
- Added scalable publish/subscribe support using Redis.
- Added a PostgreSQL exporter in order to archive data living in Redis.
- Added Python typing to the project and added type checking to the CD infrastructure.
- Added functional tests using Bitbucket pipelines and docker.
- Implemented asynchronous unit tests for the project.
Technologies: Continuous Integration (CI), PostgreSQL, Continuous Delivery (CD), SQL, Python Asyncio, Google Cloud Platform (GCP), Git, Python, Linux, Bitbucket, Docker, Redis, WebSockets, Asyncio, Python 3Infrastructure Engineer/Back-end Developer
2017 - 2018Caravan- Developed CI/CD automation using Docker, Swarm, Kubernetes, and CircleCI.
- Developed a Python module that allows a Django project to use different backends to store configuration data (https://github.com/caravancoop/configstore).
- Migrated a 'snowflake' deployment of Kafka to a full infrastructure as a service deployment using Terraform and Docker.
Technologies: Continuous Integration (CI), Google Cloud, Continuous Delivery (CD), SQL, Python 3, Google Cloud Platform (GCP), Git, Apache, Linux, Amazon Web Services (AWS), Apache Kafka, Apache ZooKeeper, Terraform, Node.js, Angular, Flask, Django, Python, CircleCI, Kubernetes, Docker Swarm, Docker, HTTPProduction Engineer
2015 - 2017Facebook- Worked on the automation of the setup and maintenance of thousands of phones to run tests on the Facebook family of apps (see https://techcrunch.com/2016/07/13/facebook-lifts-the-veil-on-its-mobile-device-lab/).
- Re-wrote the Python software stack that allowed us to monitor the state of the phones in the datacenter.
- Added automation to turn up mobile device racks (Python).
- Created a tool that allowed to script the configuration of iPhones using WebDriver and Python.
- Helped automate the management of a fleet of more than 2000 Mac minis (using Chef).
- Acted as the team lead for the mobile lab: led a team of three other engineers working on the mobile lab, providing guidance, code review, and setting priorities.
Technologies: Test-driven Development (TDD), SQL, Python 3, Linux, Android, iOS, MacOS, CentOS, Chef, Asyncio, PythonPython Developer
2014 - 2015Caravan Web Worker Coopérative- Developed an API to federate three other APIs into one using Django, Django REST framework, Memcache, and Google Cloud.
- Managed two other developers working on the same federated API project.
- Developed data ingestion scripts in Python that allowed importing old data into the customers CRM.
Technologies: Test-driven Development (TDD), Google Cloud, SQL, Git, Apache, Linux, Memcached, Google Cloud SQL, Google Cloud Platform (GCP), Django REST Framework, Flask, Django, PythonLinux Systems Administrator
2013 - 2013Fibrenoire- Helped create their highly available VOIP platform.
- Implemented puppet configuration management. Used puppet to manage the configuration of around 10 servers.
- Created a tool to automate provisioning of the customer premise equipments using Python.
- Implement monitoring using Zabbix. Used Zabbix to monitor around 10 servers.
Technologies: SQL, Google Cloud Platform (GCP), Git, Apache, Linux, Python, Lua, Cisco, OpenSIPs, FreeSWITCHUnix/Linux Administrator
2012 - 2013Ubisoft- Implemented a high availability Mysql platform using MySQL and Pacemaker serving more than 300,000 concurrent users.
- Helped implement the company-wide Zabbix deployment.
- Was oncall for the whole Mysql deployment serving online games.
Technologies: SQL, Linux, Zabbix, Percona, Pacemaker, MySQLTechnology Director
2008 - 2012Ubity- Helped create and operate a hosted VoIP service. This involved designing, implementing, and scaling the Asterisk infrastructure supporting the service.
- Created a tool to provision new phones using Python and MySQL. This tool would use customer data to generate the provisioning files for any type of phone and serve it over HTTP.
- Helped in the customer support rotation. This involved answering customer requests and troubleshooting problems over the phone or through our ticketing system.
- Set up new customers' equipment. This would involve going to a customer's location and installing network equipment and the phones.
- Made the VoIP setup high available by sharing the data needed by each server among all of them using GlusterFS and MySQL.
- Used BGP and route engineering to make the internet connectivity at the datacenter fully redundant.
- Led a team of five people responsible for operations, infrastructure, and support. Helped define the infrastructure and made sure it was implemented correctly. Helped support on the higher-level cases.
Technologies: SQL, Git, Apache, Linux, Python, MySQL, GlusterFS, SIP, Tomato, VoIP, AsteriskFree Software Consultant
2007 - 2007Savoir faire Linux- Supported customers on the phone for various problems related to the operation of their servers.
- Helped customers scale their web infrastructure to support their load.
- Created a small distribution for workstation thin clients.
Technologies: SQL, Git, MySQL, Linux, Exim4, Postfix, Samba, Apache, JBoss, Apache TomcatSystem Administrator
2007 - 2007Linagora- Created an automated installer to bring up the developer workstations for SAGEM.
- Figured out how to automate joining the active directory domain for the workstations.
- Automated developer environment setup for the workstations on first login.
Technologies: SQL, Linux, OpenLDAP, Samba, Kerberos, Debian, InstallationEngineer
2004 - 2007Capensis- Automated server installation and configuration by writing a Perl application.
- Created custom solutions for customers (mail servers, filtering proxies, web servers, etc).
- Supported customers on the phone to help solve problems with their servers.
Technologies: SQL, MySQL, Linux, OpenLDAP, Samba, Dovecot, Apache, Postfix, Python, Perl, Debian Linux