When skyscrapers fall or bridges collapse, the negligent engineers who knowingly signed off on them go to jail. When was the last time a software developer or manager went to jail over a known bug?
When skyscrapers fall or bridges collapse, the negligent engineers who knowingly signed off on them go to jail. When was the last time a software developer or manager went to jail over a known bug?
Regardless, the simple fact is that software just matters less in almost every case, so no one gets held accountable. It lets the culture of unaccountability breed within IT / software eng, and here we are.
Civil Engineers (the ones building bridges and skyscrapers) have a culture of institutional accountability. They are certified members of a professional organization and when they sign off on a project, they do so by affixing their personal seal to it. This is their binding endorsement of the soundness of the architectural drawings. The presence of that seal can be used as evidence in court against them (criminal or civil).
It’s also possible for engineers to be stripped of their seal by the organization for failures far less severe than a bridge collapsing, such as conflicts of interest.
There isn’t anything like that in software, even though the stakes are much lower. Far more common is a total disclaimer of warranty whatsoever.
What? That's backwards.
I guess you think that this "culture" is somehow made up and not an inherent part of the job or something?
It's straightforward: building collapses, people die => someone needs to be held accountable. Otherwise we'd be having people die all over. So there HAS to be something like this in place. It's not a choice, it's not a "culture". It's an inherent property of the universe we live in.
In that same way, this responsibility also inherently means an engineer can flag something as unsafe and he's legally protected. It can't be any other way, or nobody would want to do the job.
Also, signing off on a project is quite a bit easier when it comes down to pulling up some tables and calculating some structural loads according to well known formulas. Add some safety factor and voila - it's safe! Impossible for software.