Rough Work/the craft

Software is a Liability

A growing codebase feels like progress. Each new feature looks like a brick in the wall of something successful.

Then you try to change direction. The code resists. Every line you wrote is now something that has to be maintained, understood, worked around. That clever abstraction from six months ago? Someone has to decode it. That custom caching layer that seemed "interesting"? It's now technical inertia.

The momentum shifts. You start spending more time servicing the code than solving problems for users. There's a finite budget for complexity in any project—call them innovation tokens—and you've been burning yours on invisible infrastructure instead of differentiation.

The strongest technical move is often deletion. Or better—the decision not to write something in the first place. Duplication can be cheaper than the wrong abstraction, and the code that doesn't exist can't break.

to navigate