7 skills to land your open source dream job | Opensource.com

"Work on stuff that matters" is a famous call to action from founder and CEO of O'Reilly Media, Tim O’Reilly. But, how about working on stuff that matters while getting paid for it? There are an abundance of open source-related jobs out there if you’ve got the right skills.

Mark Atwood, Director of Open Source Engagement at HP gave a talk on How to Get One of These Awesome Open Source Jobs at the Great Wide Open conference in Atlanta, Georgia this year (April 2 - 3). His talk was originally targeted to students, but he later removed the "Advice for Students" part because the seven tips below really apply to anyone looking to score their open source dream job.

"When you work on open source, you get to work on things that benefit the world," said Atwood. Adding that, "you have to do the work before you get a job." He also mentioned that while working in the open source community, you will develop really great peers and best friends. Working on open source is a lifestyle that has embraced a philosophy. More importantly, Atwood noted that "once you have an open source job, you are portable."

While his talk went into more depth on the topic at hand, this is a summary of the tips he provided. I would encourage anyone who gets paid to do what they love to add their advice in the comments.

7 tips for open source job seekers

Communication skills

Learn how to write clearly. After you’ve written something, have people edit it. Then re-write it, taking into account the feedback you received. The most important language you need to know has nothing to do with coding, it’s the English language. Atwood also says another key to writing is to write all the time.

Learn how to speak. Speak clearly on the phone and at a table. For public speaking, Atwood recommended Toastmasters. "Meet and speak. Speak and write," Atwood said.

Be reachable. Publish your email so that people can contact you. Don’t worry about SPAM. Finally, Atwood stressed, "Don’t be a jerk. Your reputation is hard to change and the Internet is forever."

Technical skills

Learn programming languages, even if you want to do IT stuff. For anyone that isn’t fluent in a coding language or already learning one, Atwood recommended two languages. First, Python, because it’s easy to learn and easy to read. Also, JavaScript, mostly because it’s everywhere. However, if you are already learning a coding language, don’t stop learning it. Atwood continued and recommended to learn a new language every six to twelve months.

Learn how to use a debugger. And you will need to learn distributed source control, which today means git and GitHub.

Relationships and peers

"Open source works because it’s a community working together."

To start those relationships within the community, seek out local people to meet first. Use tools like Meetup.com and search for co-working spaces, hacker spaces, and clubs at local schools and libraries/centers. Then, seek out remote people around the country and world. Learn about them and their projects first by searching the Internet.

Attend conferences and events. This is a great way to network with people and meet them face-to-face.

In building these relationships and meeting your open source peers, Atwood again suggested, "Don’t be a jerk." He added to that this time, "Don’t be creepy."

Work

When Atwood said, "you have to do the work before you get a job," he was serious. "Find a project and get involved," he said. Sign up for mailing lists and get on Stack Overflow. Start reading questions and answers, then start answering questions. Start reading bugs for the project, then start fixing bugs. After you’re comfortable with that, consider adding feature request and then coding the features.

In doing the work before the job, you’re building your skills and your credibility. And, in the open source world, reputation is very important (more on this below).

Collaboration

Collaborate with people all over the world and start using the tools that open source projects use. You’ll need to be familiar with IRC (Internet Relay Chat), bug trackers, and email lists. Using git to learn about pull requests and log comments is also an important skill.

Learn how to do code review and paired programming. Why? Because two of you will be smarter than one of you. This will make better code and removes ego from it.

Reputation

In the world of open source, you want other people to know what you do. Have a portfolio of your work and your mail messages, commits, and other contributions. By doing this, you’ll be able to pair you portfolio with your resume. (Some employers may place the work in your portfolio on a higher level than the work listed on your resume.)

Keep your LinkedIn profile and social media profiles up-to-date. And again, Atwood stressed: be findable—no one wants to waste time looking for the best way to contact you.

Getting that job

How do you find a job opening? Once you find an open source project, you’ll find that many of the projects have a companies attached to them. Once you’ve built up your reputation, your peers will loop you into job openings that could be a potential match for your skills. Listen to speakers at conferences and events to seek out and find job opportunities. But this doesn’t mean you should wait for the job to come to you.

Once you have the job

Atwood offered advice for after you begin a career in open source. Three things you should be mindful of are your health, money, and continued education.

On health, Atwood said to avoid geek neck by being ergonomically correct in your typing. Also, don’t work for a jerk. And, take care of yourself by working out—you are smarter when you are exercising and you have more energy.

On money, Atwood recommended to avoid debt, to max out your 401(k) and IRA contributions, and to invest early and often—adding that you should, of course, consult your lawyer and/or financial advisers.

Lastly, Atwood said to keep learning. Skills will always beat smarts. Be sure to schedule time for learning and have some fun! Go code fun projects or find a maker space and start tinkering.

The great thing about open source is that you can build a name for yourself and develop your skills by working on a real project, assuming you have enough economic stability to have some computer equpiment and internet access (many of the tools needed to work on open source aren't included in the locked down workstations available at a public library, e.g. git.) Trying to build a portfolio of work for academia, where the 'product' is scholarly research, is, by comparison, a complete pain. I can't even do a proper literature review without having to beg friends with jobs in higher education to retrieve journal articles for me!

You forgot one of teh most important factors: live in an area that isn't a dying economy, where the state government hasn't taxed every viable industry out of existance (or forced them to relocate). If you can't relocate, none of these tips will help at all, and you get to watch Poughkeepsie turning into the next Detroit.

@jelabarre, that's not true. One of the awesome things about open source jobs is how much more often they can be long distance telecommute work. Good open source employers don't care that you're not in an expensive city. I know more than a few successful open source people who live in or even moved to so called "dying areas", rural outbacks, rustbelt zones, and even just more livable cities. The Bay Area is hardly livable or affordable. Having a high tech job salary in an "economically depressed" area can mean your dollars go a lot farther.

A lot of things fall under wishful thinking like
>don’t work for a jerk.
>And, take care of yourself by working out
and of course
>On money, Atwood recommended to avoid debt
whch i guess means no college.
Even the 'learn a new language every 6 months' is pure fantasy.
I brought it up at our dept meeting this morning, it made everyone laugh except one guy, the most asocial, cliched, stay at home geek in our company.
With project deadlines, working 60-80+ hour weeks and kids, most of our IT dept's free time goes to some free software projects. Stuff like gym, learning new things, a social life gets often left for the back of the list (that doesnt nag you every 3 days to cut the grass). Although we have 5 guys who have small home gyms in their homes which helps save you lots of travel time.
There are lots of things people would love to do if they didnt work so much. Take a walk in the park, go skiing, paint the garage. The big problem is time Time is the new money. You can always make more money but that money doesnt buy you time.
(our company is huge on flex time and telecommuting so our employees dont spend 20hrs+ per week in travelling to work. were also looking at adding a small gym in a quest for health but mainly in a quest to save our employees time)

I'm not quite to recommending that, but almost. Google for "Higher Education Bubble". Certainly, don't go into student loan debt for $40K for a low quality non-STEM degree. The last 50 years of advice about "its worth it to go into debt to get a degree" is getting less and less true. If you feel you need a degree, go to the cheapest good quality school you can, and borrow the least amount of money you can get away with it.

Having a good portfolio of work not only beats a resume, it even beats having a degree, when getting an open source job.

> working 60-80+ hour weeks

Nobody can sustain 60-80 hr weeks indefinitely. You will wreck your health, and you wont be productive anyway, your useful output will be no more than working 40 hours a week anyway. Read the Lifehacker article: "Working Long Hours Is Hazardous to Your Health and Your Productivity". Give a copy to your managers. If they think it's "pure fantasy", look for managers who are actually good at their job, because these are not.

I'll echo some of Mark's comments and confirm that yes, time is indeed a currency that we are all short on. Managing your time wisely might be one of the most important skills we can get good at. One thing that compliments that is prioritizing. Is learning a new language coding language a high priority to expand your job skills? Then make the time for it.

I'll add one thing that Mark didn't touch on that I borrowed from the book Total Leadership is to establish "wins" in multiple domains. These include your work, your home, your community, and your private self. If you talk a 30 minute walk at lunch, you are improving yourself and your work (because you're taking a break) and if you pick up some trash during your walk, you're improving your community. Obviously this is a simple example and the book goes into more detail, but if you can make learning a new language part of your job, then you'd just created a two way win. And if you can volunteer your time for a local group / meet-up, then you've made a three-way win by improving your community.

Thanks for a great article, there are many pressures on our time and it is important to define goals/get your priorities right. As someone who balanced open source with a B.Sc. and later a Ph.D. that was significantly easier than a wife, children and job! That said many of these points really resonated with me, I really enjoy working on open source, wish I had more time for it, but also need to prioritize work, family, exercise and fun! Volunteering as a moderator has been enormously rewarding, but was something I thought about quite a bit. Thanks Jason for writing this up, and Mark for sharing his thoughts!

All excellent advice for would-be professional FOSS devs... And I'd also like to point out - despite my strong pro-FOSS bias - these same steps will be equally compelling for a non-FOSS employer, so it's they're all a no-brainer if you want to be a developer...

Yes, lightweight, this advice works for non-FLOSS devs as well. This was pointed out during the Q&A at the end of my session.

One thing worth noting is that while this approach is useful getting a non-FLOSS job, if you use it to get a FLOSS jobs, and then keep doing it, it will continue to work to get the *NEXT* job as well. One of the risks of non-FLOSS development is that you can drop off the radar, and when the job ends, your portfolio and reputation has a hole in it.

Yes, totally agree - I wouldn't do non-FOSS dev myself, but some people don't feel they have that choice... but the trend seems to be moving towards "FOSS-by-default" rather than the old-skule proprietary by default.

Jason Hibbets is a senior community evangelist in Corporate Marketing at Red Hat where he is a community manager for Opensource.com. He has been with Red Hat since 2003 and is the author of The foundation for an open source city. Prior roles include senior marketing specialist, project manager, Red Hat Knowledgebase maintainer, and support engineer. Follow him on Twitter: @jhibbets

Main menu

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat.

Opensource.com aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. Red Hat and the Shadowman logo are trademarks of Red Hat, Inc., registered in the United States and other countries.