About
Eleven years of software engineering across networking, virtualisation, and data infrastructure, from founding engineer at an SD-WAN startup to the Database Engine team at Stripe.
The work has consistently been the layer other software depends on: control planes, platform frameworks, and the databases and streaming systems that sit underneath fast-growing products. Most recently that means database internals: storage engines, replication protocols, and the paths data takes between clusters.
I write about software systems and the engineering decisions behind them. The ideas in this field that last still come from papers, RFCs, and source code, and writing is how I check that I have actually understood one.
Experience
Mongo Database Engine, Compliance Platform
DRI for the DocDB Database Engine team: 20,000 nodes across 2,000 clusters. Storage-layer corruption, EBS and NVMe trade-offs, server selection performance, and the control plane in front of all of it.
Data infrastructure: Mongo, Redis, Kafka
Per-customer sharding across 400M records with negligible downtime, a Kafka pub-sub layer on Mongo CDC with exactly-once delivery, and chaos tooling on Kubernetes that put dead-letter queues and circuit breakers into services that lacked them.
Technical lead, Pivotal Tracker
Led the product through a transfer of ownership. Kafka consumer autoscale on Keda and custom Kubernetes controllers, chaos and load testing against Tanzu Mission Control stacks, and an event analytics platform in Go that replaced Mixpanel at 14M events a day.
Founding engineer to technical lead and architect
Joined as one of the first engineers directly from university and left leading the SD-WAN controller vertical, working alongside the executive team on a software-defined networking product.
Earlier: PHP and MySQL applications built during university. A second-hand book exchange, a note-sharing tool, a ride-hailing app.
Skills
Languages
Go, Rust, TypeScript, Python
Data
PostgreSQL, MongoDB, Redis, Kafka
Infrastructure
Kubernetes, Docker, Terraform, AWS, GCP
Systems
Distributed systems, replication, scalability
The work itself, from storage and replication to platform and deployment, multi-tenant data systems, and applied AI, is grouped by the problem it solves on What I build.
Where I am most useful
The problems worth bringing me are the ones underneath the product: a database that has stopped keeping up and nobody is sure why, a replication or migration path that has to hold while the system stays live, deploys that need a person watching them, or an agent that works in a demo and not in production.
If that is roughly where you are, tell me about it.