There are a lot of excellent reasons to get involved with an open source project. You can learn a new language, improve your existing skills, be challenged by a community that is at the top of their field or even get better at managing complex distributed projects. There are also dozens of ways to participate. Open up a project's bug tracker and find an issue that needs to be fixed. Write a useful new extension or plugin. Even if you don't code, just about every open source project out there could use more testing, more documentation and tutorials and help handling the load on their support forums and mailing lists. If you are a heavy user of open source software it feels great to give something back to the community that has contributed so much.
One of the most overlooked reasons to get involved with an open source project is career advancement. Developers, project managers, testers and technical writers are judged on their skills, and what better way to show off what you can do than to do it in public! I've always suspected that this is the case, but had no way to really quantify what open source participation means to potential job seekers. So, I set out to find out. This is the first of a series of articles about how employers, recruiters and other developers view open source contribution, how to get the most out of your work and how to couch it on your resume.
If you are in a technology field, you probably hear from recruiters fairly regularly. It seems to be one of the more common ways for tech folk to find a new gig. This includes both corporate recruiters that work for a specific company and freelance recruiters that find candidates for a number of different clients. To find out how these professionals view open source experience I turned the tables on them a little bit. Over the last several months whenever a recruiter contacted me about a position I replied with a counter-proposal: I love my job and don't want to leave, but I'd like to interview you instead. Almost all of them were good sports and over a few months I was able to collect some interesting (if anecdotal) information about how open source is used at their client companies, how they view open source experience and even a little bit about how open source projects can be fertile hunting grounds for recruiters.
What I found was mostly expected, but there were some surprises. Recruiters and their clients have a universally positive view of those that participate in open source projects at all levels. One corporate recruiter at a firm in Pennsylvania went so far as to say "I think people who are active in the open source community are rock stars. The average employee works eight hours a day, the rock stars continue to do it after hours not because they have to but because they want to. I don't think there is an employer in the world that would look at that as anything but a positive." While I myself am not a big fan of the "Rock Star" analogy, the point is well taken. People that code, document, test and otherwise contribute outside of what is required for their career demonstrate a passion for the job that employers find very attractive.
Companies that make use of open source technologies naturally gravitate toward people that are active in the ecosystem around those technologies. For example, if a company is looking for a good Drupal developer, it would be perfectly natural to scour the Drupal support forums, module contributors and even commit logs for active, competent candidates. Is this poaching? Maybe, but that is part of a recruiter's job. As open source software continues to weave itself into the fabric of IT organizations large and small, this trend will only continue. Recruiters know where to find people with experience in the technologies that they need, and those that are active in their project communities will have an edge when it comes to finding employment.
On a slightly more cautionary note, don't think that casual open-source participation is equivalent to work experience. Based on my interviews it isn't viewed as such, except in some rare cases. If you are a core contributor to the Linux Kernel, for example, you can certainly claim equivalence. If you release a few bug fixes and write a plugin or two? Not so much. Employment means a lot more than your technical work. It means getting along with colleagues and working on a team. It means building what the customer needs or wants, not writing code that scratches your particular itch as is so often the case in the open source world. Writing code to satisfy yourself is awesome, but it isn't the same thing as writing it to a customer's specification. Also be very careful to stay positive and professional on project forums and mailing lists. The content posted to these forums is basically around forever and you have no control over the content retention, so make sure to put your best foot forward. You wouldn't want to have a potential employer Google your name and find a bunch of petty fighting and name calling.
In part 2 of this series, I set out to interview a much more elusive group: The CIO.