I noticed this when working as a dev in the finance industry. The devs who put out the most fires got the biggest bonuses and float to the top so they have a say in hiring and hire more people like themselves. A textbook case of Gresham's Law.
I noticed this when working as a dev in the finance industry. The devs who put out the most fires got the biggest bonuses and float to the top so they have a say in hiring and hire more people like themselves. A textbook case of Gresham's Law.
You don't see buildings that are near collapse and require constant repair and redesign. You don't see construction contracts awarded to companies that build poor buildings. In fact, most buildings work fine, and even tho most also have some defects, those defects tend to be minor and can often be overlooked.
So what makes software engineering different?
I would characterize all the statements you made as false. Though it does depend on what your standards are.
Most of the critical things are done well enough, but that is a pretty low bar.
When the covid thing is over, have a trip to Sydney Australia. There;s lots of cheaply done buildings here in all states of disrepair. People cheap out on the invisible stuff like correct wiring, correct plumbing and correct foundations.
And in software people cheap out on those same things because they can take the money and run.
You could fix this by making payment for software as 25% upfront with 20% on deliver and then 50% on 18 months of as advertised use.
But no one would ever do that. When Azzure or GC or AWS goes down every 5 years or so for a few hours, everyone gets server credits back for teh interruption and revenue loss. No liability as assumed.
This tends to pile requirements on, and you end up in a bad place.
You don't often get "I want a building just like that one" becoming "except make it out of glass", then "actually add a floor or two".
But I've come across exactly this in software. Someone I know asked a friend to make a copy of a well known auction site. Then he had to change the whole backend and add a load of features. Needless to say, it ended badly.
By relative frequency, not so often: physical structures are simpler, tangible, better understood.
But they still fail often.
https://youtube.com/results?search_query=building+collapse
https://youtube.com/watch?v=d8u83VY59Ww
https://youtube.com/watch?v=5PZyXvp1mLw
In 1st-world countries as well:
https://youtube.com/watch?v=dfYLk9dktAY