Whenever there’s a discussion about whether software development is engineering or not, somebody brings up the fact that we software developers mostly do not know what were doing, unlike bridge builders. How do we know that bridge builders know what they’re doing? It’s because bridges mostly do not collapse, unlike software projects.
Civil engineering is not the only kind of engineering, though. For example, there’s nuclear engineering.
Wikipedia has some interesting articles about accidents in early days nuclear engineering. See for example the demon core incidents, where two scientists killed themselves by performing measurements on an almost-critical sphere of plutonium. Or see the Windscale fire, where it took almost 48 hours for the operators to confirm that their nuclear reactor was on fire.
By today’s standards these the incidents seem almost absurd, yet as far as I can tell, the Los Alamos scientists as well the Windscale designers and operators were well-educated experts.
Sometimes I feel that software engineering is like early nuclear engineering. At least we only leak data, not radioactive material.