some are just a bit better at guessing
some are just a bit better at guessing
You can legitly learn how to do things properly and people who learnt to do that do the polar opposite of guessing. It is just that the world of software development has yet to be made liable for their results in the same way as civil or electrical engineers. So in software development many are just guessing because guessing wrong won't ruin their life.
There is software engineering and it is known how to do things that absolutely must not fail. It is just thst these standard are not commonly deployed if nobody forces you to deploy them. And why would you? Costs money and a software error is widely treated like divine intervention.
I'm very wary of anyone in tech/software eng that says "this is the only right way to do this." I'm aware those attitudes exist everywhere.
Not much different in software. There is always many ways of solving problems and that is typical of any engineering. Contrary to sciences.
I would expect someone building a bridge to keep the average/peak winds into consideration - and then feed it to CAD or whatever modeling software they use to design the structure. They don't need to know the exact force a screw was tightened with - they do need to give the specs of what range they should be tightened to. Again - considered in CAD. They don't need to know that theory is right - they just need to know it's not wrong to an unacceptable degree.
I'm sure there's some guessing, but a lot of these things are actually factored in.