Career Summary

My extensive 14 years of experience in a wide range of positions, teams, businesses and industries has fine-tuned my technical leadership. I have been at small and medium sized companies in all stages of maturity. I keep informed of modern trends across the whole SDLC from individual tools to architectural patterns and business processes. I enjoy applying technology to real world problems and achieving real world outcomes. I am also very comfortable getting hands on and diving deep into whatever technical challenge or tool the situation calls for. My ultimate goal is to deliver software that delights the business and end users alike.

Work Experience

Senior Software Engineer

Goodcover
June 2021 - Present

I joined Goodcover to work with a former colleague from Lightbend. I was mostly needed to help out on the React frontend written in Scala.js, although for some features I did the full vertical. Our main focus was to take the California only MVP and reimplement an entirely new design that would support all US States. Almost all components had to be rewritten to Slinky functional components. To support this I added safeguards that would protect us against common mistakes and to maximize reuse. I put a large emphasis on ensuring that the quote funnel had a delightful user experience and achieve a high conversion rate.

Achievements:

  • Implemented a new quote funnel and member pages.
  • Migrated the entire application to React Router.
  • Created a Scala.js library that makes React.js more type-safe.
  • Made a build plugin that extracts GraphQL definitions from source code and generates Scala.js and JavaScript bindings.
  • Found and fixed a race condition in ZIO Fibers that would deadlock our backend during testing.

Technologies used:

  • Scala
  • Scala.js
  • React
  • Slinky
  • TypeScript
  • GraphQL
  • Relay
  • CSS
  • Emotion
  • SBT
  • Cats
  • ZIO
  • Quill

Chief Technical Officer

Flow2b
July 2020 - June 2021

Flow2b is a small Distributed Autonomous Organization that develops and runs an ERP SaaS platform. My role here was to correct the technical direction and take the platform to its next stage. A primary focus was on modernization to facilitate rapid changes and to add stability, security and performance. We began designing and building the app marketplace and to foster a developer community for creating apps on the platform using a custom DSL.

Achievements:

  • Migrate entire stack to AWS using Pulumi following best practices.
  • Performed a security review and created a secret management policy.
  • Integrated with Datadog for logging, metrics and alerts.
  • Retrofitted an effect system and began modularizing the application.
  • Implemented a CICD pipeline.

Technologies used:

  • Scala
  • Scala.js
  • Akka-HTTP
  • AWS SDK
  • OrientDB
  • Pulumi
  • Datadog
  • ZIO

Senior Full Stack Developer

May 2020 - October 2020

I went back to help out the Geneious Biologics team at Biomatters on a casual contract.

Senior Engineer

September 2019 - April 2020

I joined Lightbend to get the opportunity to work with my idols in the Scala community. I worked on version 2 of Lightbend Console which is an observability tool for gathering insights into distributed applications based on Akka Cluster, Play and Lagom running on Kubernetes. My primary responsibilities were to create new backend services and to compile the resource manifests for the deployment. I also maintained the CICD pipelines and infrastructure.

Achievements:

  • Built new backend services using Akka-gRPC and Akka-HTTP.
  • Wrote Jsonnet files for compiling Kubernetes resource manifests.
  • Used Terraform and Kustomize to configure cloud infrastructure.
  • Created a large range of generators and property based tests.

Technologies used:

  • Scala
  • Akka-gRPC
  • Akka-HTTP
  • Angular
  • Typescript
  • Kubernetes
  • Docker
  • Prometheus
  • Grafana
  • ELK
  • Cassandra
  • Terraform
  • GCP
  • OpenShift

Development Team Lead

January 2019 - September 2019

I managed and lead a team of six to develop Geneious Prime, a molecular biology and sequence analysis application. I worked closely with the project owner to define the road map and then with the team to plan scope and deliver the work. I provided technical leadership while also modernising the development processes.

Achievements

  • Managed six product releases.
  • Put in place WIP limits and helped identify bottlenecks.
  • Ensured that we maintained a buffer of tasks that met the definition of ready.
  • Migrated the code base from svn to git.

Technologies used:

  • Java
  • Jira
  • Scrumban
  • MS SQL Server
  • PostgreSQL
  • MySQL
  • Oracle

Full Stack Developer

June 2017 - September 2018

I initially joined Biomatters as a key member of the cloud team to create a new bioinformatics platform powering Geneious Biologics. My role was to bring my Scala experience to revamp the platform and upskill the rest of the team.

Achievements

  • Created several new reactive microservices which handled the scheduling and execution of jobs to attach assay data to millions of reads within a single NGS document.
  • Helped to instill best practices amongst the team and upskill them.
  • Removed some technical debt from initial MVP.
  • Implemented test contexts for setting up and running integration tests.

Technologies used:

  • Scala
  • Play
  • Lagom
  • Slick
  • CQRS
  • Event Sourcing
  • Spark
  • Kafka
  • Mesos & DC/OS
  • PostgreSQL
  • AWS
  • Terraform

Software Engineer

January 2010 - June 2017

My first job as a graduate was at Orion Health working on Rhapsody, an integration engine, and then named Symphonia, a messaging toolkit. Over the years I designed and implemented several new features. I was primarily responsible for supporting and maintaining Symphonia support which led me to do several rotations in the Rhapsody development support team. I prototyped the very first Rhapsody-as-a-service initiative from which we formed a new team to work on a new cloud native application. It was here where I first used Scala commercially and introduced it into the project.

Technologies used:

  • Java
  • OSGi
  • Guice
  • JSP
  • Cucumber
  • C#
  • C++/CLI
  • C++
  • Scala
  • Akka-Streams
  • Akka-HTTP
  • AWS

Skills & Tools

Frontend

  • React
  • Typescript
  • GraphQL
  • HTML & CSS

Backend

  • Scala
  • Java
  • Akka/Play/Lagom
  • AWS
  • Kubernetes
  • C#

Others

  • DevOps
  • Terraform
  • Pulumi
  • Debugging
  • Unit Testing
  • Property Based Testing
  • Functional Programming
  • Object-Oriented Programming
  • Reactive Programming
  • Reactive Architecture
  • Local-First Software
  • Event Sourcing
  • CQRS
  • Git
  • gRPC
  • SQL

Education

  • BSc in Computer Science
    University of Auckland
    2006 - 2009
  • BCom in Information Systems
    University of Auckland
    2006 - 2009

Volunteering

  • Director & Treasurer
    Long Bay Residents Association
    2024 - Present

Languages

  • English (Native)

Interests

Hobbies

  • Spearfishing
  • Snowboarding
  • Video Games
  • Board Games
  • Craft Beer
  • Coffee

Podcasts

  • CoRecursive
  • Functional Geekery
  • Happy Path Programming
  • localfirst.fm
  • AWS TechChat
  • Risky Business
  • Y Combinator

Sports

  • Rugby
  • Cricket
  • Drifting
  • Sailing