Software Engineer: In search

Adjunct Researcher, CSRC

About Me

A happy geek: I love learning new skills and enjoy building large systems, almost just for the sake of it. Software Engineer with experience in all levels of projects, including design and architecture, development and test, and the setup of reliable production. Skilled at writing well designed low-level system programs using best practices in Go, C, C++. Fast learner, hard worker, and team player with flexibility using various tools. Dedicated to streamlining processes and efficiently resolving project issues in hand using the most adapted technology.

After graduating from Télécom ParisTech in 2016, I worked three years in Korea as a Software Security Researcher. This gave me the opportunity to develop my ability to understand and solve abstract problems. I work one year on a project enhancing the Linux Kernel security before pivoting to fuzzing. I always pushed for my project to have high quality prototypes. Recently, one of my project was merged into the LLVM project, one of the largest C++ code bases, and heavily relied on by Google. At the end of 2019 I returned to France and worked at PacketAI, a young startup, to build a cloud monitoring platform: I was in charge of the agent producing data, and all the microservices treating it before handing either the UI or the ML services.

“As the sun does not wait for prayers and incantations to be induced to rise, but immediately shines and is saluted by all, so do you also not wait for clappings of hands and shouts praise to be induced to do good, but be a doer of good voluntarily and you will be beloved as much as the sun.” Epictetus

Interests

  • Software Engineering
  • Machine Learning
  • Software Security

Education

  • Master in Computer Science, 2016

    Télécom ParisTech

  • Preparatory School in Physics and Chemestry, 2013

    Lycée Lakanal

Skills

golang

Go

Expert

c

C/C++

Strong

Docker

Expert

Python

Strong

elasticsearch

Elasticsearch

Strong

AWS

Intermediary

Experience

 
 
 
 
 

Software Engineer

In search

Aug 2020 – Present Paris, France
 
 
 
 
 

Software Engineer

PacketAI

Jan 2020 – Jul 2020 Paris, France

PacketAI aims to develop an IT infrastructure monitoring platform, similar to Datadog and Dynatrace, but equipped with Machine Learning to predict incidents in advance and locate their root cause.

I started when PacketAI had just received its seed funding, with only two other developers. I was able to quickly get a grasp on their stack, and within days of my arrival, I started adding new features to the agent, a software running on the client hosts collecting events and metrics. I designed and developed from scratch all PacketAI microservices, all in Go, plus a Logstash node.

  • PacketAI product is based on the ELK stack: The Beats to produce data and Logstash to transform and forward it to ElasticSearch.
  • Data is streamed using Kafka pipes.
  • Communication between microservices using REST APIs.
  • Many tools or test environments are deployed with docker-compose. I was involved in the development of the CI/CD pipelines of our Go projects on GitLab.
  • Scrum method used based on Trello and GitLab.
  • Mentored the integration of an intern to the team.
 
 
 
 
 

Software Security Researcher

CSRC - KAIST

Oct 2016 – Dec 2019 Daejeon, Korea

CSRC is a publicly-funded research center within KAIST university. I was free to define the problems I worked on, and figure potential solutions, then develop and design their implementation, and finally test and evaluate these prototypes. This experience allowed me to demonstrate my abstraction ability: find solutions based on principles.

I also made full use of my engineering mind: I completed three large projects. First, a modification of the code of Linux Kernel memory allocation for Drivers (in C). Second, an improvement of the dynamic testing tool of LLVM, a compiler infrastructure project written in C++. This project was merged into the mainline by a team at Google. And lastly, Ankou, my largest project, is a fuzzer I developed from scratch in Go. Ankou found more than a thousand unique crashes in open source projects.

  • At CSRC collaboration was done using Slack and Gitlab. Most notably our survey involved seven members. All contributions made via merge requests.
  • Experiments setup in Docker containers to be reproducible and scalable to multiple servers. Command-line tools are invaluable: htop, grep, find, etc…
  • Ankou (described below), I started as an investigation on the usage of machine learning techniques to improve fuzzers bug finding ability. For this, standard python libraries were used: Keras, TensorFlow, Numpy, Pandas. The two parts of the project, in Go and Python, were communicating via RabbitMQ.

Publications