Why would you assume it's the fault of the developers? For all you know they could have been lumped with a 2 month deadline for a 2 year task, no push back, and just did the best they could.
But consider this: say you were a licensed engineer, and writing shoddy code you would face the risk of losing said license and not being able to practice in the future. Yes, even if "your boss told you to do it". You are the engineer, you are the professional, it's your ass on the line if lives are lost or damaged. Then your choice is either pushing back and risk to get fired, or don't push back but risk to lose your license.
My point being that better software is not going to be written just because the people writing it is afraid of losing their license or being held liable, because in many circumstances that can already happen.
The problem here are not only the developers and the crappy code. Some people here put this thing in production knowing that it was faulty, or once they knew it didn't work as expected they did all they could to hide this for years, blaming others of their own mistakes.
And yes, I agree we need to be better. But it's very important to understand that many of the potential licensed software engineers that are already writing crappy software today and will continue to do so if licensed because they just don't know better.
I can't understand that logic.
Personally, I would and I have said no to work I find immoral. I was also fired, on the spot, for saying no to something that was illegal. The company then threatened to sue me. I threatened to sue them back and they backed down, and I found another job within days that paid more because, like most people in tech, I'm in demand. That company is now dead.
We can all afford to be more choosy.
I've been saying it for awhile that these kind of critical systems where lives, large sums of money or crucial infrastructure are on the line should fundamentally handle their software differently than the rest of the industry. The 737 Max crashed because the developers weren't held to the same standard as the aerospace engineers who built the plane. This account system failed because the developers weren't held to the same standard as accountants are. Why should developers get a free pass?
We need to stop treating all software with the same degree of validation and assurance. Some things are more important than others and should have legally codified practices and liability.
If Google’s autocorrect mistakenly writes a falsely incriminating text that is inadvertently used as the sole evidence to convict, do we jail the autocorrect developers?
https://www.computerweekly.com/news/252509066/Fujitsu-escape...
Google is liable for defamatory autocomplete suggestions (in Australia) [1], so that's not such a stretch of the imagination.
[1] https://globalfreedomofexpression.columbia.edu/cases/trkulja...
Why? It's ok that 737 max crashed? Fujitsu should have taken appropriate measures to minimize errors, people lives got screwed because of lazy developers. I dislike the complacency in tech about bugs and bad quality because 99% of software have no impact on people, until it doesn't...