There's No Limit to How Bad Code Can Get
The author argues that technical debt in software development does not have a 'floor' and can accumulate indefinitely, unlike physical infrastructure. Using personal experience at Amazon, the piece highlights how complex systems can become unmanageable and opaque over time.
Why it matters
Challenges common metaphors used in software engineering management, suggesting that code quality degradation is a persistent, non-terminal risk.
TL;DR: Metaphors like "a sinking ship" are often used to describe codebases, but are misleading. A business will sink long before code quality reaches a hypothetical floor. Technical debt has no bankruptcy, no clean reset, so metaphors that imply an end provide a false sense of security.
Software is in the domain of the abstract. It is not like a building, or a bridge, that is in the physical realm where you can see and feel the nature of the thing. If you continue to add floors and rooms to a building forever, it will collapse. Software faces no such constraint. The code can always get worse. There can always be a new layer of indirection or a reduction in performance.
Get smarter about the news
Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.
Create free accountAlready have an account? Sign in