I think there is a 'meta' aspect to software development. We almost work one layer above other branches of engineering.
Which is what gives that feeling that you can ideally work on any problem and solve it. Because that is exactly what we do, look at the diverse domains that benefit from the use of computers and software.