// Writing
On Shipping Fast Without Breaking Everything
Most teams treat "move fast" and "don't break things" as a dial you turn one way or the other. In practice they're mostly orthogonal. The teams that ship fast and stay stable aren't cutting corners everywhere equally — they're being deliberate about which corners are safe to cut and which aren't.
The corners that are safe to cut
- Perfect abstractions on day one
- Configurability nobody asked for
- Test coverage on code that will be deleted in a month
The corners that never are
- Data integrity
- Anything touching money or auth
- Rollback paths
The pattern I keep coming back to: invest heavily in reversibility, and everything downstream of that gets cheaper. If a bad deploy can be undone in sixty seconds, you can afford to move faster on the stuff in front of it.
Slow is smooth, smooth is fast — but only once the fundamentals are boring.
That's most of the job, honestly. Make the boring things boring, so the interesting things can move quickly.
// Read next — more in Engineering & process
Your AI Gateway Is on the KEV Catalog Now
CISA put LiteLLM, Starlette, and Kestra on the KEV catalog on the same day. The AI plumbing you never inventoried is the part being exploited in the wild.
5 min read
How to Vet an MCP Server Before You Install It
97M+ monthly downloads, 8.5% OAuth adoption, 82% path-traversal exposure. A five-step workflow for deciding whether a specific MCP server deserves a place in your config.
12 min read
Threat Modeling for AI Agent Systems
Threat modeling fails because it runs as a quarterly workshop. Run it in sprints, at the architecture layer, and start with the agent surfaces scanners can't see: tool calls, memory, MCP servers.
15 min read