Posts Tagged "Engineering"
Don't Paint Yourself Into a Corner
Larry Wall built Perl around a principle: no unnecessary limitations. Most of the limitations we build into our own code aren't necessary either — they're laziness wearing the costume of caution, and every one is a wet patch of floor between you and the door. Stop boxing in your future self.
Read Post
Most Infrastructure as Code Is Broken — and Reconciliation Is Only Half the Reason
Run terraform plan against infrastructure nobody has touched in a month and watch it propose changes. That drift is the absence of a reconciliation loop. But the missing loop is only half of why most Infrastructure as Code is broken — and bolting a loop onto the other half just gets you to broken faster.
Read Post
There's More Than One Way to Get Observability Right
The specialize-versus-unify argument feels like a religious war. It isn't. Both sides are right — they're answering different questions. There are several ways to get observability right. The way to get it wrong is to never ask which one you're building for.
Read Post
Continuous Acceptance Tests
An acceptance test run once before deploy proves the data was correct for one instant. The data does not stay correct because the deploy was green. Stop retiring your best test the moment it passes. Run it forever.
Read Post
Incident Management
The role-based incident-response model Jesse Robbins brought from the fire service into web operations, written down from memory as I learned it. Incident Commander, Scribe, SMEs, severity, the CAN format, and the discipline that makes the framework actually work when the page goes off at 3 AM.
Read Post
C-Style Thinking vs Go-Style Thinking
You can identify a programmer's native language by the tools they build. Go and Perl natives build tools with sane defaults that work out of the box. C and C++ natives build tools that require you to understand the entire problem space before you can do anything at all.
Read Post
'Can' vs 'Does'
The difference between a system that can fail and a system that does fail is time. Murphy's Law is not a joke. It is a design constraint. Every moving part you add is another bet against the house, and the house always wins.
Read Post
The Best Dog Trainer in the World - Or Why Getting Better Isn't Helping
When something has been failing for a while despite competent people working on it, the problem is almost certainly not competence. Before you optimize, ask yourself whether you are training a dog or a cat.
Read Post