> I bet if we fast forward 1000 years, you'd find that software engineering will have become as rigorous as what we have today in civil engineering.
This isn't evident at all. In software, every situation is novel, so there is no room for repeatable processes.
You can build a "bridge library" once and tweak it for each situation, but you never need to develop a rigorous process to build that library again.