Nicholas Lee

Resume GitHub

About me

Hi, I'm Nick.
I'm a Software Engineer at Amazon based in Vancouver. I graduated from the University of Calgary with a bachelor's degree in Software Engineering. I've always been fascinated by how things are made, which led me to pursue engineering. Now as a software engineer, I get to build and create solutions that make an impact.

Experience

Software Development Engineer

July 2023 - Present

After a great internship experience, I returned to Amazon for a full-time position.

Currently, I work on the Fees team, which is responsible for setting and processing all fees for Amazon Stores. My team builds the web application and configuration store that manages $25B+ in fee changes each year. The configuration store serves as the knowledge base for execution services, serving 2.5B+ daily requests.

One of my favorite projects was building a testing framework that lets us safely test fee changes in a sandbox environment before they go live. I also got to work as the sole North American engineer coordinating with product managers in Europe and engineers in China to launch a new fee that ended up generating $23M in additional revenue. More recently, I built a GenAI-powered Slack bot with two other engineers that answers questions about seller fees. It won our team hackathon and placed in the top 10 at the larger FBA GenAI Fair.

I'm also part of the on-call rotation, which means I get paged when things break in production. It's taught me a lot about diagnosing issues quickly and building more resilient systems.

amazon logo

Software Development Engineering Intern

May 2022 - August 2022

I spent the summer in Vancouver as part of the Automated Profitability Management (APM) - Supplier Contract Optimization (SCO) team, working on Automated Vendor Negotiations (AVN). This tool is used by Amazon Vendor Managers to negotiate with vendors and sends 1000+ emails daily, with volume increasing during annual vendor negotiations.

My summer project involved designing and developing a new generic, reusable email service to replace the existing implementation. After 2 weeks of design and 4 weeks of development, I delivered a service that could send emails and collect detailed email metrics.

Beyond coding, I became a regular at Amazon's pickup soccer group and explored Vancouver with new and old friends. Overall, it was an incredible experience working with a fantastic team in a great city.

orange mascot

Software Developer Intern

May 2021 - April 2022

For my first role in the software industry, I worked at Arcurve developing a full-stack web application for monitoring, visualizing, and predicting gas delivery information.

This project provided an excellent introduction to industry software, featuring a mature, well-architected codebase with complex technical challenges. I was fortunate to work with two incredible mentors who taught me lots about best coding practices and the Software Development Life Cyle.

Beyond technical work, I participated in a Community Social Responsibility (CSR) project with fellow interns. We created an orange-flavored kombucha to sell to Arcurvians and friends, with all proceeds going to the Calgary Women's Emergency Shelter. The orange pictured above is Pip, our kombucha mascot. Through this initiative, we raised over $4000 for the shelter.

I'm incredibly grateful that my first software development role was at Arcurve. Not only did I learn tremendously about software engineering, but Arcurve was exceptionally supportive of my growth. I highly recommend Arcurve to any aspiring software developers.

Personal Projects

r/Piazza

Our team developed a distributed version of r/place for our distributed systems course, a collaborative online canvas where users design pixel art on a 200x200 tile grid. The project focused on replication, fault tolerance, data consistency, and synchronization. We implemented two proxy servers (one as backup) and a network of three main servers with attached databases. Clients were routed using a random algorithm for optimal load balancing.

Each server featured automatic restart processes for enhanced reliability. During startup, servers checked for other live servers and synchronized their databases to ensure up-to-date replication. We employed Lamport's timestamps for data consistency across all replicated databases. Built with React, Node.js, MongoDB, AWS EC2, Socket.io, and Nginx, this architecture delivered a highly reliable, fault-tolerant distributed system. One could say it was very over-engineered for the number of users it saw!

view code
roswell

Inline Air Permeability Inspection System

For my final-year Capstone project, I collaborated with a multidisciplinary team of two mechanical and two software engineers. We partnered with Roswell Textiles, an industry leader in nonwoven technologies, to develop an inline air permeability inspection system prototype. This system enhanced their existing inspection method—which only tested small samples—by enabling continuous testing throughout production. This allowed Roswell Textiles to provide clients with comprehensive data on textile rolls, ensuring optimal performance in critical applications like medical equipment and face masks.

Our team successfully designed and built the prototype (pictured in the top right). The software architecture used a Raspberry Pi to read sensor data and transmit it to an Azure Function, which stored the information in a CosmosDB database. The Raspberry Pi also enabled real-time data streaming to a GUI via WebSockets, as shown in the video. The images show the Raspberry Pi with a custom circuit board and the CAD design of the prototype.

Working on this project was a refreshing change of pace, going into the warehouse to manufacture the system was an awesome challenge. It served as an excellent culmination of my engineering journey.

additional info
pic of plus 15 icon

Plus 15

iOS application built in Swift to help Calgarians navigate 16km of indoor hallways covering downtown Calgary. This app utilizes APIs from Calgary Open Data to help users explore downtown while staying warm and discover nearby lunch spots.

view code
pic of currencyconverter icon

Search Algorithm Visualizer

iOS application built in Swift to visualize Breadth First Search, Depth First Search, and A* pathfinding algorithms. Users can tap cells to modify an adjacency matrix, then run the chosen algorithm to see it traverse the grid in real-time. Visited cells are colored as the algorithm executes, providing an interactive way to understand how these algorithms work. Feel free to clone the repo and explore!

view code

3D EEG Data Visualizer

NeuroNexus 2020 (Hackathon)

Over 2 months, our team of 7 created a real-time 3D EEG data visualizer. The concept was provided by Dr. Emma Towlson, but the design and implementation were entirely up to us. I focused on the 3D visualization component using the three.js library. A highlight of this project was spending time at the Alberta Children's Hospital, where I learned to operate EEG equipment and collected real brain activity data for testing our visualizer.

view code
pic of programmer eyes icon

Programmer Eyes 202020

WatchOS application written in Swift designed for programmers and anyone who uses a computer all day. This app reminds users to follow the 20-20-20 rule: every 20 minutes, look at least 20 feet away for 20 seconds to reduce eye strain.

view code
pic of programmer eyes in watch

Student Registration System

A Java application that emulates a student registration system. Features include enrolling in classes stored in a MySQL database, searching for classes, disenrolling from classes, and viewing class information such as enrollment numbers. The program uses client-server architecture and is multithreaded to accommodate multiple concurrent users.

view code
pic of student registration system

Tic Tac Toe

A text-based tic-tac-toe game featuring 4 different play modes: human vs. human, against a random AI, against a defensive AI that blocks opponent moves, or against a strategic AI that actively pursues victory while defending against threats.

view code
pic of tictactoe in console