I have an electrical engineering/signal processing background and, except for a few internships and the first year of my job, I have really been doing software development all the time. The fields are quite correlated but still I haven't really got a lot of formal training in Compute Science. I got the feeling that due to the nature of Internet, it is much each easier to learn and experiment with software, than say civil engineering. (But maybe because I have not looked close enough)
Software is eating the world anyway. Every field you have cited, and you can add education, healthcare,..., would benefit to have better connected, mobile, tools. I don't know your personal history, but if you want to have an edge you probably need to find an intersection between your own field and sw development. To take an extreme example, if you have been working for 5 years in day care, you are better prepared to create the "Uber for daycare" than a random guy with an idea.
I actually know lots of people who came from different fields and end up in software engineering because of the insatiable need of more sw everywhere. And more often than not, people with passion are better than people formally trained. I remember a guy who had a formal education in biology/horticulture but was writing some program in his spare time when he was a teen, and he was a terrific sw dev.