Go / Java engineer · Maidenhead, UK

Experience Link to heading

Ennismore · Go Engineer

Sep 2022 – present
  • Contract role back at Ennismore — working on version 2 of the hotel room booking engine.
  • Leading new Stripe integration and architecture.

Go · DataDog · AWS (Lambda, S3, DynamoDB) · SST · Temporal

Methods · Go Engineer

Jan 2022 – Sep 2022

Go · AWS (S3, DocumentDB) · Kafka · Hashicorp (Nomad / Consul / Vault) · GitHub · Concourse · Terraform

Sainsbury's · Go Engineer

Sep 2021 – Dec 2021
  • 3-month short-term contract.
  • Feature enhancements to the RESTful API layer around the enterprise retail platform XML service used for in-store Smart Shop, Groceries Online, and Uber Eats / Deliveroo integrations.

Go · gRPC · Protobuf · Postgres · AWS (ECS, SQS, SNS, DynamoDB) · GitHub · Jenkins · Terraform · Grafana · New Relic · ELK · Docker

Ennismore · Go Engineer

Sep 2019 – Sep 2021
  • Initially a 6-month contract, extended then converted to perm in April 2020.
  • Part of a small team delivering an in-house hotel room booking system.
  • Greenfield project; in production for 11 hotel tenants by January 2021.
  • By Sep 2021: ~7,000 bookings/month generating £5M in monthly revenue.
  • Integrated with Oracle Opera (legacy SOAP), Stripe and Adyen for payments, and various RMS/CRM systems via HTTP APIs.
  • Microservice, event-driven architecture written primarily in Go (plus one Kotlin service), running on managed Kubernetes (EKS) with internal gRPC.

Go · Kotlin · gRPC · Protobuf · Postgres · AWS (EKS, SQS, ECR) · Kubernetes · GitHub Actions · Drone · Terraform · Grafana · LogDNA · Kong · Docker · Stripe · Adyen

Kainos · Java Engineer

Jun 2018 – Sep 2019
  • Initial 6-month contract plus one extension.
  • Part of the Money Claims service for HM Courts and Tribunals Service.
  • Team of 30 running a hybrid Agile model — mix of Kanban and Scrum.
  • Owned several key migrations: Azure App Service → AKS; case data centralised to a single source of truth; IdAM upgrade from in-house to ForgeRock.

Azure (DevOps CI/CD) · Jenkins · Travis · Kubernetes · Flux · Docker · Terraform · GitHub · Postgres · Spring Boot · NodeJS · TypeScript

Oddschecker · Senior Java Engineer

May 2016 – Jun 2018
  • Senior backend engineer on the sports-betting odds comparison platform.

ETS · Head of Technology

Jan 2001 – May 2016
  • Long-tenure engineering leadership role spanning many platforms and stacks.

Education Link to heading

BA (Hons) Computer Science

2:1 · Kingston University

BTEC National Diploma in IT

Distinction · East Berkshire College

Interests Link to heading

When I’m not writing code:

  • Golf — playing more than I’m good at; happiest on a quiet course at dawn.
  • Squash — short, sharp, fast — the antidote to a long day at the screen.
  • Football — supporting from the sidelines and the sofa.
  • Film & TV — a steady diet of thrillers, sci-fi, and the occasional prestige drama.
  • Fiction — see also reading — currently somewhere between literary and crime.