At GitHub we hire "The Girl or Guy Who Wrote X"
ozmm.org
ozmm.org
If I wanted it to be popular, I would have to go through an entire different process - I'd have to pick something in an area that is already popular (like rails), I'd have to maintain a blog, I'd have to have a persona, I'd have to basically market the project.
Only then do I become the dude who wrote x. And my reward is to go work for a tiny company? Would it not make more sense to just use that energy and found my own company? Would I not learn a lot more in the process?
I use about 15 open source tools. In my world, there are perhaps 100 projects that are somewhat important, and could possibly be used. So your pool of candidates reduces to 100?
Inherent in this question seems to be the idea of posting a job somewhere, see who applies, then use a filter of "author of open source project we use."
My take was more that they look at the open source software they like and use, then go out and try to charm, bribe, seduce and otherwise persuade the authors into working for them.
I don't know how many employees GitHub has, but if it is in the < 10 range and they are only looking to add 1 employee at any given time, and are willing to stand pat if they don't find an ideal candidate, a total pool of 100 candidates might be enough.
And yes, your interpretation definitely seems to be more of what they're talking about.
You clearly don't have a reliable idea about how much open source software you use, and how many people are behind this code.
For instance you are probably using Firefox, some torrent client, Apache/Linux/Python/Ruby/PHP/MySQL and all the libs associated with this languages. Even if I stop now there are already a ton of guys involved. Even alone, the Ruby community, and just considering people "well known" inside the community, is a lot bigger than 100 individuals.
Even if you are using Windows or Mac OS X there is a lot of BSD code inside. You DSL modem is built on open source software. Your world is full of open source.
It's not that not participating in the open source community means that you're a bad programmer, it's just that it's easy to judge the quality of work from someone who publishes their work regularly. Easier than evaluating the typical corporate applicant (with "15 years of PERL") that can't show you his code because it's owned by someone else, anyway.
I use about 15 open source tools. In my world, there are perhaps 100 projects that are somewhat important, and could possibly be used. So your pool of candidates reduces to 100?
I use 100s of libraries for developing my applications, and I know most of the authors pretty well. Big projects, like emacs, firefox, etc. are not the entirety of the open source community.
(I think my "Why I Stick with Perl" talk is relevant: http://www.jrock.us/why-i-stick-with-perl.esl although I am not sure my slides without my commentary actually makes sense.)
If only my own blog were so effective ;)
I've found that hobby code I've worked on is much better quality than the stuff done to deadline during working hours. Its a good to be able to say 'see my code at myproject.blah.org' and give prospective employers a chance to see what you're capable of. I'm impressed that you've written a CD burner even if I've never used it.
Your comment on starting a new company versus joining an existing one is well noted. The shift is taking place already, many startups are popping up with a developer or three that hacked their way into something valuable. With hard work and iterative releases driven by customer/user info new products can become the baseline for a new business.
Thousands or potentially millions of micro businesses are the future job.
Right on Max, great stuff.
Many people out there still love to code after 5pm but don't have much time for it. Not sure how others feel about this though.
It gets really frustrating, because the interview will be so much harder.
Also to write free software that is recognized as useful, is a major hint of a possibly good programmer: it means that he is passionate, and is able to identify a problem an write and design a good solution. And there is a meritocratic salt in this soup, as open source can be considered, in some way, a way to show that you as a programmer are worth of consideration.
So I admire github for this hiring strategy.
Edit: is just my feeling or I'm feeling some open source hostility in this thread?
Shipping something demonstrates you're able to do all the required aspects and are not just an armchair philosopher.
Previous code is the best indicator of future code. The CV is the least usable.
Suppose you can buy one of two used cars. One is a nice Lexus and one is a nicer Ferrari. They both cost the same, but the Lexus has a detailed maintenance report and a clean Carfax. The Ferrari has no records (because it is under a mythical car NDA).
It would be perfectly logical to buy the Lexus, even though the Ferrari on average would a better car for the same money, as long as we assume non risk neutral actors. Information risk goes up, value goes down. Arguably, it's a great reason to contribute to open source, if you're a programmer, to reduce the information asymmetry in future hiring processes and thereby increase your perceived value.
Edit: I just reread. He sort of contradicts what he said in the keynote he links to.
Ahh here it is: http://en.wikipedia.org/wiki/Linus_Torvalds
"Red Hat and VA Linux, both leading developers of Linux-based software, presented Torvalds with stock options in gratitude for his creation.[13] In 1999, both companies went public and Torvalds' net worth shot up to roughly $20 million.[14][15]"
He could probably have taken his pick of any tech company anywhere in the world.
But when authors of proprietary, closed-source font-end to someone else's outsourced work (git) ask that question it sounds rather cynical: if you've made the decision of keeping your "X" to yourself, why shouldn't I?
People like me need to find the future superstars - the Lebron Jameses before they become "The King". It's easy to acquire realized talent, just throw money and equity at them. But it's much harder, and perhaps more rewarding, to discover the budding talents that flourish in the right environment. And I mean rewarding mostly in the sense of rewarding your bottom line, and sometimes in the sense of personal fulfillment.
A few suggestions:
Change "we all" to "many people".
Change "or admire" to "to make money" or "to get their jobs done".
Suddenly you've opened this up to a much larger population of programmers who have done great work. Who says that the valuable work you've done has to be open source?
If you say, "I've written the software that thousands of people use to process millions of orders," there are plenty of people who will want to hear more. Then you can tell them.
I assumed that "we all" referred to people working at GitHub.
I understand that there are a lot of programmers who have written excellent proprietary code. But it would make sense that GitHub would favor open source programmers, as open source programmers constitute the lion's share of their users.
I doubt the OP is in the position of not having a large enough pool of people to hire to his satisfaction using his criteria.
This does not mean that there are no closed-source people that would be good to hire; but when you hire open-source developers whose work you know then you can do so with a higher degree of confidence, so if that works, why look elsewhere?