Computer Science student looking for a 6-month internship beginning in March 2020 in Europe
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
Selected Personal Software Projects
2018 - 2022 Sesters: tool to extract price tags from plain text, for conversion from one currency to another
✓ Rust (noteworthy package used: serde, clap, reqwest, rusqlite), SQLite, Web API
2019 Into-Ledger: fork of an importer/classifier of financial transactions from a file in the CSV format
- The fork improves data collection to make better use of the Bayesian Filtering method
✓ Go, Bayesian Filtering
2014 - Now Misc. Open-Source Contributions: please visit my website at joly.uk/open-source for a full list
Interests
Sports: Judo in team, Climbing, Yoga
Reading: novels, non-fiction (press, books)