Observability without dashboards.
Most teams treat dashboards as the destination — they're not. Dashboards are the airport: a place you pass through on the way to a real answer. A note on logs, traces, and the discipline of asking better questions.
Twelve essays, written in the gaps between the real work. They tend toward the unfashionable: error paths, naming, abstraction politics, and the strange comfort of code that grows old gracefully.
Most teams treat dashboards as the destination — they're not. Dashboards are the airport: a place you pass through on the way to a real answer. A note on logs, traces, and the discipline of asking better questions.
The way your code fails is part of how others read it. A short argument for treating error paths with the same care as the happy ones.
↗On naming variables, files, and projects — and why the quiet satisfaction of a perfectly chosen identifier is one of the strange joys of this work.
↗An honest postmortem of the 36-hour database migration — what went wrong, what I'd do differently, and why "rolling back" is not always an option.
↗Not all code is meant to be rewritten. Some is meant to age. A small list of things I've found shared by codebases that did.
↗Every abstraction has a constituency. A meditation on the invisible alliances that form around interfaces — and what happens when they break.
↗The same three things, every six months. They have not yet stopped being true.
↗Yes, the pendulum has swung. No, the answer is not to undo small functions wholesale. A careful look at when to inline, and when to leave well enough alone.
↗They are the first thing every reader sees. We treat them like they're the last thing we wrote.
↗end of feed · 12 of 12 entries
Subscribe via RSS →