Tech Debt? Just Do Your Job
- The Underemployed Man
- 21 October 2024
I am getting tired of all the lamentations regarding code quality, technical debt, and whatever else that is just a part of the programmer’s job, but gets blown out of proportion. You had to work with some 10 years old code that wasn’t ideally written from the start to reflect the current business reality? Oh no.
It is as if we all were promised some sort of an ideal world, where everything is fun, tidy, quick, easy, and extensible. That there is a silver bullet, code to clean all code, architecture to clean all architectures, that would lead us into the bright, frictionless future. That promise was violated, and we are resentful that it actually didn’t come to fruition.
Nobody promised that. An average programming Joe was promised salary in exchange for spending time doing what the company needs. Often it involves working with code written by worse programmers, or code written in a rush, or code written with incomplete knowledge, or code that was written without foreseeing all the novel business developments. Or even, God forbid, code written by ChatGPT (which is essentially all of the above).
Yeah, that’s why you are paid well. To solve business issues, directly or indirectly.
I don’t care about the accusations like “so you just want everyone write bad code???” and recommendations to read “Clean Code”, “Clean Architecture”, and whatever else that is the anointed “best practice” that you are supposed to follow to see the light of how “easy” it is actually to have debt-less, so-called “clean” code, if only we accept Uncle Bob into our hearts.
It isn’t even about what I want, it is about being a professional and recognizing the state of the reality.
And of course there is this “actually, real good code has never been tried”. And, presumably, there are somewhere magical companies where it doesn’t happen, where everyone is a 180 IQ hyper-disciplined and hyper-aware programmer who can see 10 moves forward and read each other minds, and with the management that operates in 50-year plans.
Maybe in NASA? You can look up the way they write software, I bet you wouldn’t want to write it like that. And that code is probably not “clean” enough by some book’s standards, anyway.
They are probably companies and highly-skilled teams that work on something very-well defined and run a very tight ship, with generous budgets and patient managers. But I haven’t seen many of them.
All I really see is the lamentations that the average quality of everything is… average.