My resume is available to download in the following formats:
Or consumable in the following machine-readable formats:
Alternatively, keep on reading for my full resume in web and picture form.
About this resume
This resume, in all the formats it is available in, was generated
automatically from a single configuration file. To see more about my
process, take a look at the repo here.
This version of the resume is built from refs/tags/2022-04-16.0.
About me
- Professional experience in functional programming (Haskell, OCaml, Clojure)
- Competent core development skills (Python, Java, Ruby, Javascript)
- Avid user and contributor of free, libre, and open source software
- Strong background in mathematics
Work Experience
Jane Street – Software Engineering Intern
- Date: Jan 2022 – Apr 2022
- Location: New York, New York
- Skills: OCaml, Code Generation
- Description:
- Designed and developed an original implementation of the XML XSD specification, including code generation of OCaml types and applicative-parser- combinator-based (de)serializers
- Created a from-scratch API-compatible implementation of Confluent’s Schema Registry in OCaml
- Contributed better high level code output to Jane Street’s soon-to-be open-sourced Chromium API bindings generator
- Date: May 2021 – Aug 2021
- Location: Remote
- Skills: Haskell, Firmware, C
- Description:
- Continued development work on Haskell firmware tooling code base
- Implemented network scheduler for custom Cybertruck communications protocols in Haskell using novel functional techniques
- Designed and implemented C API code generation tools for embedded real-time vehicle transmissions in the Cybertruck
TQ Tezos – Software Engineering Intern (Blockchain)
- Date: Sep 2020 – Dec 2020
- Location: New York, New York
- Skills: Blockchain, Haskell
- Description:
- Converted fragmented Python-based Tezos Kubernetes deployment script to idiomatic Dhall, greatly improving readability and maintainability
- Authored Tezos smart contracts in a Haskell EDSL to automate proprietary applications for permissioned blockchains
- Constructed peer-to-peer staking topology monitoring and visualization infrastructure with Python
- Date: Jan 2020 – Aug 2020
- Location: Palo Alto, California
- Skills: Haskell, Python, Java
- Description:
- Developed and maintained large Haskell code base responsible for automated firmware documentation, code, and signal generation
- Improved Haskell products’ performance and runtimes by over 20% by identifying laziness-related space leaks and rewriting hot code paths
- Responsible for design and implementation of firmware verification infrastructure employed by entire organization
University of Waterloo – Teaching Assistant (Algebra)
- Date: Sep 2019 – Dec 2019
- Location: Waterloo, Ontario
- Skills: Pure Math, Teaching
- Description:
- Tutored classes of over 1000 students in number theory and abstract algebra
- Prepared individual tutoring lesson plans to ameliorate understanding in advanced topics such as quadratic reciprocity or interactive theorem proving
- Date: May 2019 – Aug 2019
- Location: Kanata, Ontario
- Skills: Clojure, Python
- Description:
- Developed pure functional Clojure metrics infrastructure to monitor complex JVM architectures, allowing for discovery of multiple performance issues
- Implemented a parser and interpreter for an internally designed performance-testing DSL
CENX – Software Engineering Intern (Test Automation)
- Date: Jul 2017 – Sep 2017
- Location: Ottawa, Ontario
- Skills: Python, Systems
- Description:
- Developed robust automated Python framework for load-testing web apps
- Created custom implementation of IETF RFC socket protocols to debug non-standard network stacks
inBay Technologies – Software Engineering Intern (Full Stack)
- Date: Jul 2016 – Aug 2016
- Location: Kanata, Ontario
- Skills: Ruby, Rails, Javascript
- Description:
- Created internal use development tools backed by Ruby on Rails and Javascript to monitor and debug specialized production systems
Projects
Open Source Contributions
Misc Experience
- Swim Instructor: Certified by Red Cross and Life Saving Society
- Accordion Teacher: Offering private lessons
- Camp Counsellor: For youth robotics camps
Education
- University of Waterloo (May 2023): Bachelor’s degree, Computer Science
Coursework
- Functional Programming (Haskell, Scala, Scheme)
- OOP Programming (C++)
- Formal Logic and Interactive Theorem Proving (Coq)
- Compilers and Interpreters
One page resume