Open (Source) Sesame


Contributing to open-source makes you a better programmer, so just do it. If you don’t know what to do, start a streak and hold yourself to it. Soon you’ll be in the flow.

“Can I tell you something? Your Github profile kind of sucks.”

A friend of mine said this to me. I write code often! I push to github at least 5 days a week! Was he wrong? No. I only work with private repos.

My public profile sucks.

It’s difficult to break into open-source programming. I think I’m starting to crack the shell now. After bluntly insulting me, Ryan recommended what he called “The Github Challenge.” The goal is to contribute to something open-source every day, extending the streak shown on your github profile.

I’m at 12 days now, and will hit 13 today.

I have always wanted to push some helpful open-source somethings, but never known exactly what. Looking for at least one commit per day has been a good start. In that last 12 days, I’ve:

Sure, some of those days I just updated a Readme to better explain it, or found some other BS commit to keep the streak going. But I’ve also seen a spike in productivity and touched a variety of new tech.

Writing and contributing to open-source projects will make you a better programmer. Working in the open forces you to raise the bar for your own code. Contributing to larger projects is a great way to raise coding and testing standards. You’ll also get some experience building in a team environment.

Get involved in the direction of projects, form your own opinions, learn some best practices, and get exposure to what all this open-sourcey goodness is all about!

Another thing: when I’m looking at new-hires, I always look at their github profiles. I realize now it may have been hypocritical of me… but hopefully not for long. A slim profile doesn’t look bad, but when hiring, more information always helps confidence in a candidate.

Going forward, I have some loose goals. I’d like to contribute in some different languages (ruby, python, golang, haskell). I want to build a ruby gem, a jekyll plugin, a jquery plugin, a bower component, a javascript library. I use these pieces everyday but know so little about the anatomy of them, and building that grunt plugin definitely taught me some grunt and npm background that I should have had a few months ago.

An easy way to get involved and some good reading if you’re looking for more:

Dive in now, code-monkeys!