During the MCAS scandal I saw a report that the software developers who wrote it were offshored and being paid something like $13/hr.
While there weren't actually coding flaws in MCAS in that it did what the spec said, I've met people who work in avionics and they would have pushed back against the specification because they tend to think about how their component integrates into the system.
Obviously it's impossible to prove that, had the software been developed by people specializing in avionics they would have caught the problem but it's just another hole in the swiss cheese model: when you outsource your avionics software development to an offshore contractor who was making a webstore yesterday and will be making an iphone app tomorrow, you eliminate the possibility that the implementers could do an informed critique of the spec.
While there weren't actually coding flaws in MCAS in that it did what the spec said, I've met people who work in avionics and they would have pushed back against the specification because they tend to think about how their component integrates into the system.
Obviously it's impossible to prove that, had the software been developed by people specializing in avionics they would have caught the problem but it's just another hole in the swiss cheese model: when you outsource your avionics software development to an offshore contractor who was making a webstore yesterday and will be making an iphone app tomorrow, you eliminate the possibility that the implementers could do an informed critique of the spec.