я не думаю что программеры MCAS были плохими программистами, а менеджеры плохими менеджерами - они все решали некоторую задачу и видимо решили, а вот то к чему это привело - не следствие их некомпетентности
Критические системы строить: думаем, пробуем, проверяем, повторить. Так до тех пор пока система не наработает нужно количество часов в требуемых условиях. Ну и дублирование и быстрое восстановление.