I’ve had the pleasure of interviewing a number of people to work for Mozilla and plenty of developers for the jQuery core team. There’s a lot that I’ve learned about what makes a good candidate and I’d like to point it out, as it’s generally quite different from most organizations looking to hire. Also, even between the two Open Source projects, the qualifications for a good candidate shift wildly – however there’s a lot that’s quite similar, and should be outlined.
Education, grades in school, extracurricular activities, and age have very little bearing on what makes for a good candidate. None of those have ever been a factor in any of my choices for an interviewee.
We’ve had contributors to jQuery aged all the way from 15 to 65. Stuart was hired by Netscape to work on the Mozilla project straight out of high school (which was actually detailed in the documentary Code Rush). Age is rarely relevant, as long as you can produce good code and work well with your teammates.
Conversely, experience and initiative have a huge amount of power over an applicant. If you’re able to demonstrate that you’ve devoted large amounts of time to building side projects (especially when they’re Ajax-y web applications – PHP, Ruby, Python, Perl – all good). Since most of the people that I talk to for Mozilla are coming from MIT they all end up being amazingly similar. The deciding factors for a candidate come down to how they’ve gone beyond the basic program and excelled. This is especially important since good web development skills aren’t seemingly taught in the MIT curriculum, which is a shame.
Location and native language can matter, depending on the project. Mozilla, for example, is a highly distributed organization, however some teams (like the platform team) tend to work mostly in Mountain View, CA. Additionally, due to frequent meetings and communication, being able to speak and understand English is incredibly helpful. On the other hand, for jQuery, location is not a factor at all. The jQuery team has only met once (and there’s some team members whom I still haven’t met). Much like Mozilla, we’re distributed across the globe – Germany, Florida, China, California, Romania, Colorado, Australia, and on, but we don’t have a central base. Being able to speak English is much less of a concern for us – we’re more open to letting your code speak for itself.
Manning the booth at a recent MIT Career Fair.
For Firefox Frontend Engineers, in particular, I also tend to look at the two other core aspects: CSS and XUL.
XUL: By far the most challenging skillset to find. Oftentimes when I actually interview a candidate that has XUL knowledge they’re more proficient than I am. However, most people aren’t familiar with XUL so I tend to explore topics like XML, XPath, XSLT, and SVG. Having good knowledge of any of those is a big win.