Would you hire an open source developer?
Open source teaches you coding and interpersonal skills
Published 11:57, 11 October 10
As open source comes of age and becomes mainstream, more and more job postings include "open source skills" in their requirements.
But do you really want to hire someone who spends their time exchanging flames with members of their own community in public forums? Someone who greets newcomers with "I have forwarded your question to /dev/null, thanks" and other RTFM answers?
Luckily, open source communities are not just about being rude and unwelcoming to strangers. Most of them are not like that at all, and the skills you learn in an open source community can make a big difference in a corporate environment as well.
One very important skill that you learn or improve in an open source community is to express yourself clearly in written form. The mailing lists or forums that we use are very limited compared to in-person communications, and extra care is required to get your message through. Being concise and complete, disagreeing respectfully, avoiding personal attacks and coping with what you perceive as personal attacks are all extremely useful skills on the job. Useful skills for your whole life actually.
Once you master asynchronous written discussions as a way to build group consensus, doing the same in a face to face meeting can be much easier. But the basic skills are the same, so what you learn in an open source community definitely helps.
Travel improves the mind, and although being active in open source can help one travel more, even without traveling you'll be exposed to people from different cultures, different opinions, people who communicate in their second or third language, and that helps "improve your mind" by making you more tolerant and understanding of people who think differently.
Not to mention people who perceive what you say in a different way than you expected - this happens all the time in our communities, due in part to the weak communications channels that we have to use. So you learn to be extra careful with jokes and sneaky comments, which might work when combined with the right body language, but can cause big misunderstandings on our mailing lists. Like when you travel to places with a different culture.
Resilience to criticism and self-confidence is also something that you'll often develop in an open source community. Even if not rude, criticism in public can hurt your ego at first. After a while you just get used to it, take care of fixing your actual mistakes if any, and start ignoring unwarranted negative comments. You learn to avoid feeding the troll, as we say. Once your work starts to produce useful results that are visible to the whole community, you don't really care if someone thinks you're not doing a good job.
The technical benefits or working in open source communities are also extremely valuable. Being exposed to the work and way of thinking of many extremely bright developers, and quite a few geniuses, definitely helps you raise the bar on what you consider good software. I remember how my listening skills improved when I attended a full-time music school for one year in my youth: just listening to great teachers and fellow students play made me unconsciously raise the bar on what I consider good music.
Open source communities, by exposing you to good and clever software, can have the same effect. And being exposed to people who are much better than you at certain things (which is bound to happen for anybody in an open source project) also helps make you more humble and realistic about your strengths and weaknesses. Like in soccer, the team is most efficient when all players are very clear about their own and other players’ strengths and weaknesses.
You'll know to whom you should pass or not pass the ball in a given situation.
To summarise, actively participating in a balanced open source community will make you a better communicator, a more resilient and self-confident person, improve your technical skills and make you humbler and more realistic about your strengths and weaknesses.
In our age of paid coaching, that sounds like something people would pay a lot of money for, and the good news is that participation in our communities is completely free!
I don't hire developers myself, but if I did "open source community skills" would be a big plus for selecting candidates. Actual demonstrable skills, of course, not just a line on their resume!
Blog post by Bertand Delacretaz.
Bertrand is Director, and Project Management Committee member for Apache Sling, Apache Cocoon, and the ASF Incubator, where he is a mentor for the ESME, ACE and Clerezza projects. As Senior Developer, R&D, at Day Software, Bertrand's interests lie in the areas of Java, such as OSGi, JCR, Jackrabbit, automated testing, and RESTful systems, as well as Community, such as Open Source project tools/best practices, and innovation. Bertrand will be presenting at the Content Technologies and Community tracks at ApacheCon NA, 1-5 November 2010. More from Bertrand is available here.