Here's my situation at the moment - I graduated last year with a physics degree from a decent uni, and I have since been working as a software engineer on a graduate programme with an aerospace company. I enjoy programming very much and I've been doing it for years, both before and during university, getting experience in various languages including C++, C#, Python and Java and dabbling in some web stuff.
I will be with my current company for around another year and a half until I have finished with the graduate programme and I reach a natural decision point - do I keep working where I am now, do I do something similar in a different company or do I try for something totally different? What I'm leaning towards is this - I'd like to keep programming but escape the office/cubicle environment as I really don't see myself being compatible with it long-term. I like the look of what some people are doing as software freelancers - travelling pretty much anywhere they please and working remotely over the internet. Travel is another passion of mine and I have always wanted to integrate it with my work.
Anyway, my question is this - what are the common sources of work for people doing this? Is it possible to get proper contract work where you can code remotely, or are people exclusively getting more 'unofficial' jobs from sites like Upwork? Of course there are a lot of contractors working in many different companies (including the one I'm with at the moment) but they still seem to be tied down to the office life so I don't think that the traditional contractor route is for me.
Thanks for the help and I'm happy to provide more info if it will be useful!