3 ms·
> is about not spending the time to find a good way to initially write the code in an ideal world, yeah, that would be the cause, but in reality there are mult
by zuppy 6y ago
> is about not spending the time to find a good way to initially write the code
in an ideal world, yeah, that would be the cause, but in reality there are multiple other constraints:
- time constraint: you can not spend as much time as you want to make the perfect code (and that is ok, you want to ship and add value to the business so you continue to get your salary - see the extreme case of Duke Nukem Forever)
- dependency constraint: sometimes other teams requirement will affect your code quality
- cost constraint: again, you don’t want to go bankrupt
- competency constraint: there are juniors and there are people who don’t have the knowledge to perfectly cover your requirements
etc
- magicalhippo 6y agoThere can be many very valid reasons for creating technical dept when writing code. That does not mean technical dept is not a thing or not a real issue in certain codebases. Almost every day I think about the potential technical dept of my code.
- gwd 6y agoSure, and that's actually 100% normal in business -- it's called the "J-curve". Lots of businesses big and small start their lives, or even start some new project or expansion within an existing business, by borrowing money and then paying it back. The key thing is 1) borrowing money "strategically", and not just willy-nilly and 2) paying it back when you can afford to, rather than continually paying interest on it. It totally makes sense to take on technical debt in order to get your MVP out the door quickly; or to be able to fix an urgent customer issue; or to be able to make a release. And in some cases, it may make sense to keep technical debt around indefinitely. What doesn't make sense is to pile on technical debt for no real benefit, and then not take any time to pay it down. That's like always buying things on your credit card just because you can and only making the minimum payments.