Я написал компьютерный интерфейс для МРТ машины. У него не было шансов нанести ущерб конечному пользователю, поскольку это было просто управление записями, но потенциально оно могло поставить неправильный диагноз или опустить важную информацию.
Тесты, много-много тестов.
Юнит-тесты, тесты среднего и высокого уровня. Имитация всех возможных комбинаций ввода. Также большое количество испытаний с самим оборудованием. Тестирование должно быть выполнено полным и методичным способом. На тестирование должно уйти гораздо больше времени, чем на написание.
Сообщение об ошибке
Все ошибки должны сообщаться и быть очевидными. Если патенту не помешает это сделать, быстро потерпите неудачу.
Для чего-то, что активно поддерживает человека в живых, дела обстоят еще хуже. Это никогда не должно перестать работать. Если это не удается, необходимо перезагрузить и продолжить попытки. Резервные внутренние устройства также необходимы в случае сбоя оборудования.
В неправильной компании может возникнуть сложная ситуация. Однако, если дела идут хорошо, вы хорошо финансируетесь и давление выпуска невелико, это может быть очень полезным местом для работы.