I'm a software engineer focused on distributed systems and software delivery. I work best in senior or staff+ hands-on roles, from which I can directly support execution while translating business problems into technical solutions, and making complex systems intelligible to stakeholders.
I work as a Principal SWE at Midokura where we build systems to manage fleets of edge devices, deploy AI vision models, and stream real-time inferences to the cloud. All part of Sony's Edge AI sensing platform. Previously, I worked at New Relic, Adevinta, Last.fm and some others. For more info, see the about section.
I write about software engineering. 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