Hi I'm Nick.
I am a Software Engineer at Amazon based in Vancouver. Recently I graduated from the University of Calgary with a bachelors in Software Engineering. I decided to go into Engineering because I was fascinated by how things are made. Now as a software engineer, I like to make things myself.
After having a great internship experience I decided to return to Amazon for a full time position!
Currently I am working on the Fees team which is responsible setting and processing all fees for Amazon Stores.
I spent the summer living in Vancouver as part of the Automated Profitability Management (APM) - Supplier Contract Optimization (SCO) team where I worked on the tool known as Automated Vendor Negotiations (AVN). For a bit of background AVN is used by Amazon Vendor Managers to Negotiate with Vendors. This tool sends 1000+ emails a day, going up when annual vendor negotiations kicks off.
My summer project was to design and develop a new generic/reusable email service to replace the current email implementation. After 2 weeks of design and 4 weeks of coding. I had created/implemented a new service which could send emails and collect/sort email metrics on the emails sent.
Aside from code I also became a regular at Amazon's pick up soccer group (some team members were already regulars) and enjoyed what Vancouver had to offer with some new and old friends. Overall I had a great time in the city and got to work with a truly fantastic team.
For my first taste of the software industry I got the chance to work at Arcurve where I spent most of my
time developing a full stack web application for monitoring/visualizing/prediciting gas delivery information.
This project was a great introduction to industry software as it was a very mature and well
thought out code base with many complex technical problems. I was also lucky enough to be paired
up with two mentors who were incredible in ramping me up to the large code base.
Outside of the technical I also got to work on a Community Social Resposibility (CSR) project with
the other interns. Our project, which we decided on as a group, was to create an orange flavored kombucha to sell to
fellow Arcurvian's and friends, in which proceeds whould go towards the Calgary Women's Emergency Shelter. The orange pictured
above is pip, who was our kombucha mascot. This was quite an interesting and fun experience.
Over the course of the project, we were able to raise $4000+ for the shelter.
All in all I am incredibly glad that my first software development job was
at Arcurve. Not only did I learn a ton about software, but Arcurve was incredibly supportive of my progression.
If any new software developers are reading this. I highly recommend Arcurve as a place to work.
Our team successfully developed a distributed version of r/place for our distributed systems
class, creating a collaborative online canvas where users can design pixel art on a 200x200 tile grid.
The main focus of this project was to prioritize replication, fault tolerance, data consistency, and synchronization.
To achieve these objectives, we implemented two proxy servers, with one serving as a backup, as well as a
network of three main servers with attached databases. Clients were routed to a server based on
a random algorithm to optimize load balancing.
Each of these servers featured automatic restart processes to enhance overall system reliability.
As part of the startup process, a server would check for other live servers and copy their database
to ensure up-to-date data replication. We also employed Lamport's timestamps to ensure data consistency
and synchronization across all replicated databases. To create this project, we leveraged technologies
such as React, Node.js, MongoDB, AWS EC2, Socket.io, and Nginx. This robust architecture and combination
of tools resulted in a highly reliable, fault-tolerant, and consistent distributed version of r/place.
For my final year Capstone project, I collaborated with a multidisciplinary team composed of two mechanical and two software engineers.
We partnered with Roswell Textiles, an industry leader in nonwoven technologies and materials, to develop a prototype of an inline air
permeability inspection system This new system aimed to enhance their current inspection method, which only tested a small sample of
textile rolls produced, by enabling continuous testing throughout production. As a result, Roswell Textiles could provide their clients
with comprehensive data on the rolls purchased, ensuring optimal performance in critical applications such as medical equipment
and face masks.
Our team successfully designed and developed the prototype, pictured in the top right corner.
On the software side, the system architecture incorporated a RaspberryPI to read data and transmit it to an
Azure function, which in turn stored the information in a CosmosDB database. Additionally, the Raspberry Pi
enabled real-time data streaming to a GUI via WebSockets, as demonstrated in the accompanying video. The other
images depict the Raspberry Pi with a custom circuit board and the CAD of the prototype.
Working on this project was a real change of pace, going into the warehouse to manufacture this system,
but overall it was a ton of fun. This served as an excellent culmination of my academic journey.
IOS application built in Swift to help Calgarians navigate 16km of indoor hallways covering downtown Calgary. This app utilizes API's from Calgary Open Data to help users get around downtown while staying out of the cold, and find their next lunch spot.
IOS application built in Swift to demonstrate how Breadth First Search, Depth First Search and A Star search/pathfinding algorithms work. The way this application was built, pressing one of the cells will modify an adjacency matrix. Once run is pressed, the chosen algorithm will be performed on the adjacency matrix filling out an array of where it has been as it runs. Then once the algorithm has ran its course, the cells that have been visited will be colored. Feel free to clone the repo and check it out!
Over the course of 2 months, our team of 7 created a real time 3D EEG data visualizer. The idea for this project was provided by Dr. Emma Towlson, but it was left up to our team to design and create this software. I worked on the 3D visuals part of the project utilizing the three.js library. As a fun bonus I also learned how to operate a EEG machine at the Alberta Children's Hospital.
Application written in swift for WatchOS devices. This is App is built with programmer's eyes in mind, or really anyone who uses the computer all day. This program reminds people to follow the 202020 rule, that is every 20 minutes, look at least 20 ft away, for 20 seconds. This unfortuanately is not on the app store as I still haven't decided if I want to purchase a developer's account
An application written in java meant to emmulate a student registration system. Some features include, allowing the students to enroll in classes stored in a MySQL database, aswell as allowing student to search for classes, disenroll from classes, and seeing class info such as number of people enrolled in a class. This program utilizes client server architecture and is multithreaded to accomadate multiple users at once
A text based version of tic tac toe that features 4 different ways of playing. Players can choose to play another human, a player that picks a random empty spot, a player that checks if the other player must be blocked before picking a random empty spot on the board, and a player that actively tries to get three in a row while looking out for if the opposition must be blocked.