Track record
18+ years of turning messy problems into working software
From writing the code myself to leading teams that ship to thousands of customers — here's where that experience came from.
Roles
Where the experience was built
Each role below is the short version — the pattern is always the same: find what's actually broken, then fix it in a way people can keep running.
DevSecOps Principal Lead and Coach
June 2022 - Feb 2025BT Business · Manchester
- —Built a reusable way for engineers to deploy their own Java and Node.js applications, with security, reliability and monitoring built in from the start rather than bolted on afterwards.
- —Created ready-made templates so new applications came with automated testing and deployment already wired up, cutting weeks off every new project.
- —Built the small building blocks used to set up every new cloud account safely and consistently.
- —Delivered and hosted new customer-facing websites so customers could sort things out themselves rather than phoning in.
- —Coached engineers and managers one-to-one, helping teams adopt the delivery practices proven to work best by DORA's State of DevOps research.
NodeJavaPythonSpring BootNextJSAWS SAMAWS EKSAWS ECSDockerArgoCDTerraformPulumi
Cloud Services Lead
Dec 2018 - May 2022Plusnet · Sheffield
- —Led the build of a private cloud platform that gave the business the same speed and self-service ease as the big cloud providers, at a fraction of the cost.
- —Put comprehensive monitoring in place across networks, storage and infrastructure, so problems were spotted before customers noticed them.
- —Moved the systems that run sales, customer relationships and support onto the new platform, cutting running costs and getting new ideas live faster.
- —Championed sensible risk management and training, and set up a forum that introduced a new container platform with a much simpler deployment process.
- —Built a timesheet tracking application end to end, making it easier to account for project time and less of a chore for engineers.
NodeTypeScriptRuby on RailsPHPSpring BootAWSDocker SwarmTerraformJenkinsBitBucket
Lead Cloud Engineer
May 2016 - Nov 2018Plusnet · Sheffield
- —Transformed the internal engineering cloud platform, making it more secure, breaking it into smaller independent services, and automating the build process.
- —Introduced self-service access, cutting the time it took to set up a new environment from 3 hours to 5 minutes.
- —Grew the number of test environments from 19 to 100 so more teams could work without waiting for each other.
- —Led the build of a pre-production environment purpose-built for testing failures, non-functional issues and migration dry runs before they hit customers.
NodeJavaScriptTypeScriptRuby on RailsPHPDocker SwarmTerraformAnsibleJenkinsPuppet
Lead Software Engineer
Jan 2013 - Apr 2016Plusnet · Sheffield
- —Overhauled the business release process, moving from a monthly out-of-hours event to a routine in-hours release every two weeks.
- —Led a change to how every engineering team managed and versioned their code, bringing consistency across the business.
- —Improved the release tooling, making development environments more stable and removing common blockers to shipping.
- —Delivered Plusnet YouView TV, growing the offer from two services to three, and led the rollout of BT Sport.
- —Managed two UK-based teams (12 engineers) and coordinated with 10 offshore teams (8 engineers) as part of a major programme to rewrite Plusnet's legacy order-processing system.
JavaJavaScriptGroovyPHPSpring BootJ2EEJSPTomcatJBossJenkins
Senior Software Developer
Dec 2009 - Dec 2012Hitachi Capital · Leeds
- —Stabilised a set of large, tangled Java web applications and rebuilt them as a clean web API that could be used both internally and by outside partners.
- —Introduced the company's first automated testing and continuous integration as part of that rebuild.
- —Delivered new features requested by external clients on a steady two-week cycle, backed by automated tests.
- —Added a consistent way for applications and users to log in securely, with role-based permissions to control who could do what.
- —Built a notification system to keep partner organisations automatically up to date.
JavaGroovyJavaScriptSpring BootJ2EEJSPTomcatJBossGitJenkins
Software Consultant
July 2007 - Dec 2009Artistry Solutions · Sheffield
- —Built Otaten.com, a website and online booking system for event equipment hire, hosted on Digital Ocean with automated deployment via CircleCI.
- —Built RooneyChase.com, a website and online booking system for a salon, hosted on Amazon AWS.
- —Delivered RODI end to end and installed it on site — a system for recording and transcribing video and audio.
- —Built Business Brain for ZUUK, a desktop application for secure, instantly editable documents with a full audit trail.
.NETJ2EEEclipseJBossOracleMeteorAWSS3CloudfrontDigital Ocean
Education
The academic grounding behind it
University of Sheffield
PhD, Computer Science — Verification and Testing Group
Thesis: A process-driven quality assessment model for electronic healthcare records
University of Sheffield
BSc, Computer Science and Mathematics
Dissertation: XML-based application for archaeologists
Toolkit
The technology that gets used most often
AWSDockerKubernetesTerraformJavaNode.jsPythonTypeScriptReactSpring BootNextJSCI/CDJenkinsGitLabPrometheusGrafanaArgoCD
