Resume

Education

Bachelor of Computer Science Honours (Co-op Option)

University of Manitoba, Winnipeg, MB. Institutional GPA: 4.21 Specializations: Software Engineering, Web-Based Systems, Computer Security

Bachelor of Science (Honours) in Biochemistry

University of Winnipeg, Winnipeg, MB.

Work Experience

Qdoc Inc.

Software Development Team Lead

April 2023 - August 2024

  • Evaluated, hired, and mentored junior developers; led an Agile team with modern processes, including sprint planning, TDD, and retrospectives.
  • Design cloud architecture and select tech stack for a new health billing SaaS to ensure security, scalability, maintainability, and developer efficiency.
  • Develop Vite-bundled React/TS frontend and Node/TS lambda functions backed by PostgreSQL database deployed to AWS cloud with AWS CDK IaC.
  • Design UI with Figma and rapidly implemented a prototype for demonstration to win a government contract.
  • Reconcile multiple sources of requirements, including government spec docs and internal QDoc billing admins’ dissatisfaction with existing solutions.
  • Gathered metrics from repo and Jira history to quantitatively justify suggestion to adopt Typescript on other teams; led multi-team effort to incrementally replace JS with TS in existing projects to improve efficiency and reliability.

Software Developer

May 2022 - April 2023

  • Full stack development on an Agile team using React (w/ Webpack), JS, GraphQL and REST APIs on AWS cloud to build and maintain a health SaaS.
  • On multiple occasions identified and patched security flaws which would have had catastrophic consequences on our ability to do business if exploited.
  • Led adoption of automated testing with Jest and Cypress, improving reliability and developer efficiency by reducing reliance on manual testing.
  • Wrote clear documentation on Confluence, manage work with Jira.
  • Designed and optimized CI pipelines using AWS Amplify and Github Actions
  • Used Zsh and Typescript to automate formerly tedious manual tasks.
  • Optimized application performance with server pagination, frontend pre-fetching, DB indexing, API caching, introducing elasticsearch, etc.
  • Took initiative to rework backend architecture by writing lambda layer modules that improved maintainability, code-reuse, security, and reliability.
  • Integrated numerous third-party APIs, including to enhance app observability.

Upfeat Media Inc.

Junior Software Developer

September 2021 – December 2021

  • Implement UI from Figma spec using SCSS and HTML on a PHP/Laravel Stack to optimize user engagement in an affiliate marketing application.
  • Design and implement a Vue.js dashboard of affiliate marketing effectiveness to assist decision making.

Agriculture and Agri-Food Canada – Integrated Application Services

Programmer/Analyst

January 2021 – April 2021

  • Full stack development of Vue.js and Java Spring Boot application with Oracle DB for internal use by Government of Canada employees.

Skills

LanguagesFrameworksInfrastructureMisc.
JS/TS 5yrsReact 4yrsAWS 4yrsCypress 4yrs
Rust 3yrsVue.js 3yrsLinux 5yrsJest 4yrs
PostgreSQL 4yrsTailwind 1yrDocker 3yrsGit 5yrs
HTML 5yrsKubernetes 1yrCI Pipelines 3yrs
Python 2yrsNix/NixOS
C/C++ 2yrs
Bash 5yrs
CSS/SCSS 5yrs
Java 3yrs
PHP 1yr

Projects

MappedFutures – A fork of the popular Rust modules FuturesUnordered which allows futures to be inserted, removed, or mutated by key, and all futures run concurrently.

Home Cluster – A 10-piece computer cluster running out of my home; declaratively configured and deployed with Nix/NixOS. Contains a Kubernetes cluster for my side-projects, various media servers, a Cloudflare tunnel so my apps are publicly accessible, and the server for my personal webpage (the page itself isn’t pretty, it was the infra and self-hosting aspects that most interested me). The repo also contains the Nix system configs for my Macbook and Debian laptop, bash dotfiles, NeoVim config, etc.

Mass – A full stack application for community organizers; frontend TS/React, bundled with Vite, and with Rust Axum RPC API backed by a Diesel/PostgreSQL database, deployed with self-hosted Nix-configured GitLab runners to my home Kubernetes cluster. Uses Cypress and Vitest for unit, API, and e2e automated tests. API and Keycloak auth server are both behind Nginx reverse proxy which also contains the bundled static web assets. Development environment is declaratively configured with Nix.

Bramble & Storm – A Rust implementation of the bramble protocols, which provide anonymity, authentication, and integrity guarantees in a P2P messaging system over Tor. Initially began with the highest layer, bramble-sync, as my COMP-4560 Industry Project, under the supervision of a Mozilla Security Engineer who began the project by implementing the lower layers. Storm connects the pieces of the bramble protocol as a P2P messenger application on the cross-platform Tauri framework.

Hash Events – An open source async event library allowing consumers to subscribe to events by key, and emit events with a payload, which the subscribers will receive.

Publication

Mardiros, Xian B et al, “Postmating Reproductive isolation between strains of Drosophila willistoni.” Fly (Austin). 2016;10(4)162-171.

Books That Have Influenced How I Think About Software

The DevOps Handbook – Glen Kim et al.

Working Effectively with Legacy Code – Michael Feathers

Refactoring – Martin Fowler

A Philosophy of Software Design – John Ousterhout


825 Words