BigDumbDinosaur wrote:
According to a buddy who flies left seat in 737 MAXs for a major US airline, simulator runs in the “accident configuration” strongly suggested that while the MCAS software did indeed have problems, the planes were manually controllable at all times, as well as 100 percent airworthy, a finding that indirectly faulted the competence of the cockpit crew of the doomed airliners.
That whole incident doesn't really speak to software quality, though, since the main issue was that not only had the pilots not been trained on how to deal with the MCAS, but it was a new system not on previous 737s even the existence of which was deliberately concealed from the pilots. (And it relied on a single sensor even though a backup sensor was available.)
The pilots certainly were not competent to handle the MCAS problem, but that's not the fault of the pilots themselves, but those who designed the system and those who trained the pilots.
Quote:
It takes disciplined coding habits to keep a lid on the problem, which tends to eventually weed out “lazy” programmers.
It does indeed take a fair amount of discipline to keep a lid on the problem, but from decades of experience as a professional software developer, no, I don't find that tends to weed out the "lazy" or less competent developers. In fact, more often than not in my career I've seen them encouraged, and the developers who tried to focus on reliability (or even understanding the software well) discouraged.