You really have to take the adversarial mindset when thinking about large scale systems like this, to make sense of how they can break.
When I write software, every line of code is accompanied by the thought "I'm a blackhat hacker, with execution thread. How do I leverage this line of code?"
No, they'd rather not coordinate any of that and just play the blame game.
Many workplaces employing software engineers are actively hostile towards any kind of engineering. I have a very hard time believing anyone writing code is sloppy on purpose. Incentives are often very misaligned. These are pretty much always organizational problems.
Instead of immediately blaming software engineers, you should consider questioning whether it ever makes sense to have non-technical leadership in charge of them. Most places where "real" engineering is done don't have idiots at the wheel.
The executive and judicial branches hold equal responsibility to this problem. Why not include them in the solution?
-Lyndon B. Johnson