this post was submitted on 21 Jan 2024
525 points (97.8% liked)

Programmer Humor

32472 readers
601 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

Hey bro, can I have some antibiotic resistance?

Sure bro, but remember that the heavy metal tolerance gene is a dependency.

Shit, I'm on python 2 but hmrA requires python 3.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 13 points 9 months ago (5 children)

Now I want to know what "tech debt" means. Could someone please Google for me?

[–] [email protected] 22 points 9 months ago* (last edited 9 months ago)

It's mostly a software development term. Bugs are the most obvious kind of tech debt. They have to be fixed or a product will slowly become unusable over time, so when you release something with bugs you're incurring "debt" they must be "paid" later by fixing them. A lot of tech debt also involves corner cutting and bad design decisions that are hard to explain briefly.

[–] [email protected] 17 points 9 months ago

Implementing a software feature takes a certain amount of time, and time translates pretty directly to money. Sometimes, you may need to meet a deadline or run out of budget, so you end up implementing the feature at a lower quality or without completing the usual checks or constructing it in such a way that nothing else can be built on top.

This allows you to meet the time/money constraints, but it will come back to haunt you, either making the implementation of future features more costly, or requiring the mess you left behind to be cleaned up, before trying to build on top.
As such, it feels a lot like you're taking up 'technical debt', which you'll have to pay for later.

[–] [email protected] 11 points 9 months ago

Months and years of "eh, good enough" finally catching up with you

[–] [email protected] 9 points 9 months ago* (last edited 9 months ago) (1 children)

It's the cleaning up of code by making it easier to read or rewriting something in a less convoluted way. Originally you just wanted it to be done quick so you coded it in a sloppy way. Now you have "debt" that needs to be fixed. You don't really gain anything by cleaning it, so it wastes your time instead of implementing something new.

[–] [email protected] 6 points 9 months ago (1 children)

Well, technically the actual cleaning up part is "refactoring."

[–] [email protected] 5 points 9 months ago

I wanted to use words a layman would know.

[–] [email protected] 1 points 9 months ago

Technical debt means how much work it takes to update legacy solution to a modern solution. E.g. each time a new C++ standard is used, all code written with the old standard should be checked. The work time needed to do this is paying up the technical dept.

Now, if you are lazy, and didn't clean up the code, used the easy and sloppy solution, next time you have twice the work to be done. So the dept gets worse, if you do nothing.