I've been working full-time as a programmer for 16 years across three different companies. While that has been fun (and not so fun), I'm at a point where I'd like to abandon the daily commute and corporate life, and instead try to make a living working from home. The model I've got in mind is taking on projects for companies located anywhere on the planet (given I live in Brisbane, Australia, the opportunities for remote employment locally aren't so good). The employers would have to be happy with never meeting me in person.
There's the obvious parallel with contributing to open source projects, though I'm specifically looking for paying jobs; this would become my primary source of income, rather than a volunteer effort.
I'm assuming that if it's not someone who already knows me, I'd have to have a way of demonstrating to a potential employer that I can actually code. For example, verifiable contributions to open source; one or more reference sites or projects; anything that can show what I can do.
I've come across several people in recent times who do this successfully, but in all cases the work obtained was through prior relationships. Is that the only way it can work?
Is using a "payment on delivery" model wise? That is, take on a project, on the understanding that I don't get paid until I'm done. I can see the potential for exploitation, though that could be avoided if the employer was reputable. At least at the beginning, this seems like a way of building trust with an employer.
Are there any trustworthy employers who support this style of working? Canonical comes to mind, though I get the impression they're fairly unique in that regard.
Am I kidding myself that this is even viable? Is it too non-traditional for the vast majority of companies that need code written?