Building a bridge is something where external participants cannot really tell you much about what it should look like. They know you can't just double the number of lanes or add a train track as you're doing it.
With a software project, people can ask for all sorts of stuff, and because it's soft, some engineer will say "ok let me see if I can look at that for you".
Not only that, if you write your software so that it's rigid, that's bad code! You need it to be flexible so that you can cater for future concerns.
Softness also means you have to keep up with trends. You can write your next website with a newer, fancier js framework, and people can make these new frameworks are just sitting at home at their desk. They aren't mixing new concretes.
Mainly because, every bridge is more like every other bridge than not.
Every skyscraper is more like others than not.
While there are some parts of new software that are more similar than not, and these are more 'engineering like'. The majority is not.
Evidenced by; if you did a 'diff' between plans of a bridge you would get a limited number of differences. When you do a diff between an os, browser, slack, the code that runs this site you get a lot more differences. You need to consider each and every detail. This is not 'big-picture'. Big pictures do not construct things.
Sure, there are lots of similar projects and maybe you can apply a more traditional engineering approach to those.
It is interesting to note, LLMS are bringing the similarities out. You can ask for something and it can code up something from something it has seen that is similar. But, as anyone who has used them, will know, it's only partially correct in its interpretation of that simimilarity.