This seems like a win for everyone involved!
… except for the person who doesn’t have time to absorb the project style guide, learn the community, navigate any legal sign-offs, and send a patch because they are buying a house, raising a child, dealing with a sick family member, or because they just plain don’t like to program outside work.
I’ve never liked open-source driven hiring. It seems to lead to monocultures (look around and count how many people aren’t twenty something white guys) and a lack of focus on training and career development (they don’t have to pay if you do it for free, right?).
For the purpose of hiring, style-guides, learning the community and contributor agreements don’t matter. The recruiter can judge the quality of the effort irrespective of all that.
Making a patch is very easy these days, with tools and workflows like git.
Finally, if they are busy and can’t contribute to open-source, the candidates can simply say so. I am sure exceptions can be made by the recruiter.
I mean at that point you’ve set up a typical code challenge - I doubt most open source projects are going to use a patch that comes through without adhering to licensing/style/etc., so you’re just having candidates write throwaway code. Again.
It’s probably harder to judge as well, because you can’t rely on the external judge (the maintainer) to provide any valuable input.
Who’d you hire - the person whose git checkins show that they’re up at 2 AM poking at code, or the person that signals “I have better things to do than work on your shit 24/7”? Most companies will pick #1, and frankly that’s a rational approach. But that also means you end up with people who are young, healthy, and with few external commitments. A monoculture.
Most companies will pick #1, and frankly that’s a rational approach. But that also means you end up with people who are young, healthy, and with few external commitments. A monoculture.
So this raises the obvious question: are there other ways to gauge the skill of a candidate that avoid this problem without being ridiculously expensive or significantly less accurate?
None that I know of. That’s why it’s so damn ugly.
If someone could figure out how to effectively hire programmers I think they’d make a mint.
No, the patch may be later refined by anyone; including the maintainer or the recruiter or the candidate. About licensing, it just takes an online form or similar to assign a copyright.
Even if the code were to be thrown away, what’s there to lose? Isn’t it better than the prospect of deliberating writing throw-away code?
Who’d you hire - the person whose git checkins show that they’re up at 2 AM poking at code, or the person that signals “I have better things to do than work on your shit 24/7”?
How does the time of coding matter at all? A person may be in another time-zone. Or could be doing “better” things in the evening while coding in the night. Or may just prefer a time that allows them to be in the zone.
Moreover, decisions related to culture can be made independently of those about ability. In fact, most of the interview score sheets I have seen have been designed that way.
How does the time of coding matter at all?
You’re focusing on the “up at 2AM part”. The part I wanted to stress was that a company is more likely to hire someone who jumps through the hoops than someone that doesn’t.
I’m interested to see how companies handle issues of culture. Most seem to do it rather poorly.
The main point I’m trying to make here: open source developers are overwhelmingly twenty something white males with free time; if you use open source to hire, that’s the kind of person you’re likely to get.