Summary of Skills
Programming Experience
- Haskell, Agda(expert)
- C++(fluent)
- C#, JavaScript, Lua, PHP, Python, Scala(working proficiency)
Work Experience
Manifold Valley » Lead Compiler Engineer (Haskell)April 2023 → ongoing
- Rearchitected a failed 4-year compiler effort by migrating to a lesser-known core calculus; replaced the entire language foundation, unblocking system-wide progress
- Asymptotically improved compiler performance from unscalable to linear; reduced compile times from hours to seconds and GHC build times by 93%
- Built the core ML training infrastructure---used as the foundation for all models trained at the company
- Guided the Python team through implementing the new runtime, including a fully-trampolined CPS transformation to eliminate stack overflows
- Introduced modern engineering practices: testing, code review, Git discipline; migrated 4 fragmented repos into a monorepo to support cohesive development
- Rewrote or replaced ~240k lines of code (~18% of the codebase), modernizing the compiler and runtime stack
Wire » Consultant (Haskell)October 2021 → April 2023
- Built a GHC plugin to track and reify federated service calls at the type-level.
- Designed a property-testing framework for verifying the correctness of higher-order algebraic effects.
Self-Employed » Author of Software TextbooksMarch 2018 → November 2023
- Wrote three books on advanced programming techniques and high-quality software engineering.
Formation/Takt » Senior Software Engineer (Haskell)September 2016 → January 2018
- Increased new feature cadence by 30x after becoming lead of a four-person engineering team.
- Directed a team of three to implement a high-throughput, low-latency brokered streaming library.
Google » Software Engineer III (C++)September 2015 → September 2016
- Led the architectural design of a user-defined permission model for the cloud.
- Improved compile times by 96% and test coverage by 65% for a service-critical internal compiler.
Meta/Facebook » Software Engineer Intern (C++)January → April 2014
- Increased revenue by 0.5% after analyzing the advertising platform's spending behaviors.
- Improved site-wide response time by 0.4% by parallelizing the backend graph ranker.
Notable Open Source
ImplicitCAD2020 → 2021
github.com/Haskell-Things/ImplicitCAD
- Improved performance of single-core mesh rendering by ~2x.
- Reduced code duplication by 50% by reorganizing types to be shared between 2D and 3D.
Wingman for Haskell2020 → 2023
github.com/haskell/haskell-language-server
- Developed an interactive tactic engine for Haskell, capable of robust, type-aware code synthesis.
- Provided in-editor support for automatic pattern splitting.
Polysemy2019 → 2023
github.com/polysemy-research/polysemy
- Discovered a convenient encoding of an effect system based on higher-order free monads via simultaneous co-Yoneda and codensity transformations.
- Implemented a GHC plugin to support ad-hoc functional dependencies when working with Polysemy; dramatically improving the developer experience.
Publications
Algebra-Driven DesignSeptember 2020
leanpub.com/algebra-driven-design
- A series of worked examples on designing and efficiently implementing combinator libraries.
- Algebra-Driven Design is now the basis of a course taught at OST Zurich.
Thinking with TypesOctober 2018
thinkingwithtypes.com
- A how-to manual on using (and not misusing) Haskell's more advanced type-level features.
Formal Education
Bachelor of Software Engineering2010 → 2015
University of Waterloo, Waterloo, ON
Miscellany
Interests
model checking, proof assistants, music, functional programming, compilers, robotics, electronics, math pedagogy