Context, Not Control
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.
Writing about infrastructure, software supply chain security, and what happens when you remove too much friction from engineering.
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.