I think a lot of software engineers would be blown away at how strict software standards are for avionic systems. Like 100% modified condition/decision coverage for all software tests, strict. No pointer math and no dynamic memory allocation, strict.
Being a party to lackluster software development on a regular basis, I somewhat pine for projects this strict.
As part of my daily routine, feigning surprise at the fact that, given a tree of decisions, I'm only permitted to code for the ones that make money, simply to find that "Quality Testing" reveals the 500 other permutations will inevitably result in thrown exceptions with hideous, glaring error messages.
This sort of thing is exactly what some of the software development processes are all about.
When I was in a CMMI training class 10 or more years ago, the instructor we had said basically that much. By instantiating a process, it takes the mental weight of knowing (or checking) if everything is correct.
No one builds cars that way - why should we build anything that way. The processes should catch the inevitable human errors.
https://en.wikipedia.org/wiki/Modified_condition/decision_co...