About Me

👋 Hi I’m Valentin. Curiosity, backed by a capacity to learn at record speed. This is where I get my drive from. Being curious is my nature and swift learning my weapon of mass productivity:

  • 🐉 Knowing nothing of fuzzing in 2018, 2 years later I published the most cited survey of the fields, and I merged code into the most widely used fuzzer, LibFuzzer. This new algorithm was tested, approved and deployed in the largest fuzzing cluster: OSS-Fuzz (run by Google).
  • 🏦 Coming from research, I knew nothing of classical “back-end engineering”. After 6 months at Qonto, I discover and solved a bug causing a 50k€ loss per month. Their infrastructure has a Ruby plus SQL stack, two languages I had no prior experience with.
  • 🤖 In 6 months, I created the foundation of the data engineering of PacketAI’s cloud monitoring system using a stack based on Kafka and Elasticsearch. Again, I was not familiar with this field and its tools.

Just-in-time learning feels like a super power. It’s the meta-skill. You get in front of the problem you don’t know anything about, you search and learn, and suddenly you have a solution.

Learning is about creating mental models. Simplify, remove the noise and get to the essential: How can I get 95% of the output with only 5% of the effort.

“The most important trick to be happy is to realize that happiness is a choice that you make." — Naval Ravikant

Interests

  • Software Engineering
  • Software Security
  • Finance
  • Marketing

Education

  • Master in Computer Science, 2016

    Télécom ParisTech

  • Preparatory School in Physics and Chemestry, 2013

    Lycée Lakanal

Experience

 
 
 
 
 

Backend Engineer

Violet

Jan 2022 – Present Paris, France
Violet intends to build an on-chain identity compliance solution. The first application would be to enable traditional institutions to participate in the DeFi lending markets.
 
 
 
 
 

Software Engineer

Qonto

Aug 2020 – Apr 2021 Paris, France

Qonto is a European neobank for professionals. To improve a higher quality of service for its clients, in 2018 it developed its own “Core Banking System”, meaning that it maintains itself all its clients' accounts and process all their transactions. (Beforehand it was relying on an external partner to do so.) At Qonto, I was part of the Ledger team, which maintains the “source of truth” for all accounts and their transactions. These micro-services were implemented using a Go plus PostgreSQL stack. Moreover, I did multiple interventions to improve and maintain Qonto’s billing system which is implemented using Ruby on Rails.

Qonto uses an advanced micro-service architecture with over 80 services (and counting!) being continuously deployed relying on Gitlab, Kubernetes and Argo CD.

 
 
 
 
 

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