Notes on testing, automation and the bugs that hide in plain sight.
A personal engineering blog about flaky tests, reliable CI pipelines and the habits that keep releases boring.
Latest posts
Taming a 4% flaky suite without retries
Retries hide problems. How we traced shared state, clock drift and test order dependence, and brought flakiness under 0.2%.
Contract tests vs. end-to-end: what to keep
A practical rule of thumb for deciding which checks belong at the API boundary and which really need a browser.
Table-driven tests that stay readable
Naming cases, isolating fixtures and using t.Parallel() without turning the suite into a puzzle.
The timezone bug that only appeared on Sundays
A short story about a date boundary, a cached value and a very patient on-call engineer.
Topics
About
I'm a QA automation engineer who likes breaking things politely and then writing a test so they stay fixed. This blog collects what I learn along the way.
Everything here is written by hand, hosted on a tiny server, and has no trackers. Day to day I use Go, Docker and far too many shell one-liners.