Ошибки в коде иногда приводят к фатальным ошибкам, даже если пишут на благо, а отдельные функции приводят к фатальным последствиям. Увы. Для этого и есть опыт.
На факапах учатся, увольняются, проводят анализ понимания что пошло не так и где. Для этого сегодня есть пентестеры и quality assurance(не не те как в странах СНГ которые кейсы по кнопкам выполняют, а те кто умеют кодить и знают последствия)