In recent years some firms have hit on the idea of hiring programmers based on the work a developer has shared through the online code repository GitHub.
This very advice was given to ex-Wired editor Chris Anderson, who recently tweeted:
Advice received on hiring software devs: reject anyone who doesn't have a @GitHub profile (the more active the better). Agree?
— Chris Anderson (@chr1sa) October 30, 2013
Developers use GitHub to share code they have written and to work together on software projects. GitHub hosts some 9.5 million code repositories — more than any other site on the planet — and is also one of the world's largest repositories for open source software projects.
In passing, the advice Anderson was given might seem sensible. Anyone can set up a GitHub account and share code they have written for their own or third-party projects. This openness should mean everyone has an equal opportunity to build a public portfolio of work that allows them to shine.
However Anderson's question has been answered with a resounding 'No' in certain quarters. Elevating the importance of the coding a person does outside of their day job puts a tranche of potential candidates at a disadvantage, argue some developers. The approach means programmers who don't have the time to contribute code to a public project in their own time — and there are plenty of valid personal and professional reasons why that might be the case — are rendered less appealing, or in extreme cases invisible, to recruiters, they say.
Ruby developer Ashe Dryden wrote a blog post highlighting the issues she has with the "belief in meritocracy that is particularly pervasive in open source communities, especially around participation in GitHub".
"We prize the idea of meritocracy and weigh merit on contribution to OSS [open source software]. Those who contribute the most, goes the general belief, have the most merit and are deemed the most deserving. Those who contribute less or who don't at all contribute to OSS are judged to be without merit, regardless of the fact that they have less access to opportunity, time, and money to allow them to freely contribute," she wrote.
According to figures sourced by Dryden, women are far less likely than men to contribute to free/libre/open source software F/LOSS projects, as while just over one quarter of contributors to proprietary software projects are women, only about 1.5 percent of contributors to F/LOSS are female.
Drawing on various studies, Dryden raises possible reasons why women may not have the time to contribute to these projects, citing findings that 59 to 75 percent of caregivers are female, and that women already spend more than twice as much time per day doing unpaid labour, such as domestic work, than men.
"The idea of a meritocracy presumes that everyone starts off and continues through with the same level of access to opportunity, time, and money, which is unfortunately not the case. It's a romanticized ideal — a belief in which at best ignores and at worst outright dismisses the experiences of everyone outside the group with the most access to these things. A certain demographic of people have three or four steps above other people, so the playing field is not even," wrote Dryden.
In the eyes of Dryden and others, placing undue emphasis on a developer's GitHub contributions broadly links a developer's worth to their willingness and ability to engage in unpaid labour outside of working hours, as developers may often be unable to share their paid work online for reasons relating to security or protecting intellectual property.
But the "unpaid labour" demanded of those contributing code to GitHub may be a continuation of the sort of work people have engaged in for years in the pursuit of learning or advancing their careers, said Rian Schmidt, head of technology for Zappos Labs, an offshoot of the online retailer Zappos.
"This is an interesting point. A potential employee typically spends hours and hours attending college or bootcamp, perfecting their resume, or assembling a portfolio. I suppose that's all a form of unpaid labour, too," he said.
"I would hope that work created for that purpose on GitHub also provided the candidate an opportunity to learn something and hone their coding skills a bit, but I certainly wouldn't say that it's required. It's not something on which we filter candidates."
Outside of the possibility that favouring GitHub when recruiting programmers could lead to a more homogenous workforce, questions have also been raised about the efficacy of such an approach.
"There is really astonishingly little value in looking at someone's GitHub projects out of context," wrote wrote web developer James Coglan on his blog.
"For a start, GitHub has no way of customising your profile page, and what is shown by default is the projects with the most stars, and the projects you've recently pushed to. That is, GitHub picks your most popular repos and puts those at the top. You have no say about what you consider important, or worthwhile, or interesting, or well-engineered, or valuable. You just get what other people think is useful. Aside from which, GitHub displays a lot of useless stats about how many followers you have, and some completely psychologically manipulative stats about how often you commit and how many days it is since you had a day off.
"So really, your GitHub profile displays two things: how 'influential' you are, and how easily you can be coerced into constantly working. It's honestly about as relevant to a decent hiring decision as your Klout score."
He argues that GitHub is not a portfolio of a developer's best work, but rather a collection of all the public work a developer has ever done, unordered, unfiltered and written with a variety of uses in mind, and therefore not a good indicator of what a developer is capable of.
"When you use GitHub for hiring you're taking a tool that people use as a collaboration space and backup service, and using it for an unintended purpose: judging whether people are any good or not."
Hard to reconcile
In 2011 he tweeted:
When it comes to hiring, I'll take a Github commit log over a resume any day.
— John Resig (@jeresig) February 5, 2011
But while at face value that Tweet might suggest Resig advocates GitHub-led hiring, he told ZDNet he shares many of the concerns that have been raised.
"Somehow people have taken this to the point of 'we will only look at GitHub profiles to the exclusion of everything else' and that's definitely wrong, there's no reason to do that and I think that's what these blog posts are largely railing against, that sort of exclusionary tactic," he said.
"I agree that the type of people who can largely can write open source in this way on GitHub is generally white males in their early twenties or thirties.
"One of the things that was pointed out was this concern over getting people to work for free. That's a fair point and it's definitely hard for me to reconcile that because a large part of my work has been free, a lot of my work has been open source, as I'm obviously in a place of privilege to be able to do that."
GitHub should be viewed as one of many sources of information about a developer's work and interests that can be taken into account, he said.
"The thing that I was trying to communicate in my original tweet is more it serves as a good jumping-off point for further discussion about the candidate's code, code quality and what their interests are with regard to programming.
"When you're applying for a job you typically want to provide as much information as possible to allow the employer to make a good decision. Github is just more information to throw onto the pile. Not providing a Github or open source code isn't a bad thing, per se, it's just less information.
"Of course, you can provide that information in totally different ways, we've had people provide descriptions of projects they have worked on or they want to work on, or who have drafted statements like 'If I came to work for you I would love to work on this sort of thing and I would do it this way'."
Zappos Labs' Schmidt also sees the work a developer chooses to share through GitHub as being a possible topic for discussion in the interview, rather than the last word on the candidate's quality.
"It can serve as the starting point of a conversation about their knowledge and style. My final yardstick for capabilities is that in-depth conversation — not a particular code sample or some whiteboard quiz on coding trivia," he said.
For Resig, what GitHub, or any other publicly available work by a developer, offers is a chance to see the type of project that gets that person excited.
"I get to see the sort of project they're interested in working on. There are ways to indicate that verbally, it doesn't have to be in a block of code, but it's a pretty good indicator that somebody is so passionate, about a subject like education for example, that they're going out of their way to try and make this happen independent of their job," he said.
GitHub declined to be interviewed for this article.