// STAFF SOFTWARE ENGINEER
I am an experienced software developer from Ottawa, Canada who is currently looking for opportunities to work on some of our generation's most pressing ecological and social challenges. I am especially interested in the areas of electrification and sustainable food production. If you work for a company that is actively tackling these issues, please reach out as I'd love to discuss whether my skills could be of any service to your mission.
I have spent the last eight years at Shopify where I was hired as a senior mobile developer but eventually pivoted to staff data engineer. My primary responsibilites revolved around leading software projects but I had side-quests as dev manager, DevOps, SRE and other tangential disciplines.
Before that I was at Macadamian for seven years. The consulting nature of the work provided an opportunity to change projects at a 6-12 month cadence. I took advantage of this to pivot often in order to keep learning new skills.
Take a look at my LinkedIn profile for a full breakdown of my work experience and feel free to peek at my GitHub profile where I occasionaly post bits of code that I find interesting.
I am constantly taking on personal projects to learn more about things that pique my interest and help appease my curiosity. The following is a curated list of some of those projects that became mature enough to showcase.
It's the start of a game engine/backend written in Go. It aims to take away some of the tedious tasks and let you focus on the rules that power your game. The main target for this is multi-player, turn-based games that can be distilled down to a rules-based engine.
I named this project quickly to avoid getting hung up on naming things so it's a kind of meaningless.
A command line utility to download and stitch high resolution map tiles from the MapBox API. I wrote this to learn more about Elixir and Erlang which in retrospect was probably not the best technology choice for the task. However, it did achieve objectives which were to learn something new and ultimately generate some maps that I needed for another personal project.
Gitz is a performance enhancer for using git on the command line. If you're familiar with fzf then you'll love gitz. It uses fzf to provide a fast, fuzzy-matching menu interface for performing common git tasks -- all on the command line!
I micro ETL platform for processing large amounts of data locally on a single machine. Having worked on a large scale Spark ETL for several years, I was curious to apply some design patterns to the problem space all while pushing what could be done on a single host.
A map-based SwiftUI app for iOS that was built to see what could be done with the DJI SDJ for drones. The initial focus was on building an intuitive API for building "missions" which are autonomous flight paths.
Wow, you're still here! These are some older projects that are kept here for posterity.
Given is a validation library for KnockoutJS that allows you to define form validation rules using a fluent syntax. It also keeps your validation clean of other cruft and easy to read and understand.
Lightweight Models to painlessly define and serialize/deserialize objects using NSCoding. This library solves a lot of the same problems that github's Mantle project solves, except I wrote this before Mantle was made public.
A tiny little python script to convert metric measurements to imperial. It takes a metric measurement in different denominations and breaks it down into miles, feet, inches... all the way down to 1/16th of an inch. This was useful for some DIY project plans that I found online.
This was a submission for the Apps4Ottawa contest back in 2012. It was an iOS app for getting around Ottawa by easily modifying driving directions to avoid parts of Ottawa's highways that are notorious for making you late. Simply drop pins on parts of the highway and the onboard algorithm will reroute to avoid the stretch of road in between. Scenic Route also had Yellow Pages™ integration for local lookups.
A python+Django based online photo album website. The motivation behind this was to have my own website to share photos but still take advantage of Google's picasa web albums. This allowed me to keep using 3rd party apps to post photos from anywhere. Included in this project is a Bash script to use with cron to periodically pull metadata from the picasa service and cache it to a local database. Photos were then linked directly from google's servers.
A small python script that will fetch a WSDL from a URL and flatten it by importing all referenced parts (external files) into a single WSDL file. I wrote this after spending too much time trying to consume a WCF based web service from iOS.