Émile Trotignon

Resume

Download this in pdf format, or in French.

I am a passionate dev with wide interests and a focus in functional programming. I like clean code, powerful abstractions, and APIs that force you to do the right thing.

I have made extensive contributions to the OCaml ecosystem, see my software page.

Formation

ENS Paris-Saclay

2022

Masters in Computer Science Research (MPRI)

ENS Paris-Saclay

2020

Bachelor in Computer Science

Experience

Ahrefs - Software Engineer

Remote, 2024 - present

Worked on internal tooling. Made a linter for OCaml code that allows writing custom rules, and has an LSP server.

Grafana charts to observe executable file sizes and other metrics, refactoring of the CI deployment system (buildkite).

Wrote a URL parser/printer to prevent Server-Side Request Forgery attacks. Contributed to a syntax extension for type-safe clickhouse queries. Slack bot integrating with Github and Buildkite.

Tarides - Software Engineer

Paris, France, 2022 - 2024

Open-source software development: contribution to the tools of the OCaml platform: odoc, ocamlformat, dune. Search bar in odoc: contributions from the CSS to the search algorithms. Coordination and integration of the feature with the dune build system.

Internships

OCamlpro, team Flambda - Research internship in computer science

Paris, France, Spring 2022

4.5-month internship tutored by Vincent Laviron and Pierre Chambart. Generalization of recursive tail-call optimisation modulo constructors. Report.

Inria Paris, team Cambium - Research internship in computer science

Paris, France, Spring 2021

Five-month internship tutored by François Pottier. Improvements to the code generated by Menhir, the LR(1) parser generator for OCaml : Typing with GADTs for increased safety, allowing bolder optimisations. The number of allocations was divided by 4, and the speed increased by 10%, across various grammars.

LIRIS laboratory - Research internship in computational geometry

Lyon, France, Summer 2020

Six-week internship tutored by David Coeurjolly and Vincent Nivoliers. My goal during this internship was to uniformly sample the surface of a potentially imperfect mesh. Implementation in C++ with Polyscope and LIBIGL. Report (French).

Junior enterprise of ENS Paris-Saclay - Fullstack Node.js developer

Remote, March 2020

Six-week mission for the junior enterprise of ENS Paris-Saclay. Website development of a freelancing platform. The stack was Node.js, Express.js, and MongoDB. Parsed LinkedIn resumes in PDF format to auto-fill the resume form.

Eternix Ltd. - Intern C# developer

Tel Aviv, Israel, Summer 2019

Two-month internship. HLSL shaders, introduction to DirectX and OpenCV, Windows Form development. Greatly rewarding experience abroad.

ENSSIB - Front end developer

Lyon, France, July 2018

Graphical integration of the French school for library curators' website: enssib.fr