The continuing rise in popularity of Linux applications has become a boon to job opportunities for software programmers. However, the working culture of the open source industry is different from that of proprietary software developers.
Code writers looking for a job as Linux developers need a unique set of job skills and work ethics often not demanded by employers of traditional software developers. Even educational degrees take a back seat to hands-on experience with an open source community and a track record of communication ability and leadership.
The open source concept is now so universal that many Linux-based development companies go beyond traditional personnel pools when recruiting programmers. Regional barriers are less of an impediment for code writers looking for a job.
“Some companies draw from a regional resource pool. From the start, Red Hat has been world-based via the Internet. We hire a lot of remote workers from around the world based on their talent,” Tim Burke, director of emerging technologies at Red Hat, told LinuxInsider.
Part 1 of this two-part feature focuses on organizations such as JasperSoft and Red Hat. Part 2 visits on Novell and Canonical/Ubuntu.
The great thing about being a Linux developer is being able to work at so many companies that use Linux. For instance, many companies have a stake in Linux. There are end users like Google, distribution vendors like Novell and IBM, phone providers like Palm, consumer electronics companies like Sony — all who use Linux, offered Amanda McPhereson, director of marketing at The Linux Foundation.
“Actually, most Linux and open source developers work for major software firms. LWN.net has a listing of companies who contribute the most to Linux,” McPherson said.
Linux programmers need no longer work for free as hobbyist contributors to forums. Mistakingly, some people think that those who work on Linux do so in their spare time, she noted.
“According to LWN.net, only about 5 percent of kernel developers could be considered hobbyists. The rest all get paid to work on Linux, and many of them work at some of the greatest software firms in the world,” said McPherson.
Many companies care much about the health of Linux, Apache and the multitudes of other open source projects, so jobs are plentiful, she concluded.
Hiring standards applied by Linux and other open source software companies are more flexible than standards used at proprietary software companies. However, a constant at all of them is a strong involvement at the community level.
“More important than the college degree is the involvement with the open source community,” Jon Masters, senior software engineer at Red Hat, told LinuxInsider.
That point was echoed by all of the panelists who discussed what it takes to become a Linux developer. Community involvement clearly trumped pure academic training.
“Activity in an open source community is very important, whether it is BSD (Berkeley Software Distribution), Linux, etc. Applicants have to know what open source development is all about,” Ralf Flaxa, vice president of engineering for Novell, told LinuxInsider. “Almost all the work we do is done in communities. Very little is inside work developing some secret sauce.”
Community Tells All
Wanna-be Linux developers really need a presence on the Internet. This goes well beyond posting a resume.
The beauty of open source by nature is that everything is open, explained Red Hat’s Masters. His company focuses on how code writers cope and how they work under pressure.
“We can see all these things from the online records, but we won’t get that in a very defined environment,” Masters explained.
New graduates with no community reputation will not find much hiring interest. The same may be true for crossover candidates from traditional software firms. The fact that a developer’s work is readily available on the Internet for all to see makes potential job candidates much more visible.
“This does not mean you have to be a coder. Other collaborative work styles can also qualify an applicant,” offered Ralf Flaxa, vice president of engineering for Novell.
Online Calling Card
Open source is changing the dynamics of the software development industry. A vivid example of this is Canonical, the developer of the Ubuntu Linux distribution. That company has built a substantial community around Ubuntu. When shopping for potential hires, Canonical often has a large pool of people with known, tested qualities.
“The key is to have a presence on a community. Somebody fresh out of college with a degree is not going to be a very attractive job prospect solely on the basis of academics. It is going to take a few years to gain some visibility within a community,” Matt Zimmerman, CTO of Canonical/Ubuntu, told LinuxInsider.
Linux developer applicants really need a substantial track record first. The work done within a community already precedes an applicant. It speaks louder than a traditional resume, he said.
Generally, it would be hard for a new graduate to be qualified without getting some exposure and experience first, according to Barry Klawans, a founding member of the Open Software Alliance and CTO at JasperSoft. The goal for open source companies is to find good people.
“This is a lot more virtual, so we usually find them through their participation. One way to prove yourself is to become active as a participant in a forum by offering patches and other technical advise,” he suggested.
The most important thing for any prospective pro Linux developer to do is simply work on Linux, added The Linux Foundation’s McPherson. Anyone can get involved by pursuing an interest and joining a mailing list, monitoring the activity, finding a need and working on it.
“Luckily, the jobs tend to follow,” she said.
Having work experience as a programmer for a proprietary company is not necessarily a deal breaker, added Canonical/Ubuntu’s Zimmerman.
“We have to see a candidate’s ability to adapt to different models,” he said.
Education has a less critical role when looking for a job in Linux development. Even so, every developer needs to learn programming somewhere, and certain degrees can sometimes have advantages over others.
“A degree in computer science is more preferred than an engineering degree. Computer science degree holders are more used to taking an ad-hoc approach to coding. This is also true for skills involving problem solving,” Novell’s Flaxa explained.
Age is not a barrier one way or the other, he added, although he noted many of Novell’s most active members in the community are younger, he said.
“It is astonishing how many young people have very developed coding skills. They are now raised on a computer,” he quipped.