I think one of the issues is that software engineers are building on sand. Civil engineers have Newton and Einstein to fall back on.
It feels like there is no ground truth in computing, each layer has to assume the layer below is generating random errors and try to account for that, because humans are not perfect.
The laws of physics stay the same, technology is constantly changing.