Many people are absolutely enthralled by Linux and open source, and what could be better than taking your hobby and making it your career? Is it really possible that you could be paid to do something that you love?

In this article, I'm going to share some tips and advice on how to get your dream open source job. I'm going to discuss the kinds of opportunities that are available, how you can set yourself apart from the pack and ways of making your CV stand out.

I'm also going to throw in some personal experiences and anecdotes that may help you move towards being gainfully employed in the open source industry.

The good news is that the open source world is brimming with opportunities for many different kinds of roles. While you might worry that companies are only looking for programmers who can code C with one hand tied behind their back, this isn't actually the case.

Programmers, artists, designers, documentation writers, testers, business development and sales, plus many more, are all options available to you. The challenge isn't finding the right job; it's putting yourself in a position in which you have everything the employer could possibly want in a candidate.

Part of the reason that I was keen to write this article is that I'm lucky enough to have my dream open source job: I work as Ubuntu's community manager. Not only this, but I've also had two other dream jobs too, as both a full-time journalist and professional open source consultant. It really is possible to get the gig you want - it's all down to hard work and effort.

Finding the jobs

The first thing you should do is get a firm idea of what kinds of roles are available and what they involve, as well as whether they interest you and match your skills. While I'd always encourage you to expand your horizons, when you go for a job the employer wants to know that you have a strong foundation in the role they're looking to fill.

If you're expecting to be able to find a job and learn what's needed to do it as you go along, you're going to struggle unless you soak up knowledge and skills like a sponge. To prevent this, always look for jobs that play to your primary skills.

To find out what jobs are available, you should first take a look at the websites of organisations that you'd love to work for. Would you want to work for a Linux distributor, for instance? If so, check the careers pages of Canonical, Red Hat, Novell, Mandriva and others. Note down the jobs that interest you and read their requirements carefully.

Here's my first tip: really, really read the job requirements. There's nothing more infuriating than reading an application from a candidate who clearly didn't read the job description. Also, listen to those requirements and honestly assess whether you fit them - if the employer's looking for five years of Python programming experience and you only have a year's worth, don't apply anyway thinking you can change the company's mind. You want to avoid getting a black mark against your name for future job opportunities.

Employment websites are another place to look for jobs. Bear in mind, though, that many hiring managers only ever post roles to employment websites if posting them publicly on the company website and spreading the word themselves yields few decent candidates. In such situations, you might find that the hiring manager is a little more anxious to get the role filled, but will arguably have a lot more candidates.