Work experience

Software Engineer at Hudson River Trading
Python, C++
Feb 2023 – Present

Software engineer on the Build & Test team.

Software Engineer at Twitter
Rust, Scala, Java
Oct 2020 – Sep 2022
Seattle, WA

Compiler engineer on the Scala Language & Tools team. Visiting engineer on Source Control team.

Software Engineer at Facebook
OCaml, Rust, Javascript, Hack
Oct 2016 – Sep 2020
Seattle, WA

Compiler engineer working on improving the scalability of the Hack programming language.

  • Formalized and proved the correctness of Hack's incremental typechecking algorithm.
  • Migrated Hack to use the Language Server Protocol, providing support for all major editors.
  • Developed a linting system for Hack code written in Hack itself, now supporting hundreds of lint rules.
  • Developed a refactoring system suitable for monorepo-scale code migrations. Typical job time: 12hr → 15min.
  • Developed low-latency IDE server. Worst-case startup time: 5min → 10sec.
SWE Intern at Facebook
HTML, CSS, Javascript, Hack, MySQL
May 2016 – Aug 2016
Seattle, WA
  • Created dependency graph visualization for internal code review tool.
SDE Intern at Amazon
Java, XML, DynamoDB
May 2015 – Aug 2015
Seattle, WA
  • Detected large-scale pre-order release events in order to scale preemptively.
Instructional Assistant at University of Michigan
HTML, CSS, Javascript, PHP, Python, Perl, MySQL, Bash
Sep 2014 – Apr 2016
Ann Arbor, MI
  • Streamlined teaching assistant workflow substantially by redesigning automatic-grading web application.

Projects See more on Github... (More on Github)

git-branchless Rust, 2.6k ★

High-velocity, monorepo-scale workflow for Git, based off of the Mercurial workflows at companies like Google and Facebook.

detect-recruiter-spam Python, 30 ★

Machine-learning email bot which detects unsolicited recruiter email and responds with compensation/leveling requirements.

Smash Training TypeScript, 19 ★

Spaced-repetition training app for the fighting game Super Smash Bros. Ultimate. Approximately 200 monthly users.