← Back to context

Comment by dustinboss

9 hours ago

"Technical debt is the pollution of the digital world, invisible until it chokes the systems that depend on it." Such a great line.

And also false. Good programmers are always aware of the debt. It’s just not easily quantifiable as part of it can only be estimated when a change request has been made. And truly known when implementing the change.

It’s always a choice between taking more time today to reduce the cost of changes in the future, or get result fast and be less flexible later. Experience is all about keeping the cost of changes constant over time.

  • We can both be aware of the debt and still get choked by it. It's what makes pollution such a great metaphor. We know we're creating it -- even try to mitigate it -- but it still keeps growing.

    • Tech debt grows only when you don't care. We have codebases that are old enough to drive where the debt is not growing at all. You got there by the code being a good representation of the domain requirements in the technical space. If the domain don't change much (they rarely do), you don't have to do much work in the technical space. And if the latter change (platform and library updates), it's gradual enough that you can spread the cost over time.

      You got tech debt when rushing to implement stuff while having an incomplete representation of the problem. And then trying to patch the wrong solution instead of correcting it.