Summary
I'm a Principal Engineer at Co-op, where I lead four teams building and running the online grocery business; processing around 500,000 orders per week across first-party and partnership channels, and generating over £13m in revenue weekly. My day-to-day spans everything from setting strategic technical direction and representing engineering in business forums, to staying close enough to the code to have an informed opinion on it.
I've spent the last decade building systems where reliability genuinely matters: national road and rail infrastructure at Thales, and increasingly complex e-commerce at Co-op. That background and experience shape how I think about risk, rollout, and the gap between "works-in-testing" and "works-at-scale."
I care about making teams effective as much as making systems reliable. I have a strong interest in distributed systems and resilient software design using event-driven architectures, rigorous observability, feature-flagged rollouts with safe rollback, A/B testing to validate decisions, and a culture grounded in data rather than instinct.
Experience
Co-op TechnologySept 2020 – Present
Co-op is one of the UK’s largest consumer co-operatives, operating across food retail, funeralcare, insurance, and legal services. I joined Co-op Digital in 2020 and have since held multiple roles, progressing from Lead Engineer to Principal Engineer, working in three distinct business areas.
Principal Engineer - Q-CommerceMay 2024 – Present
I lead four engineering teams responsible for building, running, maintaining, and securing Co-op’s Q-Commerce business, with over £13m in revenue per week, just under 10% of Co-op’s Food business.
Over the past year, I have led the re-platforming of our headless eCommerce solution from Naveo to Salesforce Commerce Cloud, which has also included the launch of Amazon MFG (Merchant Fulfilled Grocery). The migration spans multiple teams across Co-op and has been designed to be completely transparent to customers and in-store colleagues. The frontend integration is developed behind a feature flag in shop.coop.co.uk, and the backend services are built to route orders through either platform, arriving to colleagues identically regardless of which system processed them.
The platforms I am responsible for handle around 500,000 orders per week across first-party and partnership channels. I am accountable for the overall quality of delivery and technical direction of the Q-Commerce product teams:
- coop.co.uk - brochureware and marketing sites
- shop.coop.co.uk - a Next.js site hosted on Vercel, processing ~45,000 orders and ~250,000 sessions per week
- eComm Platform - backend data loading and transactional services powering shop.coop.co.uk
- eComm Partnerships - transactional and product feeds to Just Eat, Deliveroo, Uber Eats, and Starship
The eComm Platform and Partnerships teams share a common event-driven architecture: subscribing to Azure EventGrid for product, pricing, and promotional updates, processing them through Azure Service Bus, and persisting to Cosmos DB.
Both shop.coop.co.uk and coop.co.uk make extensive use of A/B testing to identify, prove, and optimise customer metrics from conversion and basket size to journey completion. Feature flagging is central to how we manage risk in production, enabling incremental rollouts, test-in-production, and rapid rollback if and when needed.
Principal Engineer - FuneralcareSept 2022 – May 2024
Funeralcare operates across two areas: a financially regulated pre-need business selling funeral plans, and an at-need business supporting clients through funeral arrangements; I led teams in both of these business areas. I joined the team to lead on a business-critical system migration into Microsoft Dynamics 365 to ensure we remained compliant across all of our pre-need customer journeys. Without this migration, the business would not have met its regulatory compliance obligations, and therefore would have prevented trading.
I also worked closely with the web teams to bring the pre-need and at-need sites closer together, both technically and visually. Within the constraints of the regulated business, I led the team to develop a shared set of reusable components used across the CMS, which involved auditing, deprecating, migrating, and building flexible, robust components.
Lead Engineer - Q-CommerceAug 2021 – Sept 2022
I led a team to fully embrace and extend a TypeScript/Node.js backend-for-frontend (BFF) service, migrating all server interactions in shop.coop.co.uk through a single distributed layer with consistent observability and alerting. This work identified a number of previously unknown error-prone endpoints and significantly improved our mean time to detect (MTTD) and mean time to resolve (MTTR) across the platform.
The BFF also became the foundation for a low-risk migration from our legacy Naveo platform to their latest offering, a completely reworked authentication mechanism feature-flagged behind the BFF, giving us the ability to test in production and roll back instantly if issues emerged.
Lead Engineer - One WebSept 2020 – Aug 2021
I led the team delivering the majority of Co-op's websites, handling 45 million requests per week. I led the migration from legacy infrastructures, including Elastic Beanstalks and a manually created Kubernetes cluster, into an AWS platform-as-a-service offering. The transition was transparent to users and over halved the total infrastructure cost of the platform.
Thales - Ground Transportation SystemsSept 2014 – Sept 2020
Across six years at Thales I worked on large-scale, safety-critical systems in the transport sector used by virtually anyone travelling on a trunk road or by rail network in the UK, progressing from full-stack development to leading front-end teams. I was recognised as a senior engineer and regularly engaged across the business on web technologies, UI development, and DevOps practices. I represented the local development community in a nationally recognised UI & GIS Specialist Engineering Team, sharing knowledge across Thales' business lines.
TIRIS - Predictive MaintenanceFront End Web Engineer, May 2018 – Sept 2020
Led front-end development on an AI data analytics platform for rail infrastructure aimed at reducing unplanned maintenance to zero. Introduced API testing, static analysis, and automated performance testing into the build pipelines. Built on a microservice architecture in Microsoft Azure.
London Underground - 4LM ProgrammeSoftware Integration Engineer, Sept 2016 – May 2018
Led software delivery for a control system as part of a €1bn project bringing record capacity to the Underground network. Maintained the CI platform, managed releases across test and production environments, and acted as a conduit between engineering teams across multiple locations.
Highways England - National Traffic Information ServiceFull Stack Developer, Sept 2014 – Sept 2016
Worked on a system managing England's strategic road network, collecting near real-time data to help operators direct traffic across almost 5,000 roadside message signs. Built in Java, Spring, Hibernate, and Oracle RAC. Also served on the out-of-hours support rota, responsible for restoring operational service during incidents.
Skills
Leadership & Communication: Engineering leadership at department level, technical strategy and roadmap setting, representing engineering in business forums, translating complex technical challenges for non-technical stakeholders, coaching and mentoring, hiring, performance management.
Delivery: Data-guided decision making, A/B testing, feature flagging (Vercel flags), secure software development, automated CI/CD pipelines, Agile methodologies, Atlassian tooling (Jira, Confluence).
Observability & Incidents: Grafana, Sentry, Azure Application Insights; designing on-call processes, automated alerting, runbook development, incident response. Measurable focus on reducing MTTD and MTTR.
Cloud & Infrastructure: AWS, Microsoft Azure (AKS, Service Bus, EventGrid, Cosmos DB, App Insights), Vercel; distributed systems, event-driven and microservice architectures, async messaging at scale (Azure Service Bus), cost-conscious platform design.
Languages & Frameworks: TypeScript and JavaScript (Node.js, Next.js including server-side and BFF services), Java (Spring, Hibernate), HTML, CSS, Tailwind.
Education
BSc Software Engineering | Manchester Metropolitan University | Sept 2011 – Aug 2014