DevOps Engineer2020 - 2021Crabel Capital Management
Technologies: Jenkins, Jenkins Pipeline, Artifactory, GitHub, GitHub API, Jira REST API, Python 3, TypeScript, Bash Script, Ansible
- 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.
DevOps Engineer2019 - 2020Max2, Inc. (via Toptal)
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 ECS (Amazon Elastic Container Service), Amazon EC2 (Amazon Elastic Compute Cloud), AWS NLB, AWS IAM, AWS, AWS ALB
- Contributed to migration from chef 12 to chef 14.
- 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 ELK stack to Datadog.
- Migrated the existing terraform workflow to an easier to maintain terragrunt/terraform workflow.
Python Developer2018 - 2018Obkio
Technologies: Continuous Integration (CI), PostgreSQL, Continuous Delivery (CD), SQL, Python Asyncio, Google Cloud Platform (GCP), Git, Python, Linux, Bitbucket, Docker, Redis, WebSockets, Asyncio, Python 3
- Reworked an existing codebase for a WebSocket server architecture in order to make it infinitely scalable.
- Added scalable pub/sub 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 async unit tests for the project.
Infrastructure Engineer/Back-end Developer2017 - 2018Caravan
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, AWS, Node.js, Angular, Flask, Django, Python, CircleCI, Kubernetes, Docker Swarm, Docker
- 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.
Production Engineer2015 - 2017
Technologies: Test-driven Development (TDD), SQL, Python 3, Linux, Android, iOS, MacOS, CentOS, Chef, Asyncio, Python
- 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.
Python Developer2014 - 2015Caravan Web Worker Coopérative
Technologies: Test-driven Development (TDD), Google Cloud, SQL, Git, Apache, Linux, Memcached, Google Cloud SQL, Google Cloud Platform (GCP), Django REST Framework, Flask, Django, Python
- 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.
Linux Systems Administrator2013 - 2013Fibrenoire
Technologies: SQL, Google Cloud Platform (GCP), Git, Apache, Linux, Python, Lua, Cisco, OpenSIPs, FreeSWITCH
- Helped create their highly available VOIP platform.
- Implemented puppet configuration management.
- Created a tool to automate provisioning of the customer premise equipments using Python.
- Implement monitoring using Zabbix.
Unix/Linux Administrator2012 - 2013Ubisoft
Technologies: SQL, Linux, Zabbix, Percona, Pacemaker, MySQL
- Implemented a high availability Mysql platform using MySQL and Pacemaker serving more than 300,000 concurrent users.
- Helped implement the company-wide Zabbix deployment.
Technology Director2008 - 2012Ubity
Technologies: SQL, Git, Apache, Linux, Python, MySQL, GlusterFS, SIP, Tomato, VoIP, Asterisk
- 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.
Free Software Consultant2007 - 2007Savoir faire Linux
Technologies: SQL, Git, MySQL, Linux, Exim4, Postfix, Samba, Apache, JBoss, Apache Tomcat
- 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.
System Administrator2007 - 2007Linagora
Technologies: SQL, Linux, OpenLDAP, Samba, Kerberos, Debian, Installation
- Created an automated installer to bring up the developer workstations for SAGEM.
Engineer2004 - 2007Capensis
Technologies: SQL, MySQL, Linux, OpenLDAP, Samba, Dovecot, Apache, Postfix, Python, Perl, Debian Linux
- Automated server installation and configuration by writing a Perl application.
- Created custom solutions for customers (mail servers, filtering proxies, web servers, etc).