Why I Want to See Open Source on your CV

An interview is an opportunity for you to tell me about your your legendary hacking and awesome communication skills. A contribution to an open source project shows me this, and more.

Designers don't turn up to interviews with just their CV, they bring along a portfolio of their work. They show their interviewer how good they are and demonstrate their style. If you're serious about software, you should do the same.

By making a single contribution to an open source project you show me that you can:

  • Code
  • Communicate
  • and, Analyse

It also demonstrates a commitment to wanting to be a developer.

It doesn't have to be a lot

I'm not looking for a massive commit. A single line patch, a bug report or a documentation change are all far better than nothing.

If you are serious, you can do any of this in a day.

Don't be afraid

Your code isn't perfect. Nobody's is. There isn't any perfect art either.

If you're just starting out then I expect you to not be as good as someone who has had a lot of experience. By seeing what you can do I can figure out your strengths and weaknesses and decide if they're things that we can work on.

There are lots of open source projects out there that are begging for commits. Most of them will welcome you with open arms. Remember that annoying little bug you encountered in that tool you used yesterday? You could fix that.

What's the best thing to do?

There are lots of ways to contribute. Below I've listed some of the ways you can do so in descending order.

Fix a complex bug

Fixing a complex bug shows that you've understood a complex system. It shows you can work with other people and it shows you can code.

Add/improve a feature

This is below fixing a complex bug because it's normally easier to add or improve an existing feature than it is to understand a big system.

Create an awesome bug report

An awesome bug report contains:

  • Detailed reproduction steps
  • Expected result
  • Actual result
  • A test case
Doing this shows me how you think and that you can express your thoughts clearly. Writing a test case shows that you can actually write automated tests.

Fix a simple bug

This shows you can work with other people and it shows you can code.

Write a documentation change

Documentation is crucial to most large projects. It's also often done with less effort than the rest of the project.

Helping out with documentation shows me how you communicate and that you understand the system you're writing about.

Help on mailing lists

Subscribe to a projects mailing list. If you see a question come in that you can answer - answer it!

Variety is Key

Doing a variety of the tasks above shows that you are all-round amazing. Fixing lots and lots of simple bugs is great but I'd rather see one simple bug fix and one documentation change - it eliminates more unknowns if I can see a variety in what you do.

Start Small

Jumping in to rewriting something is a big task. You'll likely not finish it either if it is your first time. So, start on something small.

Get on with it!

Stop reading this and get out their and do something. Anything.


blog comments powered by Disqus

Colin Howe

I'm Colin. I like coding, ultimate frisbee and startups. I am VP of engineering at Conversocial