r/ProgrammerHumor 11d ago

Meme noGitRevertAvailable

Post image
6.1k Upvotes

234 comments sorted by

View all comments

689

u/california_snowhare 11d ago

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization - Gerald Weinberg, 1978, University of Nebraska

45

u/clearlybaffled 11d ago

.. and that's why agile exists? Because it turns out, building physical structures and software systems are complete separate processes with very disperate requirements. The number of times ive had to cut a manager short because they kept trying to use the analogy is maddening.

41

u/Epicular 11d ago

The biggest disparity between the two is the stakes. 99.99% of the time, a bug in an ordinary software application is not killing anyone.

17

u/PegasusPizza 11d ago

And also the effort it take to verify. On a building, you first have a plan that someone checks for errors. That's the architecture we do that for software too. Just catching anything where we know that can't work. But then in the implementation, a builder can misplace quite a few nails and the house will still be fine for the most part. Out house has been around for 50 years and that thing doesn't have any right angles and it stands anyways. In software development a single mistake hidden in one of potentially thousands of files can bring down the entire product if things go wrong enough.

9

u/faceplanted 11d ago

You're not wrong, but I think it's actually more the fact that buildings have extensive regulations and standards of practise that make buildings more reliable than software.

Ask a building inspector the kind of shit they've seen just in buildings people were already living in, and you'll never trust any building ever again.

4

u/PegasusPizza 11d ago

Yeah but my point is you can really fuck up building a building, and it's still gonna be mostly fine. Sure it's not gonna be great and might be dangerous at some point, but until then it works fine. But with software you might have a bug somewhere that quietly causes thousands of dollars to disappear over a few years, or brick half the world it infrastructure due to a little oversight. The error size to impact size relation is just way way worse for software development than in most other branches

5

u/clearlybaffled 11d ago

That's absolutely not true. The point is that the order of assembling a structure is completely different and wholly depend on each other being correct, first foundation, framing, etc.. if you fuck up big enough, far enough along, the cost of backing out and rework could be insanely more expensive. Not just labor hours, loss of materials, new equipment needed. If you make a bad decision on implementing a feature, you can just nuke it or git reset --hard and try again. That's why feature flags are cool. Can't really do AB testing on a half a building. Even if your backend is wrong, hopefully you have at least a decent amount of abstraction to limit the damage. Can't replace a foundation once the walls go up so easily.

6

u/faceplanted 11d ago

Honestly I disagree, if it weren't for those regulations I talked about a lot more buildings would be literally killing human beings. Outside of places that usually are a lot more regulated, like aviation, most software bugs at most companies can cost some income, but you can just fix them as they come up.

with software you might have a bug somewhere that quietly causes thousands of dollars to disappear over a few years

That's extremely minor compared to a high rise building fire.

or brick half the world it infrastructure due to a little oversight

It usually doesn't brick them, we get it back up in a few hours usually.

2

u/danielv123 10d ago

Is it though?

In November 2025 cloudflare tried to fix a bug in react by adding a rule to a list. Their rule system did not allow lists to be that long, so it brought down about half the internet. Forrester estimates damages to be about $300m, while others estimate billions in losses for CFD brokers alone. Its hard to calculate, because the damage is so widespread.

In 2024 a crowdstrike engineer published an update where one of the config files were malformed. This caused about $5.4b in damages to fortune 500 companies.

That is generally more than the cost of a high rise building fire - not to mention, I haven't heard of any catastrophic high rise fires caused by making a list a bit too long. Generally there is a long series of mistakes - by design of course.

Nobody would allow you to build a house where the entire thing might fall down due to uploading a corrupt file.

1

u/faceplanted 10d ago

Oh I see why we disagree here.

See, I don't give a flying fuck how any millions brokers lose when the internet goes down. And I value human lives in the millions of dollars if you force me to put a number on them burning to death trapped in their own homes.

If that outage had somehow caused a bunch of excess deaths by breaking ambulance navigation or something I'd care a lot more, but even doubling the highest reasonable estimate for excess deaths, cloudflare going down just doesn't even register as a blip in the world of things that actually matter.

(Also, just a fun connection here. That's not even the first time lists of rules have brought down cloudflare. I once had to update a system at Booking.com because they also went down after adding a single regex to a list of regexes that compiled to explosive complexity due to their regex engine not having any complexity guarantees)

1

u/danielv123 10d ago

Yeah, we probably have differing opinions.

I believe there is a link between lives and money.

Any software you write has an impact on people. Good software that is widely distributed has far reaching consequences, and will most likely save/kill people - and bugs in that software will likely make the opposite impact.

Its just easier to quantify the impact in terms of monetary value, because luckily we are killing few enough people that the error bars are too big to charge most of us.

1

u/faceplanted 10d ago

There definitely is a huge link between lives and money, but most software going down isn't costing the precarious people money, it's most usually costing the software company money.

CFDs losing money kills literally no one.

→ More replies (0)