Don't Let a Bad Deploy Teach the Wrong Lesson
An incident always teaches you something. The trick is not learning the wrong lesson. A story about a failed self-service deploy and what it actually proved.
Writing about infrastructure, software supply chain security, and what happens when you remove too much friction from engineering.
An incident always teaches you something. The trick is not learning the wrong lesson. A story about a failed self-service deploy and what it actually proved.
When I first led a team, I made every decision run through me. A manager set me straight: my job was never to make the decisions, it was to make sure decisions got made.
Developer productivity isn't limited by effort or typing speed. It's limited by how much an engineer can hold in their head at once, and protecting that is most of the job.
The job of a technical leader isn't to make every decision. It's to build the systems that let good engineering happen without them in the room.
Resilient systems need inefficiency built in. Seedlings, deadlifts, and what happens to engineers who never learn to struggle.
The best use of AI isn't vibe coding or refusing the tool. It's pair programming in the deepest sense, where both parties bring something the other can't.
Security has a baseline that everyone should meet. Above that, the right level of security depends on your threat model, and that's a business decision, not a technical one.
Most developers learn DRY as 'don't duplicate code.' The original principle is about something deeper: every piece of knowledge should have a single source of truth.
Why I ditched Hugo after years and rebuilt my personal site from scratch with Astro, Tailwind CSS v4, and DaisyUI v5.