- Bloomberg — Senior Software Engineer
Design and develop C++ libraries within the Bloomberg Basic Development Environment (BDE), which provides building blocks for C++ software across the firm, including backports of the C++ standard library. Advance the interests of Bloomberg and the wider C++ community through participation in the C++ standards committee.
- Citadel Securities LLC — Software Engineer
As part of the Low Latency Engineering team, built a new system for processing market data with improved modularity compared to the old system, 2.5% better latency on average and 23% better 95th percentile latency for the most expensive input types. As part of the ETF Tech team, built a new server for deploying parameter values to trading strategies through Apache Kafka. All work was done in C++14.
- Google, Inc. — Software Engineer
Built a full-fledged PDF to HTML converter for Google Scholar from the ground up using modern C++11 idioms. Also worked on OCR, data backup, citation counting, and miscellaneous maintenance tasks in C++ and Python.
EducationBachelor of Science — University of Toronto, 2014
Double major, physics and chemistry.
- C++ gold badge on Stack Overflow
Stack Overflow (profile:
- Top 200, 2013 William Lowell Putnam Mathematical Competition
- 12th place team (University of Waterloo), 2011 ACM-ICPC World Finals
- Silver medal, International Olympiad in Informatics (2010, 2009)
- PEG JudgePEG Judge (
http://wcipeg.com) — an online judge for algorithmic contest problems. Includes both a website and a backend server that compiles user-submitted code and uses Unix system calls to sandbox its execution. Retired in 2020.
algorithms and data structures for the ACM-ICPC
Common algorithms and data structures for the ACM-ICPC
- PEGWikiPEGWiki (
http://wcipeg.com/wiki) — a wiki devoted to algorithmic techniques for programming contests
- Experience administering a GNU/Linux server running services such as HTTP, mail, and IRC