Open Source and Hiring

CodeDoor

rhc2104
2 min readNov 5, 2013

One night, I was reading the “Who’s Hiring Freelance” thread on Hacker News, when I decided that there had to be a more efficient way to match programmers with freelance jobs. While we have sites like oDesk and eLance, they seem to be have more of an emphasis on price than quality.

Sites like TopTal and ooomf provide high quality programmers by screening candidates. While I’m sure they have excellent programmers for hire, as a freelancer, you are completely at their whim whether you can join their site.

My idea was to limit the vetting to whether you have contributed to open source. Technical clients can then decide for themselves whether a freelancer can fit their needs, based on their portfolio of code. I decided to set the minimum threshold as having at least one commit in a GitHub repository with at least 25 stars. This means that clients can usually see code written by a freelancer that many people have used. The portfolio of code cannot be easily gamed. Even if someone were to fix a typo in a repo in order to join the site, potential clients would see that he or she didn’t commit a lot, and would be less likely to hire the freelancer.

Prior to starting CodeDoor (https://www.codedoor.com), I worked at Samasource, an organization that gives digital work opportunities to the poor in developing countries. When I interviewed there, they were very impressed that I was a “minor contributor to Khan Academy.” Yes, I actually used the word “minor” in my resume. Here are my commits: https://github.com/Khan/khan-exercises/commits?author=rhc2104. Only the first commit occurred before I applied to Samasource. Even though I merely fixed a bunch of grammar mistakes in their math exercises, they liked my initiative in doing so. I’m sure they would have liked it even more if my contribution was more substantial.

Some programmers dislike the fact that many software companies give algorithm exercises as interviews, and don’t really take the candidates’ real-world open source code into account. I think this is because most people’s open source portfolios do not contain popular repositories. When evaluating people’s source code, the goal is to determine whether their code is clean, and whether the code produces its intended behavior. The former is straightforward, but the latter is deceptively difficult. It is difficult because the corresponding spec is not attached, and the reader of the code usually does not have domain knowledge related to the open source code.

It goes without saying that starting a popular open source project is difficult, and can get you a job almost anywhere. But it is far easier to contribute to a popular repository. When contributing to a popular repository, the repo owner must approve your diff, and he or she is presumably talented and has domain knowledge related to the code.

I hope CodeDoor can make hiring programmers more of a meritocracy, as well as encourage more people to contribute to open source. Of course, the site itself is open source: https://www.github.com/CodeDoor/codedoor

-Ronnie

--

--