I build software by passion, and I’ve been doing it professionally for the past 15 years.
I like clean code - like for example using contract programming in ruby. But by “building” I mean more than just to write code. I like to participate to product design as well as managing production environments. I like to work from infrastructure to unit testing, from development workflow to code reviews.
During those years, I have been involved in many different projects, web, mobile, embedded software, infrastructure. It allowed me to use various languages, different technologies and platforms.
Aug. 2019 -
Since mid-august 2019 I’m a software engineer at Docker and more precisely in Developer Solution Group, responsible of Docker for Mac/Win,
Aug. 2016 - July 2019
For the past 3 years I have been leading the development of SquareScale. As I started to work for SquareScale before the company was created I fully participated to create the company, the teams, the way we work (remotely).
SquareScale is what we can call Cloud Native Infrastructure as a Service. In just a couple of minutes, a dedicated, provisioned on demand and fully configured infrastructure is created. The development team can then deploy its application made of containers.
The created infrastructure provides a container orchestrator, a Continuous Integration and Continuous Deployment workflow, load balancing, databases. All of that within an easy to use graphical interface and a Command Line Interface.
I’ve made a talk about a definition of Cloud Native that can help to understand why we need Cloud Native infrastructures.
The applications are mainly written using
Ruby on Rails or
Go. They are run as
Docker containers or as serverless functions using
The core infrastructure is based on
Traefik and configured with
I presented some of our choices at Snowcamp `19: “Hashistack: orchestrate Cloud Native application with ease”.
As the first employee, I’m also involved in non technical aspects, like production management, development methods and workflows.
SquareScale has been created as a full remote and distributed company. No office, everybody working remotely, with the team in France and Canada.
I’ve presented a conference on this particular topic at DevoxxFR `18 “When I grow up, I’ll build a full remote team”.
SquareScale has been accepted in different programs:
- Station F
- AWS Activate
- Notman House (Montreal) and Google for Entrepreneurs
- DigitalOcean startup program (Hatch)
- HPE startup program
- Vivatech (2018 and 2019)
My involvement in SquareScale is also visible in the many talks I’ve given, in order to share what I have learned:
- “Consul Connect”
- “Cloud Native: behind buzzwords, the cloud”
- “Hashistack: orchestrate Cloud Native application with ease”
- “When I grow up, I’ll create a full remote team!”
- “Application metrics with prometheus and grafana”
- “mgmt: next generation config management”
- “Docker Multi Stage Builds”
- “Containers from scratch”
- “Practical introduction to CoreOS and Terraform - for the developer”
Feb. 2016 - Aug. 2016, via Sogilis
Enlaps is an online solution that allows to create time lapses from a set of photos, with or without a dedicated camera, tikee.
During more than 6 months I have led the development of the online platform to generate, visualize and publish time lapses. I have been involved on software aspects - architecture, development, quality - as well as on the infrastructure.
The platform is built on a
Ruby on Rails application. Several
Go services and serverless functions using
AWS Lambda are running around the Rails application.
The infrastructure is managed by
Terraform and all the services are running as
Some of our work around serverless functions has been presented in a conference “Serverless: transition from monolith to distributed” at Snowcamp and MiXiT.
I’ve spoken about our usage of contract programming in Ruby at a HumanTalk.
Oct. 2014 - Feb. 2016, via Sogilis
During one and a half year, I’ve designed, architectured and developed the mobile applications of Hexo+ for iOS and Android.
Those mobile applications are built around two very strong characteristics:
- they are based on a scheduler, like embedded software
- the core of the application is fully multi-platform and identical for both iOS and Android
To allow iOS and Android application to have the exact same behavior, I’ve imagined an architecture based on a unique core, common to both platforms. It has been done in
C++, decoupled from graphical interfaces and sensors. Thus the same logic is embedded in all applications. Then we can add specific layers to handle hardware (accelerometer, GPS, etc) and graphical interfaces.
I worked mainly on application core (
Android NDK) and Android version (
Java). I sometimes worked on iOS layers (
swift) and embedded software (
Squadrone had an amazing success on kickstarter, raising $1.3M! After the kickstarter, 3000 Hexo+ has been delivered, with the mobile application.
Here is a video about the collaboration between Sogilis and Squadrone System.
Several years after, the architecture I designed is still the one used for Squadrone’s mobile applications.