Download PDF


A dedicated, hard-working team player who is also just as comfortable when tasked to work on something individually. Takes pride in all aspects of work to ensure highest quality results. Able to think of innovative solutions and is  not afraid to challenge the established routine if a better one is apparent.

Thrives in a dynamic, fast-paced environment and possess strong leadership and organisational skills; able to motivate both self and others to exceed expectations. 

A passionate technologist with a pragmatic, evidence based approach to problem solving.

Work History

July 2018Present

Technical Architect


Created proof of concept for a new technology platform in Azure. This consisted of:

  • Infrastructure as code using Azure Resource Manager templates
  • CI/CD pipeline using Azure DevOps (VSTS)
  • Kubernetes (AKS)
  • HELM

Introduced CI pipelines for legacy apps in preparation for cloud migration using Azure DevOps covering concerns from automated testing to code quality and security vulnerabilities in dependencies.

April 2017July 2018

Head of Software Engineering

HM Courts & Tribunals Service

Member of the Senior Management Team to represent the Tech Leads across the program

Set software engineering standards

Shifted the program to being open source by default, adhering to GDS standards.

Formed a Platform Engineering function within the program and acted as Product Owner

Acted as Product Owner for continuous delivery pipelines being developed for new Azure platform to host all of the programs services.

Oct 2016April 2017

Technical Architect

HM Courts & Tribunals Service

Responsible for writing and circulating standards and patterns for a Java and Node JS platform to support multiple citizen facing applications.

Wrote technical solutions for:

  • securing microservices using JWTs
  • highly available and durable database replication, failover and disaster recovery with PostgreSQL
  • consistent, centralised logging
  • best practices with continuous integration, deployment and microservices
April 2016Oct 2016

Head of Engineering

On Track Retail

Responsible for hiring permanent and contract members of staff

Managed a team of 20 developers

Performed capacity planning

Conducted code reviews and one to one sessions with the team

Hosted architecture planning sessions with the team

Planned out a refactoring and technical debt repayment timeline

Remained about 20% hands on with doing Scala code and DevOps work

Developed improved release pipelines for all environments

Refactored areas of the Scala codebase to better utilise the DevOps utilities we had at our disposal

Produced proof of concept for moving towards containerisation

Refactoring Ansible playbooks for moving production environment to AWS

Migrated Jenkins build jobs to Travis and Artifactory

Administered the production Maria db Galera Cluster

Jan 2016April 2016

Interim CTO

On Track Retail

Restructured a team, post launch, to maintain a live product and continue to drive it forward

Responsible for hiring permanent and contract members of staff

Managed a team of 20 developers

Performed capacity planning

Orchestrated releases with multiple 3rd parties

Nov 2014Jan 2016

Software Engineer / DevOps

On Track Retail

Contributing to various Scala micro services, communicating internally over RabbitMQ

Writing REST APIs in Scala with accompanying RAML documentation and integration tests

Built a testable deployment pipeline for all microservices using Jenkins and Ansible. These enabled single lick deploys to AWS and VMWare CentOS machines.

Developed Ansible playbooks and roles from installing Scala microservices packaged as deb files to setting up a Maria db cluster of 7 nodes

Benchmarked and optimised Maria DB Galera Cluster

Oct 2010Nov 2014

Technical Team Lead

As well as leading technical projects with a team of developers, my responsibilities included System Administration and DevOps Engineering work

Introduced the company to Continuous Integration and Continuous Deployments

Migrated the technical team to using Puppet and Vagrant

Performed hardware upgrades and migration of databases to new servers

Developed an in house, self documenting, API framework 

Began to break down a monolithic code base into micro services

Separated sensitive systems into self contained API service to vastly reduce the scope of PCI compliance

Conducted one to ones with developers in my team

Took the role of Scrum Master for my team