this post was submitted on 29 Dec 2025
1170 points (99.5% liked)

Programmer Humor

28081 readers
2037 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
[–] IcyToes@sh.itjust.works 106 points 18 hours ago* (last edited 18 hours ago) (10 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 50 points 17 hours ago* (last edited 17 hours 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 23 points 15 hours 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 18 points 15 hours ago (1 children)
[–] WanderingThoughts@europe.pub 14 points 14 hours ago

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

load more comments (1 replies)
[–] Diplomjodler3@lemmy.world 29 points 14 hours ago (3 children)

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

[–] InternetCitizen2@lemmy.world 19 points 14 hours ago (1 children)

This person has high level management energy

[–] Diplomjodler3@lemmy.world 6 points 14 hours ago

Me? No. But I've met plenty of those types.

[–] Michal@programming.dev 12 points 14 hours 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?"

[–] Diplomjodler3@lemmy.world 8 points 14 hours ago* (last edited 14 hours ago)

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

[–] Bazoogle@lemmy.world 6 points 9 hours ago (1 children)

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

load more comments (1 replies)
[–] IcyToes@sh.itjust.works 6 points 14 hours ago (1 children)

"I only know 1 (credible) way to build it. I'll take x days. I'll go right ahead with that."

[–] Diplomjodler3@lemmy.world 4 points 14 hours ago (2 children)

We need it yesterday! Just get it done!

[–] IcyToes@sh.itjust.works 4 points 12 hours ago* (last edited 12 hours ago)

"Why are we only learning about this now? How long has this requirement been known? I think we need to look into the process that work comes into the team otherwise, if we don't learn, we are going to take the website down and cost the company thousands/millions. It's worth working with the business to get a batter understanding of upcoming requirements so we know what's going to be needed in a months time". There is a reason retros exist. Oh, and you have to be good at teasing out real deadlines vs arbitrary deadlines made up with no justifiable reason.

"You ask me how long it'll take, and it's 3 days. You probably need to manage expectations on this. Maybe let them know the risks of x, y and z and why it will take this long".

load more comments (1 replies)
[–] chiliedogg@lemmy.world 28 points 17 hours 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 20 points 17 hours 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)
[–] ChickenLadyLovesLife@lemmy.world 14 points 13 hours ago

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.

[–] TheOakTree@lemmy.zip 5 points 14 hours ago

But what if the audio fucking up in Teams ends up costing a big man the wealth he's entitled to?

[–] Sylvartas@lemmy.dbzer0.com 13 points 17 hours ago (2 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

[–] IcyToes@sh.itjust.works 5 points 14 hours ago (1 children)

I find project managers don't want to be responsible for building shit that is flaky on prod. Either the consultancy reputation or team reputation becomes mud and their promotion opportunities vanish.

[–] Sylvartas@lemmy.dbzer0.com 3 points 11 hours ago* (last edited 11 hours ago)

Yes that is probably the case for project managers that are actually held accountable

[–] IcyToes@sh.itjust.works 2 points 14 hours ago

Then if you trust your team, have dev meetings and don't give alternatives. Make it clear there is one way to do it and it'll take x days long.

[–] bitjunkie@lemmy.world 12 points 4 hours ago (2 children)

Counterpoint: tHe ShArEhOlDeRs SaY jUsT sHiP iT

[–] captainlezbian@lemmy.world 6 points 4 hours ago

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

load more comments (1 replies)
[–] NaibofTabr@infosec.pub 9 points 16 hours ago (2 children)

Sure, then you get outbid by another contractor who is willing to cut corners.

[–] IcyToes@sh.itjust.works 7 points 14 hours ago (1 children)

That's why you get jobs at the consultancy that has to clean up those messes after companies are burnt enough. Most companies that get burnt will feel the reputation damage and go for reputable ones with integrity who respect push back.

Usually you're not selling work on a feature by feature basis. It's usually on huge projects or multi year deals.

[–] fx242@lemmy.world 6 points 14 hours ago

Companies don't remember or learn. People come and go and after a software lifecycle everything is forgotten as the top management gets refreshed.

[–] arendjr@programming.dev 5 points 16 hours ago (1 children)

That’s why you should go work at big corporate enterprises. Then you have both job security as well as the ability to spend as much time as necessary on getting things right. And you might even learn to say no to middle management.

load more comments (1 replies)
[–] Thedogdrinkscoffee@lemmy.ca 8 points 17 hours ago* (last edited 17 hours ago)

A good project manager understands technical debt.

Edit: moderately good

[–] galoisghost@aussie.zone 8 points 17 hours ago (2 children)

and the response will invariably be: “Is there a way we can just ship feature x now and fix up the other stuff after?”

[–] Rikj000@discuss.tchncs.de 11 points 17 hours ago (4 children)

Just increase your time estimate,
calculate in the time needed to refactor,
but don't tell them you're gonna refactor.

Works out most of the time.
Only when they ask why the estimate is so long, then you explain your reasoning behind it, and then they might reply with your statement and block your refactoring idea.

However, getting time to refactor most of the time, is aleady way better then never being allowed to do so.

[–] galoisghost@aussie.zone 4 points 14 hours ago (2 children)

I have more than 20 years experience. I’ve never once not gotten the “can we do it without refactoring?” question. Bad managers? Not necessarily, the pressure always comes from above. Short term thinking always wins out in the for profit private sector.

[–] fx242@lemmy.world 2 points 14 hours ago

In my case those almost never pass. Maybe you're the only one exclusively working on that system...? When you're one of a number of contractors competing to do something in software that cannot be regulated, you're basically screwed.

[–] IcyToes@sh.itjust.works 2 points 14 hours ago (1 children)

Then you don't give another option and only give estimates for doing it correctly.

If you're saying "I could hack it in for you this way", you're a cowboy dev.

load more comments (1 replies)
load more comments (3 replies)
[–] IcyToes@sh.itjust.works 2 points 14 hours ago

Depends where you work.

If you're good and they respect you , you'll get away with "no" or, "I'll build it, but if it goes wrong, I'm not fixing this evening and weekends". Safest option is "in all honesty, I cannot see another credible option, no" and if you're fed up of the follow up, drop the word credible.

load more comments (2 replies)
[–] bonenode@piefed.social 75 points 19 hours ago

How is this so accurate...

[–] NachBarcelona@piefed.social 52 points 19 hours ago* (last edited 19 hours ago)

translate from french

Outstanding.

[–] pmk@piefed.ca 36 points 15 hours ago (1 children)

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

[–] SoleInvictus@lemmy.blahaj.zone 19 points 12 hours 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 10 points 12 hours ago

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?

[–] smeg@feddit.uk 36 points 16 hours ago

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

[–] hkspowers@lemmy.today 14 points 3 hours ago* (last edited 3 hours 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 14 points 2 hours ago* (last edited 2 hours 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.

[–] Sam_Bass@lemmy.world 8 points 17 hours ago (1 children)

Oddly enough there are roof patch compounds that works in wet areas. Have used them

[–] rizzothesmall@sh.itjust.works 20 points 16 hours ago

Resolution: Issue solved by applying patch.

[–] RaivoKulli@sopuli.xyz 5 points 3 hours ago (1 children)

What's with the unnecessary use of highlighter?

[–] titanicx@lemmy.zip 3 points 1 hour ago

Simple. To highlight the hole in his roof.

[–] Feddinat0r@feddit.org 5 points 17 hours ago (1 children)

I saved it for a new years mail for my company :)

load more comments
view more: next ›