We
shouldn't make as stable constructions as other engineers, for very good reasons: they're building things out of concrete, iron, and steel that are meant to last for years doing a
very predictable job without alteration after their initial construction. If you don't get it 100% right before you close up a building, it's going to cost
millions to go back and fix it.
As programmers, conversely, we build text files that are expected to change every day as the business needs shift, and we know up front that most of the code that we write will not survive as-is. Speed of iteration is far more important than getting things right the first time, and the cost of a delay in the name of building something right can be much higher than the cost of refactoring the simplest solution that can possibly work once you actually need to (YAGNI is not something you'll hear very often in physical engineering fields).