Point of view.
Writing on QA, quality engineering, and the uncomfortable truths about how software teams actually work. No vendor pitches. No framework evangelism. Pattern recognition from the inside.
The best tester I ever worked with would have flunked your automation interview
The best tester I ever worked with would have flunked your automation interview.
Read article →Risk-based testing without the dead spreadsheet
"Where's your risk-based test plan?"
Read article →Flaky tests are a design problem, not a tooling problem
"Our tests are flaky. We're shopping for a better test runner."
Read article →Coverage targets are Goodhart's Law in a hi-vis jacket
"We've mandated 80% coverage across every repo."
Read article →The best bug triage has fewer bugs, not faster triage
The best bug triage meeting I've ever sat in was over in four minutes.
Read article →The problem with your 87% coverage score
Coverage metrics measure activity, not confidence. High-coverage test suites routinely mask quality gaps — and AI code generation is making the problem harder to see and easier to ignore.
Read article →Your CI pipeline is green. Your system isn't.
Environment failures account for the majority of CI flakiness, and your team has learned to treat test failures as noise. That is the most dangerous outcome a QA function can produce.
QA gets cut first because it measures itself in the wrong currency
Every QA team that gets downsized in the next 18 months will share one trait: they reported test coverage instead of business outcomes. Those are not the same thing, and executives have noticed.
AI won't fix your test strategy. It will accelerate the mess.
AI-assisted testing is a force multiplier. If your underlying strategy is sound, you will move faster. If it isn't, you will accumulate technical debt at a rate that was previously not possible.
Get new insights in your inbox.
No fixed cadence — published when there's something worth saying. Unsubscribe anytime.
Practitioner register.
No hedging.
These pieces are written for people who have been in client war rooms, debugged flaky pipelines at 11pm, and argued with a CTO about what "done" means. The goal is a sharper framing of problems you already half-know, or language for something you have not been able to articulate yet.
Opinionated
Every piece takes a position and holds it. The goal is a claim specific enough that someone could disagree with it — not a summary of what everyone already thinks.
Grounded
Abstract advice without an example is noise. Every argument is anchored in a pattern, a client archetype, or a specific failure mode seen in the field.
Sceptical of hype
Vendor claims, framework evangelism, and buzzword-heavy thought leadership are fair targets. Nothing here is endorsed without direct experience.
Timely
Each piece is tied to something happening now — a tool shift, a hiring pattern, a debate circulating among engineering leaders. Not evergreen content in disguise.