5 ms·
I actually somewhat disagree with the premise of this article, but I found it quite thought-provoking. From my standpoint as a programmer, the concept of "mess
by mcantor 17y ago
I actually somewhat disagree with the premise of this article, but I found it quite thought-provoking. From my standpoint as a programmer, the concept of "messy code as technical debt" is too valuable as a tool to get my manager on board with rewriting & refactoring to get rid of. I would consider ceding "messy code" as part of my definition, but only if an equally expressive phrase were coined in its stead.
- Tichy 17y agoThat's exactly how I think about "technical debt": it is a marketing buzzword invented by consultants to justify higher rates.
- StrawberryFrog 17y agoI think of it as a geeky buzzword invented by coders to get management to understand the need for refactoring, increasing test coverage, and other necessary "mess-cleanup" actions that revisit working code. In other words, it is a necessary term.
- jerf 17y agoBehind almost every buzzword is a useful concept. "Technical debt" is not one of the exceptions. I have found this useful to keep in mind as I step a bit into the business world. For instance, "solution" and "value proposition" both mean something very important; the fact that many people sling these words around with wild abandon doesn't excuse you from needing to know what they mean. It's the same with "technical debt" and even things like "use case".
- Tichy 17y agoI am not disagreeing in principle, but I have a hard time seeing the value proposition of "technical debt". Doesn't it translate directly to "bad code will cost you in the end, therefore you should hire expensive consultants who know how to code"? I side much more with 37signals (I think it was), who said any code you write will eventually become legacy code. Therefore I wonder if it is really worth fussing so much about the technical debt stuff. On the contrary I have more than once in my dark past as a Java programmer tried to do things "the right way", only to find that a couple of months later "the right way" was just as outdated as everything else.
- mcantor 17y agoThere's a big difference between trying to do things "the right way" and finding out your code still became obsolete, and winging it to produce crappy, unmaintainable code that will cost you hours many times over!
- lallysingh 17y agoWell I think the underlying concept is that we need additional terminology to support multiple issues. Here, technical debt's the intentionally short-sighted design decisions written in such a way that it's easy to refactor (e.g. debt, but low interest). Messy code may be called something like "Junk Code" (the metaphor being high-interest, high-risk junk bonds) or, if you're talking about code you didn't write yourself: "toxic assets."