About me
I’m a senior/staff software engineer with a decade of experience building and operating the infrastructure behind large-scale, real-time systems. I’ve led cloud migrations and platform teams at Cisco ThousandEyes and SamKnows, and I independently design and ship complete products end to end, from backend architecture through billing and release engineering.
I started out making games in Flash and writing an IRC client to earn a Trials2 achievement, went on to study Computing (BSc, 2:1) at Canterbury Christ Church University, and have worked across the stack ever since.
Experience
Cisco ThousandEyes: Software Engineering Technical Leader (2023 – 2026)
Led a team of five, architecting ThousandEyes’ integration of SamKnows following its acquisition.
- Architected a zero-downtime migration of 50+ services from GCP to AWS, including middleware that translated legacy API keys and auth so existing and new customers were served without disruption.
- Designed the Terraform and Kubernetes approach for the new environment and led the application changes needed to pass extensive penetration testing.
- Led an observability overhaul (Prometheus, Grafana, OpenTelemetry, alerting, runbooks) across every migrated service.
- Designed a real-time measurement pipeline feeding the alerting platform, and a replacement agent-to-server protocol in Go using gRPC and Protobuf.
- Moved a monolithic API and database to domain-owned gRPC services fronted by per-UI REST backends for frontends.
- Awarded Superhero of the Quarter, selected company-wide.
SamKnows: Senior Platform Engineer (2021 – 2023)
Founded and led the platform team. Led the migration from fully self-hosted infrastructure to GCP-native (Kubernetes, ArgoCD, Terraform, MySQL, Redis), and built a custom CD pipeline that updated ArgoCD manifests from GitHub webhooks.
uMotif: Senior Backend Engineer (2021)
Helped design a clinical trial data capture system that enforces scheduled, verifiable submissions, and built the team’s first domain-structured microservice using hexagonal architecture.
SamKnows: Senior Software Engineer (2020 – 2021)
Built the Go WebSocket API behind realspeed.com, enabling real-time performance testing across 40M+ reachable agents, implemented SAML SSO for a major UK ISP, and maintained a data pipeline processing 2 billion measurements a day.
Earlier roles
Software engineer at Infinity.co (2019) and at the London Internet Exchange (2017 – 2019), where I built automation for configuring live exchange switches and helped define IX-API, an open industry standard for service provisioning across internet exchanges. Before that, developer at Submission Technology (2014 – 2017), building ad-serving and email platforms and introducing Cassandra, Kafka, Spark and microservices.
Independent projects
- FlippingRS: a full-stack SaaS for Old School RuneScape traders. Go, Vue, MySQL, Stripe billing, and a market-data engine that streams live prices to the browser.
- Flockdeck: a cross-platform desktop app, written in Go and shipped as a single binary, for running multiple coding agents side by side. In active development.
- Stash Grabber: a physics heist platformer in Godot with a procedural level generator, Steam leaderboards and Workshop support. Coming to Early Access.
Skills
- Languages: Go, PHP, Python, JavaScript/TypeScript, Java, Kotlin, GDScript
- Data: MySQL, MariaDB, Cassandra, MongoDB, Redis, Kafka, Spark
- Infrastructure: AWS, GCP, Docker, Kubernetes, Terraform, ArgoCD, Jenkins
- Architecture: microservices, hexagonal and domain-driven design, gRPC, event-driven and real-time systems
Get in touch
You can find me on LinkedIn, GitHub and Stack Overflow, and there is a full CV to download.
About this site
I write here to solidify my understanding of a topic and to keep track of what I’ve been working on. Hopefully other people find these posts at least mildly interesting or educational. The site is built with Hugo.