I'm a software engineer with 10+ years in Staff+ roles, specializing in distributed systems, platform engineering, and infrastructure at scale. Currently a Principal Engineer at Midokura, building GPU infrastructure and automation for AI workloads. Previously at New Relic, Adevinta (serving 1500+ engineers), Last.fm, and others (see about for more).
Below are some pieces I wrote. You can get updates via mailing list using the form below, or via RSS feed (expect low frequency, long form content.) I'm also at Twitter/X and Bluesky.
Archive
- PoC is a framework of perverse incentives
- AI-generated code will choke delivery pipelines
- Why aren't we all serverless yet?
- Identifiers are better off without meaning
- Alert on symptoms, not causes
- How about we forget the concept of test types?
- How organisations cripple engineering teams with good intentions
- Migrating an Eureka-based microservice fleet to Kubernetes
- ⭐ Talk write-up: "How to build a PaaS for 1500 engineers"
- ⭐ Kubernetes made my latency 10x higher
- Sizing Kubernetes pods for JVM apps without fearing the OOM Killer
- GC forensics by example: multi-second pauses and allocation pressure
- ⭐ How does the default hashCode() work?
- Frugal memory management on the JVM (Meetup)
- DirectBuffer creation / disposal has hidden contention on sun.misc.Cleaner