Freelance programming – it’s the dream right? Hanging at home, coding like mad in your pyjamas sipping homemade chai tea.
(Your dream might be a little different from mine).
But we all know that busting into the freelance programming world can be hard. Especially if you’re still getting established as a programmer.
One of the hardest places to get started is the online freelance markets, like Upwork and Freelancer.
They’re incredibly competitive and it’s hard to get attention there.
But even outside the world-wide talent pool, it can be tough to pick up local gigs.
That’s because every employer has one question on their mind when – or before – they talk to you.
“Where’s your proof?”
This is the question in the front of every potential employer’s mind when they’re hiring a freelancer. They don’t just expect you to hit the ground running – they want you to set a world record.
This isn’t what it’s like hiring a permanent employee.
Permanent employees are an investment. They have to display great potential, but not necessarily prove they can do the exact job as advertised. They’re expected to pay dividends to the company for years to come.
But a freelancer needs to solve a problem right now. How will an employer know you’re the right solution?
The best thing is to present proof of your prior work. This can take a few forms, but the simplest is a portfolio of things you’ve built in the past.
But you’re brand new! How could you have past work?
Or what if you’ve spent you career doing enterprise development and your beautiful code is hidden behind a corporate firewall?
One option is to make a portfolio from scratch by building some fun projects. They don’t need to be 50-screen behemoths.
They just need to show that you can do what you claim to.
Some developers spend their whole career on work that users never see.
And the more invisible their work is, the more successful they are.
This kind of work includes managing communications between backend services, batch processing huge data sets, or provisioning system infrastructure that users just take for granted.
Users only become aware of this work when it goes wrong – who’s seen errors on websites like ‘Error 500’, or ‘Warning…Too many connections’? Something, somewhere on the backend isn’t working!
These kinds of developers can show off their skills by contributing to open source projects on github, either their own or others projects. Consistent contributions to infrastructure projects show you’re an enthusiastic and skilled programmer.
Let’s say you’ve got to get started right now. You need to show employers something that proves you’re worth being paid.
This is when you can show off (on your personal site, or on freelancing platforms) the results of technology-specific tests you’ve taken, prizes you’ve received, or commendations you’ve received while studying or doing other work.
Alternatively, find someone who needs some work done, maybe a friend or neighbour, and do it for free.
I know: there are people who say never, ever work for free.
The thing is, you’re not working for free – you’re going to get paid with a testimonial and a reference.
You’ll be able quote Mr Smith on your site saying “Patty Programmer is amazing: she’s fast, does high quality work and is a superb communicator. I never want to use anyone else.”
That’s your payment: evidence that you do an excellent job from another business owner, which is a gateway to more work in the future.
You do it once, and only if that person’s testimony is going to get you work.
If you type ‘freelance developer portfolio’ into Google, Amber Weinberg is literally the first result you’ll see, which is a triumph in itself.
Her portfolio not only looks great, it clearly spells out what she did for each project and often includes a testimonial from the client.
For a more backend example, check out this developer’s graph on github – this is a very active developer. I’ve kept the developer anonymous since they’ll probably find it weird to be randomly featured on a blog. If you want examples of active backend developers, check out the contributors section of the rails project on github.
Remember – you don’t need to start out with a giant, comprehensive portfolio. Just make sure that you’ve got something that shows off your skills for the kind of work you’d like to be doing.
Remember, you can do this by:
As you do more work, you can build up your portfolio and broaden your skills.
Here’s my suggestion for getting started:
Best of luck!