Coding is NOT a real-time procedural performance activity, and thus can not be compared to aviation or surgery. Code reviews, collaboration on architectural decisions, and QA catch mistakes as early as necessary.
The easiest time to catch a mistake is when it's made, which is as true of surgery or flight as of software development.
That's why I rely on type systems, tests and whenever I can, someone next to me asking "why?".