Ask HN: What is tech debt to you?
Two questions I have been asking myself recently:
- What is tech debt, really?
- Is the phrase tech debt being misappropriated to justify rewrites?
I've noticed a worrying pattern of engineers strongly rejecting the idea of maintaining inherited applications, because it's "old", "ugly", "unmaintanable". They want to rewrite, "clean", "best practices", "easier to maintain".
These are applications that work and serve millions of users a day, they are sometimes built upon unfamiliar libraries, they do things in ways you haven't seen before, but does that make them bad? Does it justify rewriting them, into your own delineation of "good code", so when you leave the next person starts the cycle again.
I've written code that is obselete within a few sprints due to the project going in a slightly different way. How is new code not subject to tech debt in the exact way older code is?
The more I see this behaviour, the less I want any part of rewrites. I am more than happy to be the person to iteratively improve on an existing, working system.
Maybe this has just become a rant, but I am curious of other's experience.