Detail-oriented and self-motivated Software Engineer based in London.
Proficient in particular in Rust and Python.
Employment
Apr. 2024 - Now Software Engineer, Rothesay, London: developer tools (“StratOS”) team for Quants/Strats
- Responsibilities: create Cloud-based systems to replace Goldman Sachs (GS) proprietary systems, develop tools for quants
- Developed a distributed compute system on AWS from the ground up, replacing a GS system.
- Considered off-the-shelf solutions using e.g. Slurm, AWS Batch/ECS. They did not meet stringent security and confidentiality requirements (e.g. authentication, PII) as well as latency (<100ms to start tasks) and throughput (peaks of 10k+ jobs submitted per second) requirements. As a result, we went for a semi-custom solution
- Integrated into existing UIs and took into account feedback from users (quants)
- Wrote scripts to pin down external package versions across multiple Conda environments, to ensure consistency
- Configured Cloud-based, ephemeral Linux containers as development environments (Gitpod/Ona with PyCharm).
- Delivered a “battery-included” experience for the main quants workflows, working with the infrastructure team to pre-install on the corporate fleet
- Regularly worked to improve CI pipelines success rate and build time (e.g. with smart, minimal dependencies)
- Engineering support for end of day risk calculation and business hours CI pipelines
✓ Python, Conda, Rust, AWS (EC2, MemoryDB, CloudWatch), SecDB, Gitpod/Ona, TeamCity
Jun. 2022 - Feb. 2024 Software Engineer L4, Paxos, London: Brokerage team
- Responsibilities: design and delivery of a smart order routing system from the ground up, adapting to the quickly evolving requirements of crypto markets
- Designed the smart order router in a team of three using Go and Rust micro-services
- Wrote a connector service to internal and external market-places for order execution
- Drove performance improvements by:
- Load-testing a production-like system while analyzing metrics and resource usage of the key components
- Using results to tune SQL indices, RabbitMQ parameters and calls to accounting services developed by other teams
- Lead cross-team initiatives to spread Rust knowledge and best practices — in particular to catch logical errors at compile time by leveraging the type system
- Engineering support for customer-facing trading-systems, from REST & FIX APIs to the order-matching engine
✓ Rust, Go, Python, AWS, Postgres, Microservices, Protocol Buffer, RabbitMQ
Sep. 2020 - Jun. 2022 Software Engineer, Cloudflare, London: Distributed Denial of Service (DDoS) protection team
- Responsibilities: maintain and improve automated mitigation systems against DoS attacks, answer customer queries
- Redesigned with a colleague the data pipeline to display network analytics to customers. It involved mainly data extraction using eBPF, efficient and performant storage in ClickHouse and a public facing GraphQL API
- Extended and automated data extraction for public reports like “Network-layer DDoS attack trends for Q4 2020”
- Optimized directly-written eBPF assembly, C code, ClickHouse tables and materialized views
- Troubleshooted, fixed bugs and extended the Gatebot Python codebase
- Co-authored the blog post “How we built Network Analytics v2”
✓ C, eBPF, XDP, Rust, Go, Python, Docker, TCP, UDP, dos attacks, ClickHouse, GraphQL
Talks & Papers
Aug. 2020 Linux Plumbers Conference 2020 (talk & paper): Evaluation of Tail Call Costs in eBPF
Aug. 2020 Master Thesis: Impact of Indirect Calls within eBPF and Changes to Reduce this Impact
Aug. 2019 NOMS 2020 Conference (co-author): The Rise of eBPF for Non-Intrusive Performance Monitoring
Education
2017 - 2020 Télécom Nancy, Nancy, France: Masters of Science in Computer Science
- Focused on software engineering and project management
- School projects: full compiler, film recommendation system, embedded platform to acquire sensor data
2015 - 2017 Lycée A. Fournier, Bourges, France: two-year course equiv. to a BSc in Mathematics and Physics
Preparation for the highly competitive nationwide entrance exams for French Grandes Écoles
Personal Software Projects
2019 - 2026 Rusqlite Migration: database schema migration library for rusqlite, written with performance in mind
- Reviewed contributions, feature requests and bug reports. Respected semantic versioning strictly
- Used in the NordVPN Linux client, Tabby (self-hosted AI coding assistant)…
✓ Rust (noteworthy package used: lazy_static, rusqlite), SQLite
2019 - 2026 Plugins for the neovim text editor: hundreds of daily users (based on GitHub clones and stars)
✓ Lua, Fennel (a Lisp dialect), VimScript, neovim APIs