Adam S. Richardson
I'm a Canadian software developer, currently working on a greenfield project in cryptocurrency at Coinbase. I was previously an intern on the storage team at Stripe, and on the infrastructure team at Shopify.
I'm passionate about any technology that makes the web more useful, usable, and performant for the world at large. My work has included performance and tooling on the backend of the world's largest Rails application, low-level maintenance and analysis on the largest known installation of MongoDB, and feature development on bleeding-edge blockchain applications.
I love solving problems, especially problems that would be intractible without a computer. I have completed thousands of algorithmic puzzles, and I am a member of Waterloo's ACM-ICPC competitive programming team. The unique balance of theoretical beauty with pragmatic implementation makes these competitions compelling.
I'm interested in internship opportunities for the summer of 2018 and onwards; I'm also open to conversations about full-time employment. Feel free to read my resume. You can get in touch with me via email at firstname.lastname@example.org, or reach out via LinkedIn.
Software Engineer Intern at Coinbase
(San Francisco, CA), September 5th - Present
- Building ground-up solutions for e-commerce applications operating on the Bitcoin and Ethereum blockchains
Engineering Intern at Stripe
(San Francisco, CA), January 9th - April 28th, 2017
- Built a custom MapReduce pipeline to calculate database storage density across primary key range with a novel dynamic programming algorithm, thereby enabling perfectly optimal shard splits
- Developed and tested a data pipeline in Scala to ascertain correctness between database replica sets, based on heuristic analysis of periodic disk snapshots
- Performed shard splits via a custom Ruby sharding layer across all merchant databases, tripling the database fleet, thereby avoiding disk exhaustion, improving efficiency and safety of routine maintenance tasks, and improving performance of API methods for end users
- Implemented quality-of-life tooling improvements to various MongoDB maintenance tasks as part of a larger database tooling framework, lowering replication lag by an order of magnitude
Software Developer Intern at Shopify
(Ottawa, ON, Canada), January 11th - August 28th, 2016
- Designed, implemented, and deployed a custom caching layer for NGINX software load balancers in Lua, mitigating malicious clients and processing tens of thousands of requests per second
- Built a custom software packaging system designed for mission-critical software, enabling the production and deployment of Ubuntu packages from a clean-room environment
- Refactored and developed large-scale distributed HTTP load testing software, capable of generating hundreds of thousands of requests per second, in Go
- Developed an open-source Heroku package to allow easy integration with Shopify’s encrypted configuration management solution
Things I've Built
- goword - A real-time multiplayer Boggle clone, with instaneous scoring, written in Go with WebSockets and HTML5. (Demo)
- ploy - Work in progress. A garbage-collected Scheme interpreter, written in C++, with a basic standard library written in Scheme.
- dipoll - toy Discord bot, written in Python, capable of running polls in public channels by counting emoji reactions.
- brainrack - An interpreter for an esoteric language, written in the Racket dialect of Scheme.
- bfni - A compiler, targetting x86 assembly language and written in the same dialect, for an esoteric language.
I am currently enrolled in Bachelor of Computer Science, Co-op at the University of Waterloo (Waterloo, ON, Canada), with graduation projected for 2019. I take particular academic interest in the development of compilers and interpreters, in algorithms and data structures, and in discrete mathematics.
I graduated from Colonel By High School (Ottawa, ON, Canada) in 2014, and I was a recipient of the Silver Medal award for achieving an academic average greater than 90%.
I have been taking part in competitive programming events since early high school. In grades 11 and 12, I competed at Canada's national high school Olympiad, an exclusive event to which only the top 24 competitors in the country are invited. In the fall of 2017, I earned a spot on Waterloo's ACM-ICPC competitive programming team; Waterloo has been North America's strongest competitor in the sport in recent years.
Outside of tech, I am an avid competitive runner. I am a member of the University of Waterloo track and cross-country varsity teams; I was named the Most Valuable Player for the 2015-2016 cross-country season, and in early 2016 I ran 8:24.69 over 3000m on the track (thereby becoming Waterloo's 6th fastest athlete over that distance, all-time). In early summer 2016, I won the National Capital Race Weekend 5K road race, surpassing a field of nearly 8000 athletes.