On Shipping Fast Without Breaking Everything
1 min read
#engineering#process
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.