Main Skills
- Microservices development (Go 4yrs, Node.js/Typescript 6yrs) - 10 years
- Cloud/infra (Kubernetes, Helm, Docker, Kustomize, GCP, AWS, Terraform, SOPS) - 8 years
- Embedded software (C) - 4 years
- Development team leadership - 1.5 years
- CI/CD (Gitlab, Github Actions, CircleCI, Jenkins, Nix, Git, Docker) - 8 years
- Remote work (process, communication, documentation) - 7 years
- SDLC, process, tooling and automation - 8 years
Experience
Ohalo Ltd | Principal Software Engineer
Fully Remote | Jul 2022 - Jun 2025
- Instituted automated regression testing, eliminating regressions on trunk and in releases, improving the quality of our product, improving release confidence and correspondingly accelerating the product development and release cycle.
- Instituted and built fully regression-tested release automation in Go to reduce average product release times from multiple days to minutes, getting product to customers faster and more frequently, and removing technical hurdles to release.
- Implemented build automation and improvements to support faster, smaller builds, enable feedback to developers and improve deployment and test.
- Implemented uniform, disposable test and development environments on GCP and Hetzner, enabling developers to test in environments representative of production.
- Led git multi-repo to monorepo migration for ~25 service and library repositories, including source code, automation, various integrations and developer tooling.
- Instituted and improved various (especially async) workflows, processes, communications channels, automations, technical and non-technical documentation, process simplifications.
- Implemented secrets management with SOPS, enabling a single set of secrets usable across CI/CD and developer environments, scoped per-user via SSH keys, and allowing new developers access to all tooling from the moment they joined the GitHub org.
ModusBox Ltd | Senior Consultant
Fully Remote | Aug 2018 - Jan 2022
- Led product development team for first commercial implementation of Gates Foundation-backed Mojaloop payments switch - supported ~1000tps between participant pairs
- Microservice development and operations with MySQL, Node.js, Kubernetes, Kafka
- Implementation of robust multi-party financial settlement
- CI and deployment with Rancher, Terraform, Github Actions, CircleCI, Gitlab CI
- Automated translation of 1500 integration tests from Postman to Jest, eliminating false negatives, decreasing runtime by 40%, enabling debugging and development tool use. My proposal doc:
https://github.com/partiallyordered/postman-migration/blob/master/Proposal.md - User interface development with React.js
- Developer tooling and CLIs in Rust
Utto Ltd | Senior Software Engineer
Hybrid Remote | May 2018 - Aug 2018 (contract)
- Replaced resource-heavy map rasterisation and layer service with minimal, focused, in-house Go microservice reducing boot time by ~99% and memory consumption by ~95% and simplifying deployment.
- Forked a Go CBOR deserialisation library to support partial message deserialisation when messages were not received completely from devices in the field.
- Feature development on Go and Python data processing pipeline built around Apache Kafka and MongoDB.
- Implementation and development of Go, Python and Javascript microservices.
- Feature implementation for GIS React web app.
- Deployment with Helm/Kubernetes on Google Kubernetes Engine.
Cambridge Consultants Ltd | Senior Software Engineer
On-site | Aug 2013 - Feb 2018
ASB Bank Cards Department | Customer Support Agent
On-site | Jul 2007 - Apr 2013
Telemetry Research Ltd. | Research Internship
On-site | Feb 2012 - Nov 2012
UofA Engineering Science | Research Intern
On-site | Nov 2010 - Mar 2011
- Design and development of experimental apparatus to confirm a hypothesised flow regime.
- Matlab simulation of an atomic force microscope operating in a fluid.
Education
Bachelor of Engineering (Honours), Engineering Science
University of Auckland - Graduated May 2012
Interests/About
I enjoy nature and exploration, especially backcountry skiing, running and climbing. I speak passable casual French. I love to imagine something and create it, and I love to learn how to make and build almost anything; to this end my partner and I have fully renovated our apartment and converted our van. I once lived and traveled in my self-converted van for four years. I’ve participated in the Pi Wars robotics competition, Global Game Jam, the IEEEXtreme programming competition (twice) and worked on a range of small side-projects myself and with friends. I’ve contributed to open-source software that I use (XMonad). I love to cook (and eat).