3 ms·
The main reason that I agree with this is that developers are, as a group, the boy who cried wolf. It's not that technical debt doesn't matter or code quality
by candybar 13y ago
The main reason that I agree with this is that developers are, as a group, the boy who cried wolf. It's not that technical debt doesn't matter or code quality doesn't matter but so many developers complain about technical debt and code quality when their concern is irrelevant or flat-out wrong that it's difficult to distinguish a legitimate concern from complete BS.
Developers very often use technical debt or doing the right thing or similar arguments as an excuse not to understand an existing codebase and past choices, to convince management or fellow developers to rewrite something that doesn't need to be rewritten, or to buy time to learn and try new technologies/methodologies/patterns that are supposed to be better without understanding tradeoffs or to satiate their desire to overengineer and build a cathedral, when a simple cart would suffice. These efforts acrrue, rather than pay off, actual technical debt. A simple hardcoded one-off is a lot easier to throw away or fix than a half-assed "elegant" design with configuration options and tight coupling everywhere.
All this means developers and managers are correct to be skeptical when another developer talks about technical debt as a reason that they can't do something quickly. It's not that elegance and technical debt and doing the right thing, etc, don't matter.
- Edmond 13y agoditto. Phony concern for technical debt is the perfect cover that many developers use to further their own ideology instead of simply focusing on getting things done.
- EdwardDiego 13y agoTechnical debt can be a very real issue though. I always strive to highlight the 'interest' we are paying on our technical debt to our product owners, so that they understand what deferring necessary work is costing them.
- sutterbomb 13y agoI wouldn't go quite as far with the generalization, but this notion is very important. Just as developers are often skeptical of a business leader's motivation (is it right for customers or just for his/her ego? etc.), business leaders can be skeptical of technical debt and code quality arguments not because of the concepts themselves but the motivations behind the person doing the arguing.
- leobelle 13y agoI don't know man. I have been buried under mountains of technical debt before. It's a pretty horrifying experience and makes me paranoid about writing bad code. It's kind of like how starvation makes you see food differently. Technical debt isn't a joke.
- deleted 13y ago[deleted]
- kwhitefoot 13y agoIf it is elegant then it won't have tight coupling everywhere. Presumably by "elegant" you really mean inelegant.
- candybar 13y agoHence the quotes. What I find interesting is that there's a class of developers for whom their quest for elegance results in the exact opposite of elegance. You can spot these developers by a complex class hierarchy that does absolutely nothing, a complex configuration management system that allows you configure everything at runtime except the settings you want to change, which requires recompile and over-engineered replication of the underlying platform or a library and an occasional commit or two that rewrites perfectly good working code to adhere to their idea of what's good, while introducing bugs and incompatibility. This kind of behavior seems malicious but I think it's more often the result of wishful thinking. A lot of these come as a result of imitating good design without understanding the context that makes those choices good or even necessary.
- kwhitefoot 13y agoSounds more like Cargo Cult programming than an attempt at elegance.
- EdwardDiego 13y ago> You can spot these developers by a complex class hierarchy that does absolutely nothing Oh yes, most definitely. Why have one class when you can have three classes that provide the same functionality?