Employment History
Developer, Shopify Fulfillment Network @ Shopify December 2019 - Present

When I first joined SFN, I was a member of the Internal Clients team, a team responsible for replacing the admin interface that our operations team used. This was necessary since the admin interface was cumbersome, hard to use, and built using a tech stack that prevented us from adding necessary features. The lack of these features meant that a number of manual workarounds were necessary for processes that should have been automatable. Over the next 18 months, we build Mission Control, a React app that was designed in collaboration with our product and UX teams. This app was met with universal praise upon release and has significantly improved the efficiency of the operations team.

Towards the end of this project, I led a small group in replacing the navigation system used in Mission Control. This was a large project and necessitated rearchitecting significant parts of the app. This project was completed successfully and on schedule in the summer of 2021, despite significant changes in leadership, including the departure of the manager responsible for overseeing this project.

After the launch of Mission Control, I was reassigned to the Pricing & Billing team. This team is responsible for all code related to charging merchants for all order fulfillments and inventory management.

Since joining this team, I have worked on a number of projects intended to improve the accuracy of our billing system. This included changes to our sales tax calculations for merchants fulfilling orders from our Canadian warehouse and change out automated billing calculations for merchants who supply their own packaging materials or used marketing inserts. Most recently, I worked on a project to remove the concept of "billing statements" from SFN, the removal of which resulted in the deletion of ~15,500 lines of code and 230 files. As well, I've conducted a number of workshops to share my learnings with the team, with the highlights being an in-depth look at the automated charge generation workflows, the way charges are calculated, and the process and patterns I used do remove "billing statements" without introducing any regressions.

Currently, I am involved in a project to rearchitect large parts of our billing system, but I cannot disclose the details until the project has been made public.

Squad Lead, Plus Support @ Shopify May 2018 - December 2019

As a lead on the Plus Support team, my primary responsibility was to ensure that the members of my team was operating at their full potential. When I left, I supervised 8 direct reports in 5 different cities across 3 time zones.

My day-to-day responsibilities included monitoring the team's performance, investigate any negative trends, and assigning and delegating tasks to my reports. Slightly less frequent tasks included regular one-on-one meetings with my reports, interviewing and hiring new team members (many of whom have since been promoted), coordinating and overseeing training for new hires, and conducting regular performance reviews.

In my spare time, I continued to lead the team's internal tools project. Some of the more impactful parts of this project were a Slack bot that helps preserve team knowledge, tools used to streamline various administrative tasks, and a reporting service that generates reports about team performance.

Front End Developer, Plus Support @ Shopify April 2017 - May 2018

As part of the Plus Support FED team, I helped our enterprise-level merchants with feature requests and bug fixes on their Shopify stores.

These include updating their layouts and templates, writing and updating scripts and stylesheets, and writing checkout scripts (which apply automatic discounts and manipulate the shipping and payment options available to their customers), as well as debugging any issues they may be experiencing. My responsibilities also include triaging incoming merchant requests and monitoring our Slack channel for questions and requests from other Shopify teams.

On the side, I was also the project lead for our team's internal tools program. The goal of this project was to implement and maintain the team's internal tools in order to streamline the team's workflows and improve our efficiency.

Application Developer @ Synaptive Medical July 2015 - February 2017

As outlined on my Projects page, I was part of the team that developed BrightMatter Plan and Guide, programs used in the planning and execution of neurosurgery procedures.

As part of my role, I was responsible for developing new features, fixing existing bugs, implementing performance improvements and optimizing existing code, leading and participating in code reviews, and writing unit tests.

The largest projects I participated in were the refactoring of our code base to allow for more powerful unit testing features, such as mocking and IOC, as well as building a theme engine to allow us to apply different skins to the product (in particular, a dark mode to be used in low-light operating rooms).

Research Associate @ Toronto Rehabilitation Institute May 2014 - June 2015

As part of my graduate degree, I completed an 8 month internship (which was later extended by 5 months) at the Toronto Rehabilitation Institute, a research hospital in Toronto that specializes in healthcare and accessibility-research.

While there, I completed a number of projects including a Matlab program that would analyze gait data and determine when people slip, a hand-hygiene prompting system to improve adherence to government-mandated hand washing protocols in hospitals, and a prototype exercise game platform that would allow homebound adults to exercise and socialize with each other. These projects are explained in more detail here.

IT Specialist @ Second Cup May 2013 - October 2014

I spent the summer of 2013 working at Second Cup and helped upgrade their existing POS software to the Micros Simphony platform. Some of my responsibilities included creating the installation procedures, administrating the system, providing support to the cafes, maintaining the product database, and creating the training material for other employees.

Education
Masters of Science in Applied Computing @ University of Toronto 2015

Unlike a typical Masters degree, which places a heavy emphasis on academia, this degree placed more weight on entrepreneurship. In addition to the courses taken by all graduate students, I was required to take additional courses in technical entrepreneurship and communication. I was also required to complete an 8 month internship as part of this degree.

In this program, the majority of my courses had an emphasis on human-computer interaction. To earn credit in these courses, I worked on a number of unique projects, outlined here.

Hons. Bachelor of Science, Computer Science @ University of Toronto 2013

An undergraduate degree in computer science. In addition to a number of courses on data structures, algorithms, circuit logic, databases, and game design, I took a large number of courses in AI and computational linguistics.

Teaching Experience
Teaching Assistant - The Design of Interactive Computational Media Fall 2014

Teaching assistant for a 3rd year course introducing students to HCI. Responsibilities included grading assignments, running tutorials, and guiding students through their semester-long final project.

Teaching Assistant - Software Design Fall 2013, Winter 2014

Teaching assistant for a 2rd year course introducing students to software design and Java. Responsibilities included grading assignments, running tutorials, holding office hours, and grading tests and final exams.

Academic Awards
Dean's List Award @ University of Toronto 2011, 2012, 2013

Awarded for academic excellence. On average, receipients of this award place in the top 10% of their class.

Noteworthy Graduate Courses
CSC2702 - Technical Entrepreneurship

A course exploring various business models, how to raise startup capital from venture capital firms, how to construct a model, and how to pitch a business.

CSC2514 - Human-Computer Interaction

A course dedicated to researching HCI devices. My final project in this course was to create a new desktop paradigm and conduct a study about it.

CSC2524 - User Experiences with Next-generation Input & Output Technologies

A course studying a large number of different input devices. The final project in this course was to create a new input device. I chose to create one using the Microsoft PixelSense computer.