this post was submitted on 29 Dec 2025
1547 points (99.4% liked)

Programmer Humor

28138 readers
1688 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old

More like: you know when you get home after a long day and you just toss your clothes wherever, then when you wash them you just toss the clean clothes on your bed rather than putting them away properly because 'i know which ones are clean'?

Tech debt is all the minutes you spend in the morning and each week on laundry day, sniffing stuff to see if it needs to be washed, and the massive organizational task you'll have to do if you ever buy lots more clothes or think you might bring company to bed or ever have to move to a new place.

Or: 'tech debt is at home in the mirror. That is its address.' 'yeah I hate kids.'

[–] CeeBee_Eh@lemmy.world 10 points 2 days ago (1 children)

This is an explanation on why it never gets fixed.

The technical debt would be the additional damage being done to the rest of the house each time it rains.

[–] filcuk@lemmy.zip 5 points 2 days ago

Shall we renovate?
Yeah sure, just spend 4 x more to carefully work around the roof hole! Install waterproof furniture! Give out umbrellas to guests!

[–] hkspowers@lemmy.today 44 points 3 days ago* (last edited 3 days ago) (1 children)

This seems more like an example of procrastination not technical debt. Technical debt as I understand it requires a previous decision to impeed new decisions/progress because it wasn't done properly the first time.

A better example would be he wants to add a brick chimney to the roof but can't because the roof is made of straw thatch and can't support the weight, so it would need to be rebuilt first out of timber, and then a chimmney can be added.

[–] Michal@programming.dev 41 points 2 days ago* (last edited 2 days ago)

It's an abstract analogy but i think it works... When the roof is really needed, it's not possible to fix it because rain / deadline.

When it's sunny, no deadlines, the hole doesn't impede any work, so there's no need to fix it, difficult to convince PM that it needs fixing.

[–] IcyToes@sh.itjust.works 130 points 3 days ago* (last edited 3 days ago) (23 children)

This why any good engineer would bake it into their estimates when working around the area. I think Martin Fowler covers this in Refactoring. Eiher that or it was Kent Beck in TDD. Both books complement each other really well.

A good civil engineer doesn't ask a Project Manager if they can add in structural supports. A good software engineer shouldn't ask to build things right.

"Before we build x, we need to adapt the foundations by resolving x problem. If we don't get this right, it'll increase the chances of bugs surfacing in production and would make our team look like a joke."

[–] tiramichu@sh.itjust.works 67 points 3 days ago* (last edited 3 days ago) (2 children)

Bad PO: "So it will only increase the chance of bugs if we don't do it? There won't necessarily be any. So we can skip it and just put the feature in."

I hope you have a good PO who is on the same page as you, but to a bad PO, it still sounds optional.

A civil engineer doesn't say "If we don't put supports there's a chance the ceiling will fall in and people may die," because history has shown there are plenty of unscrupulous project managers who are quite willing to take construction risks, even with people's lives. As a result of this there are now plenty of laws in construction, and a civil engineer has a convenient fallback of saying "If we don't put supports it won't pass inspection, and we won't get paid."

Everyone wants to get paid.

In software we don't have many laws we can fall back on to justify our work, but we can still treat our tech debt and refactoring as if it's equally mandatory.

"To add feature x, we need to resolve problem y. The feature can't be added until we've completed this prerequisite."

[–] WanderingThoughts@europe.pub 27 points 3 days ago (1 children)

My current boss: so I sold this at least 10% below budget and we have to make it work.

[–] flambonkscious@sh.itjust.works 22 points 3 days ago (1 children)
[–] WanderingThoughts@europe.pub 17 points 3 days ago

Reality is already fucking him sideways but he keeps escaping reality. He's like a financial Houdini.

load more comments (1 replies)
[–] bitjunkie@lemmy.world 17 points 3 days ago (4 children)

Counterpoint: tHe ShArEhOlDeRs SaY jUsT sHiP iT

[–] captainlezbian@lemmy.world 11 points 3 days ago (2 children)

Yeah ultimately CivEs get to withhold a signature and if they don't sign it's illegal to build. Software doesn't need a PE

[–] Arcka@midwest.social 1 points 1 day ago

Is it that universal though? I know it was 40 years ago now, but when management overrode engineers to sign off on the disastrous launch of the Space Shuttle Challenger, I don't think they faced any legal consequences.

[–] Eranziel@lemmy.world 1 points 1 day ago

I've always been uncomfortable, honestly, with calling software developers "engineers". Partly that's because it's actually illegal to call a non-PEng role an "engineer" in some jurisdictions (most of Canada), but I think this comment is an excellent point of distinction to make between PEng and other roles.

Legal responsibility along with regulatory requirements. There's a reason everyone* trusts elevators and airplanes but shouldn't trust most software.

load more comments (3 replies)
[–] Diplomjodler3@lemmy.world 36 points 3 days ago (7 children)

Just build and deploy it! We have the shareholders to think of!

[–] InternetCitizen2@lemmy.world 23 points 3 days ago (1 children)

This person has high level management energy

load more comments (1 replies)
[–] Michal@programming.dev 15 points 3 days ago (2 children)

"Are you willing to own the risk? If so, what will it look like? Can you budget additional time for addressing these bugs, and draft contingency plans?"

[–] Bazoogle@lemmy.world 12 points 3 days ago (2 children)

"You're overthinking it" - real response from my management

[–] Arcka@midwest.social 2 points 1 day ago

You're not alone

load more comments (1 replies)
[–] Diplomjodler3@lemmy.world 11 points 3 days ago* (last edited 3 days ago)

*Sticks fingers in ears* Can't hear you!

load more comments (5 replies)
[–] chiliedogg@lemmy.world 29 points 3 days ago (3 children)

The big difference is a civil/structural engineer has to individually certify a plan sets and take legal responsibility for it. The project manager can't override them.

They can fire them and hire another engineer, but even if they found someone to stamp bad plans for a fee, the original engineer could report the new engineer and have their credentials yanked.

We don't have that in software engineering. And outside of critical software we don't need it. When the audio fucks up in Teams and you have to leave and re-enter the meeting, people don't die.

[–] definitemaybe@lemmy.ca 22 points 3 days ago (1 children)

Fuck Teams. The buggiest, most crash prone mess I've even been forced to use. They keep bolting on new, unnecessary "features" that only selectively work on some of their "supported" platforms.

load more comments (1 replies)

We don’t have that in software engineering. And outside of critical software we don’t need it. When the audio fucks up in Teams and you have to leave and re-enter the meeting, people don’t die.

I had a co-worker who was writing remote control software for a baseball-throwing machine. Not exactly "critical software" but he ended up firing a 125 mph knuckleball a foot above a 10-year-old kid's head.

load more comments (1 replies)
[–] Sylvartas@lemmy.dbzer0.com 14 points 3 days ago (3 children)

The difference there is that our project manager guy is afraid they're gonna go to prison if they don't let you add those supports and something goes wrong. But for the software dude, building things properly is unfortunately mostly a concern for you and the other software engineers, and mr project manager doesn't have that much of an incentive to let you do that

load more comments (3 replies)
load more comments (18 replies)

This is horror. I'd ask how you get a project manager job without understanding the concept, but I know.

[–] some_guy@lemmy.sdf.org 7 points 2 days ago

This is possibly the best analogy I've ever seen.

[–] bonenode@piefed.social 84 points 3 days ago

How is this so accurate...

[–] FranciscoLopez@lemmy.world 5 points 2 days ago (1 children)

Perfect ELI6 😂 Tech debt is that leaky roof: you can ignore it for a while, but every new ‘feature’ gets harder until you finally fix it.

[–] psud@aussie.zone 1 points 1 day ago

Tech debt is fixing the roof to save on changing the buckets under the leak

[–] NachBarcelona@piefed.social 59 points 3 days ago* (last edited 3 days ago)

translate from french

Outstanding.

[–] pmk@piefed.ca 41 points 3 days ago (1 children)

This reminds me of some issues in my relationship. Some problems that never gets solved.

[–] SoleInvictus@lemmy.blahaj.zone 22 points 3 days ago (1 children)

I highly recommend solving the important ones and learning to let the rest go, speaking as someone whose marriage just exploded over exactly that.

[–] pmk@piefed.ca 13 points 3 days ago (3 children)

I'm sorry to hear that. How are you doing now? If you don't mind me asking, if there was a point where things were still salvageable, do you think you were both aware of the direction things were heading? Did the realization come at the same time for both of you, or at different times that it was beyond that point? What were the critical signs?

load more comments (3 replies)
[–] smeg@feddit.uk 37 points 3 days ago

As an aside, a Scottie dog called Haggis wearing a tam o' shanter is an adorable character for a children's book

[–] RaivoKulli@sopuli.xyz 12 points 3 days ago (5 children)

What's with the unnecessary use of highlighter?

[–] m33@lemmy.zip 5 points 2 days ago

Well, the PM really needs to understand so, like in excel: yellow background on important cells. This is muscle memory, right ?

[–] beveradb@sh.itjust.works 3 points 2 days ago

I suspect the person who made the screenshot searched for something including the words "hole in roof" on Google Books - this style of yellow highlighting looks the same as the highlight auto applied for search terms there

[–] obinice@lemmy.world 3 points 2 days ago* (last edited 2 days ago)

7 words too long didn't read

3 words ok

fr fr no cap

[–] titanicx@lemmy.zip 6 points 2 days ago (1 children)

Simple. To highlight the hole in his roof.

[–] RaivoKulli@sopuli.xyz 4 points 2 days ago

You mean hole in (...) roof

load more comments (1 replies)
[–] WandowsVista@lemmy.world 3 points 2 days ago* (last edited 2 days ago) (1 children)

it's a stretch goal

.. just like the regular goals

kicks can down the road

[–] psud@aussie.zone 1 points 1 day ago

In my workplace a stretch goal is code for "we almost certainly can't do it but the scrum master thinks we might"

My team was given another team's stretch goal after management worked out the translation

load more comments
view more: next ›