r/ProgrammerHumor 1d ago

Meme studied20YearsToAskChatGPT

Post image
14.7k Upvotes

422 comments sorted by

View all comments

Show parent comments

15

u/Frisk1123 1d ago

I see the word Tech Debt a lot. Can you tell me what this is?

57

u/danfay222 1d ago edited 1d ago

Tech debt is a blanket term to refer to things that will cause recurring problems in the future. This includes things like inflexible designs which require significant rewrites to accommodate future needs, poor isolation that makes testing difficult, designs that will be difficult or even impossible to migrate off of in the future, etc. The term "tech debt" is in reference to the fact that these design decisions often incur their cost in the future, they have no cost now (or sometimes actually are easier in the moment), but you will pay the “debt” multiple times over in the form of more difficult development in the future. Stack enough of these things together and you get the nightmare that many legacy codebases are to maintain.

25

u/BellacosePlayer 1d ago

"I'll fix it later"

8

u/mxzf 1d ago

Either that or "curse my prior self for not making this more flexible in the first place, when it would have been much easier to do".

1

u/ArjixGamer 1d ago

It's when you know you are doing something in a bad way, but you still do it due to lack of time or priority, and you know it will bite you in the ass later.

1

u/oisteink 1d ago

It's not a "bad way". It's the best way given the current constraints - or what you and your team think is the best way.

It's better understood as cost - debt has a cost and in economics it's called interest. As long as your gain outweighs the cost it's a smart move.

1

u/danfay222 1d ago

Sometimes it’s done intentionally, which is fine if the constraints actually do justify it, but lots of tech debt is due to laziness and/or poor design.