I'm another 'crossover.' I was a land surveyor for over 10 years before I became a software developer. To me, the unifying factor is methodological. Software engineering is a lot younger than civil engineering or mechanical engineering, and it's a much more rapidly moving and less conservative discipline.