I’ve been hanging out at JavaRanch.com lately, after I was the guest forum contributor a few weeks ago. The Java market seems to be glutted with programmers from what I read, and there’s a lot of interest in using open source to boost one’s résumé. One poster asked for specifics of how he could use open source projects to help his career change to one of programmer. Here’s what I told him (with some minor edits):
The key to getting into open source isn’t to find a project to contribute to. What you want to do is contribute to a project you already use.
What open source projects do you take advantage of every day? I’m no Java expert, but it seems like half of what the Apache Foundation is driving these days is Java-based. Do you use Ant? Struts? Jakarta?
How about non-Java projects that you use? Do you use SpamAssassin? It’s in Perl, so would give you a reason to also learn Perl. Any Apache modules you use? You could learn some C.
How can you contribute to those projects? It doesn’t have to be just contributing code at first. Hang out on the mailing lists and provide answers. Update support wikis or contribute documentation. I know that on the Parrot project, a large amount of contributor time goes just to maintaining the tickets in the bug system. Anything you can do to pitch in, do it.
Start with joining the appropriate mailing list for the project, or monitoring forums. Hang out in appropriate IRC channels. Listen to what people are saying. Make yourself known as being someone who is willing to pitch in. And then do the work people are saying needs to be done.
Go into it with the goal of contributing to the project, and not of improving your career. When you take care of the first part, the second part will come naturally.
Any other suggestions? I’d like to turn this into a sort of standard page that I can point people to when this question comes up.