Contributing to open-source projects can give software developers an edge over other applicants in the competitive IT job market, say hiring professionals.
"The phrase we use is 'code is the new resume,'" said Jim Zemlin, executive director at The Linux Foundation. "Open source has truly become a juggernaut as of late. Within the last five years in particular it's just become the dominant form of development."
Open source, he noted, is behind Google's Android mobile OS, which is based on the Linux kernel, and open-source programs like Hadoop and NoSQL play key roles in the data-science movement. With open source in the mainstream, contributing to a community gets the attention of hiring managers.
"It is a frothy, hot market," Zemlin said. "I suspect if you participated in these projects and got code into it you'd be highly sought after by a large number of companies. There are just all upsides to participating in these projects, which is why you see so many people doing it."
Working on one of the 10 million open-source projects posted to popular code repository Github, for example, allows developers to demonstrate coding skills, collaboration abilities and technology interests. For hiring managers, open-source communities may offer better perspectives on technical and soft skills than a reference.
Developers who lack an open-source presence won't find themselves passed over for jobs, though. Given the tech industry's need for programmers, whether a person has an interest in open-source software doesn't matter to companies.
Demonstrate Your Ability
"The market is so strong for software engineers right now that even if you care nothing about open source and never want to get near it there's still plenty of opportunity for you," said John Graham, director of software engineering at open-source software vendor Red Hat.
However, developers who shun open source may be missing out on opportunities to entice potential employers.
"The more you can do to demonstrate your ability to code, your work ethic, the types of technology you have experience in, the easier it's going to be for a hiring manager to assess you," said John Nagro, director of engineering at HubSpot, a Cambridge, Massachusetts, company that develops a cloud-based inbound marketing software platform. "You're not necessarily at a disadvantage but you're not taking full advantage of the resources you have available."
Since open-source software has a variety of uses developers must consider the range of their work, a skill companies find "very valuable," said David Gruber, vice president of product management at Black Duck Software, in Burlington, Massachusetts.
"The way you think about building software tends to have a broader perspective than a developer who was writing a piece of code that was used for a single-use case in the context of an individual company," said Gruber, whose company offers consulting services for enterprises looking to adopt open-source software.
Enterprise adoption of open-source software means that working on such projects is no longer the domain of hobbyists who code in their free time. For many developers, their day job involves working on open-source programs.
"Many organizations are highly dependent on open source and have their employees engage with the open-source community and contribute fixes and report bugs for the open-source software that they're using," said Gruber.
Open Source Trend Will Increase
Zemlin already sees open source becoming the primary form of software development and predicts this trend will increase. Open-source code will comprise 80% of an enterprise software stack, he said, and the remaining resources will go to customizing the software for a particularly industry or product.
Another plus to open-source participation: the opportunity to develop skills and acquire experience that can be used to break into a hot area of IT. Developers who want a job in data science but lack the appropriate background could become involved with an open-source project connected to big data. Their code contributions and comments from peers on their work could be used to close the skills gap.
"You put that on your resume and you say, 'Look, I know I haven't worked in this area, but I'm a member of this community and this is what they say,'" said Graham.
Programmers interested in getting involved with open source should find a project that intrigues them -- even if they lack experience in it -- and find an open-source angle, said Graham.
"You're probably going to do it on your free time," he said. "You want to be interested in it. It shouldn't be a second job."
All open-source projects need contributors, but developers who join communities should not expect to instantly take on key development roles. This is especially true in popular projects or selective communities like the Eclipse Foundation and the Apache Foundation where the mass of contributions makes standing out a challenge, said Graham.
"Generally, any open-source project even if it is something of the scale of the Linux kernel needs help," he said. "It doesn't mean you're going to own the next version of the Linux kernel two weeks after you show up. But you can contribute fixes, clarification to the documentation. Any community appreciates that."
Developers should instead focus on how they engage with and contribute to a community, which outweigh the type of projects they select. Contributions are especially important and each holds different value to hiring managers. Filing bug submissions and asking or answering a question in an open-source forum serve as good starting points. The next and preferred level of involvement entails submitting code that adds features to the software and improves the program.
"Anyone who has a project out there, especially one that utilizes a piece of our open-source software in a meaningful way, we're going to be very impressed with how candidates present that," said Nagro of HubSpot, which posts projects to Github and uses the repository as a recruiting tool.
Developers looking to work on open-source projects shouldn't sacrifice quality and commitment for quantity. While more involvement is preferred, mediocre contributions and short-lived commitments don't impress hiring managers.
"I'll often see a project has 50 contributors and I'll look at the contributors and 30% have submitted one bug fix and that's all they've done," said Gruber. "They probably used a piece of software that had one small bug and sort of offered it up but really didn't contribute to it and stick with the project."
Collaboration is An Important Skill
His ideal open-source resume shows a developer who has contributed to a diverse number of projects and has a high level of engagement to at least one project and "reasonable commitments" to others.
The soft skills developers acquire from working on open-source projects are applicable to enterprise IT careers. Companies want engineers who can work together and share project feedback with colleagues, traits that are essential to successful participation in open-source communities.
Collaboration "is an increasingly important skill in today's job environment because software is being built outside of a firm," said Zemlin. "Someone who can collaborate within their company and across different organizations is highly sought after."
But businesses looking to hire open-source talent and open-source developers who are contemplating job offers should perhaps give some thought to the changes that would be necessary to work in a closed-source environment.
"I've known cases where open-source developers who got work at closed-source companies because they're experts in their area and they don't like that because a lot of the freedoms they've become used to are now severely curtailed," said Graham. "That transition has to be taken with some thought. One isn't better or worse."