Open Source Coding Can Give Your Career an Edge
Open source software has evolved from an oddball notion to a business powerhouse. Open source projects are attracting legions of programmers and demand for code warriors continues to climb. Students can ride this wave to make their resumes stand out when they finish their studies and prepare to enter the world of work. They can do this by contributing code to open source projects while still enrolled in undergraduate programs.
"Many organizations — especially small to medium size businesses and startups — are heavy open source users so those technologies are not only recognized by hiring managers, but they covet those skills," says John Reed, senior executive director for Robert Half Technology. "It's certainly a plus as a job seeker looking for a position in technology to list those skills because they're requested more and more frequently.”
While working on projects that are part of a student's course of study are important, writing code for an open source project is looked at in a different light by hiring managers.
"It's an opportunity to gain real world experience working on an actual code base, as opposed to student projects in a lab which tend to have a definitive start and end date so there's not necessarily an eye toward creating something that will be robust and maintainable over time," says Leslie Hawthorn, director of developer relations at Elastic, a sponsor of three open source projects.
In addition to honing their coding skills, undergrads participating in open source projects can develop the skills they will need to work as a programmer in the real world.
"You're working in a distributed, collaborative environment across borders and geographies," Hawthorn says. "Often when employers hire graduates or interns, they haven't actually had the opportunity to work in the kind of environment they would find in a normal business setting.
"They may have done some group projects with some of their friends," she continues, "but it's not the same thing as working in an environment that replicates the traditional corporate world."
Since communities form around open source projects, learning to work in those kinds of communities can be an important takeaway for the potential job seeker.
"The skills you can develop working in a community are extremely valuable," says Marie Louise van Deutekom, global HR director for Suse, a maker of a popular distribution of Linux. "It's helpful for young people to understand how groups function."
Participating in an open source project is also a way for a student to fatten their contacts app. "It can open a new pool of people in your professional network," observes Robert Half's Reed.
It can also make a job candidate more than just a set of skills listed on a resume.
"If you're working on an open source software project, it's a body of work that can be referenced," Elastic's Hawthorn explains. "People can look at your code on GitHub or the project source code repositories and learn a great deal about you as a future employee based on the code you write, how well it's documented and how well it solves the problem it was supposed to address."
"Someone's visibility in a community is certainly one way for us to find future talent," says Suse's van Deutekom.
She recommends that undergrads interested in breaking into an open source first visit the websites of projects that may pique their interest. Subscribing to mailing lists about a project can be useful, too, she says.
"Start by listening and asking questions," she added.
Hawthorn, too, recommends getting a "lay of the land" before jumping into an open source project. "There's a term in open source software called lurking," she explains. "It means joining a project's email list, hanging out in its online chat channel and observing things — who the participants are, their design philosophy, reading the project like a book to learn about the characters in it.
"That can be incredibly valuable," she continued, "because it gives you an opportunity to understand if this is a project that fits you as an individual volunteering your time.
"It's really important to spend that upfront time observing because there's a lot of tribal history with each open source project that you really don't know when you encounter it as a new person.”
Another good place to find out about open source projects is a website called OpenHatch.org. It contains listings of development needs posted by open source projects. Many of the listings are bugs that need to be addressed in the projects.
"They give a new contributor the opportunity to learn more about the code base and how a project functions from a social perspective," Hawthorn explains.
What's nice about the projects on OpenHatch is that they come with mentors to help a newbie with their coding endeavors.
"There's any number of pathways for getting involved in open source," Hawthorn says, "but I'm a fan of OpenHatch because it has a mechanism where you're guaranteed a mentor so you're not embarking on a brave new quest all on your own."