Software developer based in Paris, France
Email / Website / LinkedIn / GitHub / Twitter
📅 Principal Engineer @ Snapshift (Nov 2019 - Present)
Moved back to an individual contributor position with a focus on things impacting the whole organisation and also going back to the day to day development of the platform as part of a team focused on foundation and scaling.
- Implement solutions to benefit the whole organisation.
- Started the process of setting up a new tool for the customer success team to scale the care of customers.
- Lead a cross company OKR regarding a pricing migration.
- Started working on the unbundling of our monolith Rails application towards microservices.
CTO @ Snapshift (Jan 2017 – Nov 2019)
As the first CTO, I worked on scaling the engineering team, the product itself and the company.
- Scaled the product team by increasing from one part time employee to 9 developers (4 in the backend and 5 in the frontend), a UX/UI designer and a product manager
- Planned the roadmap with the help of the main stakeholders, namely the CEO and the heads of Customer Success and Sales teams.
- Continued creating and scaling internal tools to improve developer productivity.
- Worked in association with the customer success team to provide better overall experience of the product.
Product Engineer @ Snapshift (Nov 2016 – Jan 2017)
As the first full time engineer, started moving the application from a MVP to a fully fledged product.
- Set up infrastructure to allow going from MVP to quickly implement features for clients.
- Fully migrate from a Rails app with static pages to a full API consumed by a React frontend application.
- Started modernising the mobile application.
- Creation of internal tools to simplify developer experience.
📱 Software Engineer @ FollowAnalytics (Oct 2015 - Nov 2016)
FollowAnalytics is "The Most Complete Mobile Marketing Automation Solution".
Working in the Backend team, my responsibilities included creating a Docker-ized version of the platform to be used locally, on-boarding new members of the team, implementing and keeping up to date the different APIs and services of the platform.
More precisely, I worked on:
- Creating a public Gem (Ruby Library) consuming one of our service's API, both for public and private applications.
- Docker-ized the different services of our platform allowing us to use them locally during development, with the help of our SRE.
- Used those to create a new on boarding process that was updated with the arrival of new team members.
- Helped the conception of a customer segmentation feature using data sent by customers from their CMS or through our APIs.
- Worked on a real time data aggregation pipeline using AWS Lambda and AWS Kinesis Firehose.
- Helped the early conception of a real time data pipeline using Apache Kafka and written in Elixir.
🧘♀️ Product Engineer @ CoursAvenue, (Sep 2014 - Oct 2015)
CoursAvenue is an innovative web platform to book any kind of classes at the best prices.
Working with the CTO, my responsibilities included creating and maintaining tools for teachers to better connect with their student and to manage their classes and improving the leisure class search experience by creating a location aware search engine.
On a more technical aspect, I particularly worked on:
- Created a newsletter sending platform integrated with the teacher’s plannings using as a full Backbone.js application
- Implemented the new CoursAvenue search page using Facebook’s React library, Mapbox and Algolia
- Refactored backend code and improved code coverage by 50% in anticipation of a redesign of the website, using Rspec and Capybara
- Added continuous integration using CircleCI for tests and HoundCI for code guidelines
- Implemented teacher subscriptions and student one time payments using Stripe
On my free time, I've also worked on libraries and plugins as solutions to problems I've found in my day to day job:
- Tablature, to manage PostgreSQL partitions through Rails's ActiveRecord.
as_range
, to remove boilerplate of working with objects representing ranges.
Also on my free time, I've been working on sharing what I learn. Notable articles are:
- Using named captures to extract information from Strings (Ruby)
- Overriding inspect (Ruby)
- Using Rails's Attributes API to serialize Value Objects (Rails)
- Postgres timestamp ranges in Ecto (Elixir, Ecto)
Epitech - European Institute of Technology Master of Science (MS), Computer Science
Paris, France (2012 - 2015)
DUT Informatique Bachelor's Degree, Computer Science
Dijon, France (2010 - 2012)