Re: "US, Canada finally ground 737 Max jets..."
As a mechanical aerospace engineer, I know that if I design something and it fails and causes a crash and people die - I go to prison. This makes me a) very careful, and b) VERY much willing to make sure my ass is covered. If I'm overruled by a manager, I make sure to get it in writing. It's also why, everything I design gets checked by stress engineers, all drawings are checked by another design engineer, plus manufacturing get involved, etc. There are a lot of checks and balances to make sure that mechanical failures do not bring down an aircraft. Basically, because none of us want to go to prison or have that guilt on our conscience.
I have to admit, I've yet to meet a software engineer, in any industry, who has that mentality. So I'm afraid to say, I would not be surprised if the software didnt have a multiple eyes, multiple discipline check of the code.
It does raise an interesting point though, I mean on a mechanical part design, my name is on the part drawing. The checkers name is on the drawing, stress have their own record of files, and manufacturing do as well. Everyone involved in that part is recorded, and so when it fails we get a boot up the ass. How do you record all of that on software? Unless its a very simple program, you're unlikely to have just a single software engineer working on it for the lifetime of the project. How do you show who put the dodgy line of code in, and when? Why did they do it ? Was it checked? How do you PROVE the code was checked? Considering that we will in the foreseeable future have automated cars, controlled by software, how do we maintain that level of record keeping that allows people to be held responsible or proven not responsible for the failures that may lead to deaths. Solve that tracking problem and you'll like earn a few million down the line.