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

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)