About Me

My name is Adam Richardson. I am a software developer with a background in operations, and a student of Computer Science at the University of Waterloo. I spent the first eight months of 2016 working on the Production Engineering team at Shopify.

Skills

I have professional-level experience in four programming languages: Ruby, Go, Lua, and Bash. Through various academic courses and personal projects, I have developed a strong background in more than 10 additional languages.

An early interest in competitive programming yielded a fruitful career, including two appearances at Canada’s national high school Olympiad. Through this pursuit, I gained an extensive knowledge of algorithms and data structures, as well as an intuition for the solution and analysis of algorithmic problems. Moreover, the rigors of training and competition honed my programming skill in Python, C, and C++ (my competition languages of choice).

I have experience with the administration and deployment of various cloud and PaaS technologies, including AWS and Heroku. Furthermore, in my production engineering role at Shopify, I gained significant experience provisioning, configuring, and administrating bare-metal servers in data centers; in particular, I am a competent user of the Chef infrastructure automation toolchain.

I have a strong understanding of the Docker ecosystem, having worked with Shopify’s internal containerization solution. As part of that project, I had the opportunity to personally migrate a mission-critical application from Heroku to Docker.

Through various personal projects and exposure to Shopify’s data store infrastructure, I have developed a good grasp of various data stores and caching layers, including MySQL, Redis, Memcached, MongoDB, and Zookeeper. I am also familiar with data delivery pipelines and protocols, such as Kafka.

Professional History

Shopify logo Production Engineering @ Shopify, Jan. 11th - Aug. 26th, 2016

Projects

I am a firm believer in the value of personal, self-motivated programming projects as a tool for developing (and demonstrating) one’s skills as a programmer. With this in mind, I have authored a large number of projects, in a wide variety of domains and using a diverse set of tools and languages. I document below a small subset of my most interesting projects below; these and others can be found on my GitHub profile.

Other applications and projects not curated here include:

Education

I am currently enrolled in the Bachelor of Computer Science, Co-op program at the University of Waterloo, with graduation projected for 2019.

The University of Waterloo is known for its exceptional engineering and mathematics undergraduate programs, in particular the BCS program in which I am enrolled. I consider myself fortunate to have had the opportunity to study among such a capable cohort of students.

Academically, I take particular interest in programming language development, graph theory, functional programming, and data structures. I have endeavoured to seek out new challenges in my university life, particularly in pursuing enriched-level courses in math and computer science. This has proven to be challenging, yet rewarding. I continue to strive for excellence in my academic life, and to apply the lessons therein to my work in software development.

Personal Life

Outside of my professional and academic pursuits, I am an avid competitive runner. I have been lucky enough to achieve modest success on a regional scale, including a victory over 5 kilometers at the Tamarack National Capital Race Weekend against a field of 7,644 competitors. I was also the 2015-2016 UWaterloo Most Valuable Player in cross-country running, having been the top varsity competitor for that season.

Contact

I can be reached via email at as3richa@uwaterloo.ca. I am scheduled for a co-op work term in January of 2017, and I welcome any communication from prospective employers.