Antoine Reversat, Developer in Montreal, QC, Canada
Antoine is available for hire
Hire Antoine

Antoine Reversat

Verified Expert  in Engineering

Software Developer

Location
Montreal, QC, Canada
Toptal Member Since
September 10, 2018

Antoine has been a Linux systems administrator and a Python developer since 2008. He has a wide-ranging set of skills, from VoIP to testing automation, and has worked for several big companies (Ubisoft, Facebook) and several smaller ones. Antoine loves to dive deep into the intricacies of a system in order to troubleshoot performance issues or complicated bugs.

Portfolio

PERRY PRO TECH, INC.
Apache, Ubuntu, Networking, SSL Certificates, SSL Configurations, Python 3...
Meta
Python 3, Rust, DevOps Engineer, Apache Spark
Trust & Safety Laboratory Inc.
DevOps, Amazon Web Services (AWS), Docker, Python...

Experience

Availability

Part-time

Preferred Environment

Google Cloud, CircleCI, GitHub, Linux, Vi, Visual Studio Code (VS Code)

The most amazing...

...project I've worked on was the automation of the configuration of the iPhone through the use of WebDriver and Python.

Work Experience

Apache Specialist via Toptal

2023 - 2024
PERRY PRO TECH, INC.
  • Created certificate requests for several SSL certificates.
  • Configured Apache as an SSL-offloading reverse proxy to a 3rd-party application.
  • Wrote a Python script to import timecard data from a 3rd-party API into a local SQL server using requests and pyodbc, a Python open-source module.
Technologies: Apache, Ubuntu, Networking, SSL Certificates, SSL Configurations, Python 3, ODBC, APIs

Production Engineer

2021 - 2023
Meta
  • Helped develop a tool that ensures that one of the tools that flag 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 data centers.
  • Debugged out-of-memory issues with very complex queries in Spark, changing the query order to make some joins less memory-intensive.
Technologies: Python 3, Rust, DevOps Engineer, Apache Spark

DevOps Engineer

2021 - 2021
Trust & Safety Laboratory Inc.
  • Automated the CI/CD pipeline to continuously deploy the staging environment and mark a release to be deployed in production using GitHub Actions and Amazon EKS.
  • Created a tool to extract text from rotated images and submit them for analysis using Python, Amazon SQS, and S3.
  • Developed Bazel rules to simplify making Docker images from code in the main repository.
Technologies: DevOps, Amazon Web Services (AWS), Docker, Python, Amazon Simple Queue Service (SQS), Amazon Simple Notification Service (Amazon SNS), Amazon EKS, Kubernetes, Data Pipelines, Amazon S3 (AWS S3), GitHub, Bazel, CI/CD Pipelines, DevOps Engineer, AWS CLI, AWS SDK, Ubuntu

DevOps Engineer

2020 - 2021
Crabel Capital Management
  • 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 different tools written in Python and Bash and coordination with the teams to avoid 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, Ansible, DevOps Engineer

DevOps Engineer

2019 - 2020
Veea, inc
  • Contributed to the 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 the Elastic stack to Datadog. Moved a 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 ALB, DevOps Engineer, AWS CLI, AWS SDK, Apache Spark

Python Developer

2018 - 2018
Obkio
  • 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 3, AWS CLI, Ubuntu, SSL Certificates, SSL Configurations, Amazon EC2

Infrastructure Engineer and Back-end Developer

2017 - 2018
Caravan
  • Developed CI/CD automation using Docker, Swarm, Kubernetes, and CircleCI.
  • Built a Python module that allows a Django project to use different back ends to store configuration data: 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, HTTP, Ubuntu, SSL Certificates, SSL Configurations, Amazon EC2

Production Engineer

2015 - 2017
Facebook
  • Worked on the automation of the setup and maintenance of thousands of phones to run tests on the Facebook family of apps: techcrunch.com/2016/07/13/facebook-lifts-the-veil-on-its-mobile-device-lab/.
  • Rewrote the Python software stack that allowed us to monitor the state of the phones in the data center.
  • Added automation using Python to turn up mobile device racks.
  • Created a tool that allowed scripting the configuration of iPhones using WebDriver and Python.
  • Helped automate the management of a fleet of more than 2,000 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, Python, DevOps Engineer

Python Developer

2014 - 2015
Caravan Web Worker Coopérative
  • Developed an API to federate three other APIs into one using Django, Django REST framework, Memcached, 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 customer's 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, Python, Ubuntu, SSL Certificates, SSL Configurations

Linux Systems Administrator

2013 - 2013
Fibrenoire
  • Helped create the company's highly available VoIP platform.
  • Implemented Puppet configuration management. Used Puppet to manage the configuration of around ten servers.
  • Created a tool to automate the provisioning of customer-premise equipment using Python.
  • Implemented monitoring using Zabbix. Used Zabbix to monitor around ten servers.
Technologies: SQL, Google Cloud Platform (GCP), Git, Apache, Linux, Python, Lua, Cisco, OpenSIPs, FreeSWITCH, Ubuntu, SSL Certificates, SSL Configurations

Unix/Linux Administrator

2012 - 2013
Ubisoft
  • Implemented a high-availability MySQL platform using MySQL and Pacemaker. The platform serves more than 300,000 concurrent users.
  • Helped implement the company-wide Zabbix deployment.
  • Was on call for the whole MySQL deployment serving online games.
Technologies: SQL, Linux, Zabbix, Percona, Pacemaker, MySQL

Technology Director

2008 - 2012
Ubity
  • 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 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 phones.
  • Made the VoIP setup highly available by sharing the data needed by each server 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 the support team with higher-level cases.
Technologies: SQL, Git, Apache, Linux, Python, MySQL, GlusterFS, SIP, Tomato, VoIP, Asterisk, Ubuntu, SSL Certificates, SSL Configurations

Software Consultant

2007 - 2007
Savoir faire Linux
  • Supported customers on the phone with various problems related to the operation of their servers.
  • Helped customers scale their web infrastructure to support their load.
  • Created a small distribution for thin workstation clients.
Technologies: SQL, Git, MySQL, Linux, Exim4, Postfix, Samba, Apache, JBoss, Apache Tomcat, Ubuntu, SSL Certificates, SSL Configurations

System Administrator

2007 - 2007
Linagora
  • 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 a developer environment setup for the workstations on the first login.
Technologies: SQL, Linux, OpenLDAP, Samba, Kerberos, Debian, Installation, Ubuntu, SSL Certificates, SSL Configurations

Engineer

2004 - 2007
Capensis
  • 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, Ubuntu, SSL Certificates, SSL Configurations

Configstore

https://github.com/caravancoop/configstore
Configstore is a Python module meant to be used with Django that allows it to store configuration items in different back-end environments (environment variables, Docker secrets, dotenv file, AWS SSM, etc.).

Contributed to the Linux Kernel

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.19-rc2&id=e3cb78c772de593afa720687ce3abbed8d93b0c3
Contributed a bug fix to the Linux kernel. This fixed a bug where using 802.1Q VLANs on certain hardware would completely corrupt the packets it was sending. I had to dig deep into the kernel code to determine what was happening.

Added Support for IT8688 to Open Hardware Monitor

https://github.com/openhardwaremonitor/openhardwaremonitor/pull/1157
I added support for the IT8688 chip to Open Hardware Monitor by reverse-engineering the official Gigabyte utility for hardware monitoring. This project involved reverse-engineering a C# application and debugging it with symbols exported from JetBrains dotPeek to Visual Studio 2017.

Mobile Device Lab at the Prineville Data Center

https://code.fb.com/android/the-mobile-device-lab-at-the-prineville-data-center/
Wrote an article about what I did at Facebook. This was then used as a basis for several articles online (TechCrunch, the Verge, etc.). The article details how we tested different mobile applications on actual phones at the scale of Facebook.

libimobiledevice Library

https://github.com/libimobiledevice/libimobiledevice
Contributed some patches to libimobiledevice, a library that allows interaction with iPhones, iPads, etc. I fixed a few bugs and added some missing functionality. Most of these were discovered while working on the mobile lab for Facebook.

Unreal Engine Plugin

https://www.unrealengine.com/marketplace/en-US/product/38b887ee46ef471ebdb93d8cfb2ad96a
Developed an Unreal Engine plugin that allows using a live screen capture as a source for a MediaTexture. This allows people to use a live capture of their desktop as an in-game texture. It is mostly useful in VR applications as it provides a live view of the screen in the VR environment.

Languages

Python, Python 3, Java, JavaScript, SQL, Lua, Rust, Perl, TypeScript, Bash Script, Ruby, Swift, C, C++, C#

Frameworks

Django, Django REST Framework, Flask, Unreal Engine 4, Angular, OpenSIPs, Unreal Engine, Apache Spark, SmartStack

Libraries/APIs

Python Asyncio, Jenkins Pipeline, REST APIs, Terragrunt, Asyncio, Node.js, OpenLDAP, GitHub API, Jira REST API, Windows API, ODBC

Tools

Terraform, NGINX, Apache, Git, Jenkins, Artifactory, Amazon Elastic Container Service (Amazon ECS), Google Stackdriver, Docker Swarm, CircleCI, Android Studio, Puppet, Chef, SaltStack, Ansible, Asterisk, FreeSWITCH, Apache ZooKeeper, AWS CLI, AWS SDK, GitHub, Pacemaker, Zabbix, Apache Tomcat, Postfix, Exim4, Tomato, Bitbucket, AWS IAM, Amazon Simple Queue Service (SQS), Amazon Simple Notification Service (Amazon SNS), Amazon EKS, Bazel, Visual Studio, JetBrains

Paradigms

DevOps, Mobile Development, Test-driven Development (TDD), Continuous Delivery (CD), Continuous Integration (CI), Samba

Platforms

Kubernetes, Docker, Android, Linux, Google Cloud Platform (GCP), Ubuntu, iOS, MacOS, Amazon Web Services (AWS), Spinnaker, DigitalOcean, Percona, CentOS, JBoss, Debian Linux, Debian, AWS ALB, AWS NLB, Amazon EC2, Apache Kafka, Visual Studio Code (VS Code)

Storage

MySQL, Google Cloud SQL, Google Cloud, PostgreSQL, Memcached, Redis, GlusterFS, Elasticsearch, MongoDB, Data Pipelines, Amazon S3 (AWS S3)

Other

Vi, Session Initiation Protocol (SIP), Mobile App Development, DevOps Engineer, GitHub Actions, SSL Certificates, Web Applications, Linux Server Administration, CI/CD Pipelines, HTTP, Autoscaling, WebSockets, SSL Configurations, Web Server Gateway Interface (WSGI), Cisco, Dovecot, Installation, Kerberos, VoIP, SIP, Networking, Business, System Administration, Reverse Engineering, Unreal Engine 5, Pulumi, APIs

2004 - 2007

Engineering Degree in Telecommunications and Networks

TELECOM Lille - Lille, France

2002 - 2004

Two-year Degree in Telecommunications and Networks

Institut Universitaire de Technologie de Béthune - Bethune, France

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring