I'm a software engineer specializing in distributed systems and platform infrastructure. I help engineering organizations scale their delivery pipelines, cloud architectures, and technical operations. I'm currently a Principal Engineer at Midokura building infrastructure and automation for AI workloads, and previously worked at New Relic, Adevinta, Last.fm and others (see the about section for more).
I'm interested in how the systems we build to produce and manage software need to adapt as AI agents become first-class citizens.
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 Bluesky and Twitter/X.
Archive
- 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