I was part of a project once at a former company where we re-designed our software product licensing architecture. The project was also part of migrating to a new CRM and we outsourced the licensing project to the company that was also doing the CRM piece. Now granted, this is not software where people are going to die in case it does not work as in the case of the 737 Max. But still, it was a terrible idea to outsource that work because it really required intimate domain knowledge of the current system in order to pull it off. The consultants floundered miserably and we eventually took back the project and did it in house. In the case of Boeing, if they were going to outsource the dev work they should have at least kept QA in house. I am sure they had an in house team review all of the QA work but that is not the same as coming up with and executing the test plan yourself because during that process you always think of more scenarios to test.
The salary or wage for the programmers does not matter. The onus is on the QA team. THOSE are the ones who should be paid the big bucks. Software QA is harsh and grueling. But they should have the final say.
To me it's very simple, companies don't give a sh*t about employees, and in turn employees don't give sh*t about the company they work for. No processes can ever fix that. People either care or they don't.
With over 30 years experience as a software engineer and engineering architect in a field requiring mission critical software ( financial systems ), I respectfully disagree on this point. With lower wage programmers in the US, you will get inexperienced or lower quality individuals. With outsourcing, the turnover rates are huge and this multiplies the potential for quality problems with new personnel coming into the middle of projects. With quality, well-paid, self-motivated software developers, the bug rate is much, much lower, and people with pride in their work will not allow untested, minimally tested, or questionable code to even reach QA without effectively testing it thoroughly themselves. QA is the backstop (double-check, insurance policy, etc) not the primary method for avoiding quality problems. QA is important, and you should pay those people well for sure, and a great QA resource is worth high dollars. But with great well paid developers, you won't be betting the company on QA resources, they will just add to the quality. You will also minimize developer turnover and allow people to build specialized domain knowledge which helps eliminate a lot of potential problems and improves efficiency for future projects. There is a dangerous myth surrounding QA these days in that you can catch all bugs with automated testing, CICD pipelines, TDD, etc. It's simply not true, especially in the mission critical systems which have real world scenarios that are not able to be replicated in a build test. Problems involving multi-threading, race conditions, error handling ( especially compound errors ), surviving component failure, database deadlocks and such are very difficult to detect using systematic QA testing. Sometimes the error frequency is very low for certain scenarios, but people could die if it happens. It's also human nature to quit caring about certain types of errors if the frequency of it is low enough that it won't happen within a number of years, particularly when the coding cost to prevent it is high. Many of the current crop of developers coming out of college have no idea about hardware architecture, do not understand system level machine behaviors, and are basically just coding up stuff by grabbing a bunch of open source software and slapping it together like tinker toys. There are some good ones out there, but if you have a specialized situation involving mission critical systems such as medical, flight systems, banking systems, nuclear systems, power systems, self-driving cars, etc. I would not recommend applying commodity programming resources there. Someone can and will die, and you don't want to be the victim of stupid corporate idiots trying to maximize their executive bonuses all in the name of being cheap and hiring the cheapest developers they can find.
I just want to know when the trial against Boeing and United Technologies (the maker of that malfunctioning angle-of-attack sensor that fed the wrong information to MCAS) begins so these two companies can finally face justice for what they've done or failed to have done and hopefully bring some closure to the loved ones of those 396 innocent people who perished needlessly.
I have been saying this for years. We are all focusing on either Venezuela or America on the opposite sides of the spectrum as if nothing else exists. When someone brings up examples of Switzerland or Germany or Holland or Denmark that are landmark examples of well functioning social market economies that value and uphold the importance of prudent independent regulation then fingers are immediately pointed at, especially in the case of Germany, how Germany messed up 80 years ago. As if America since then did not commit dozens if not more horrific atrocities. For some with a vested interest of changing nothing because it continues to fill their own pockets anything else than free wheeling capitalism is an enemy that must be destroyed
This is a ridiculous statement. So shall we let Toshiba, Westinghouse and Siemens then allow to build nuclear reactors without any safeguards in the name of capitalist ideals? Or Flint, Michigan? Or oil producers left without regulations? Do you realize how stupid it is what you said?
That's why we should leave everything as is? Or should we tell those companies to fuck themselves and install more stringent regulations and laws that those companies have to subscribe to or else lose their business license? Europe did just that with Microsoft, Amazon, and Google and is attacked from all sides by American capitalists. But European regulators told Silicon Valley lobbiists to get lost Pronto. To the contrary, in the US prosecutors let black sheep settle for a few hundred million each time and that's it.