I'm going to chime in here with all the various for/against comments going on and at least TRY to make some sense out of all this - or at the very least, show others how some of us "haters" see it, and explain to other "haters" how it's just the way it is - period.

Using GitHub or other OSS contributions/commits as your actual resume, or the litmus test for, "can I have the job, boss?" has been something I think we've all seen coming down the pipe for a few years now - I know I saw it way back when. Personally, I live in the midwest, not the SF bay area, so "trends" like this are a bit slower to catch on out here, but the last several job interviews I've been at, somebody has always asked me: "Do you have a GitHub account?"

This situation has people on both sides of the argument - for and against. And I'm going on record right now as saying, absolutely, 100%, without question, BOTH sides are right.

The truth is, from an employer's perspective, this just makes sense: prove that you can do the job. A resume doesn't do that - it proves that you can hand a piece of paper, sometimes even written by some one else, and BS your way through an interview.

On the other hand, employers frequently trot out teams of developers - some as many as 15 (that I've seen personally) to pepper a candidate with lots of hard questions during an interview. Inevitably, there's always that one nerd in there with serious penis envy who tries to re-assert his "dominance" by trying to "outsmart" the job candidate to make him or her look bad by throwing some super hard core question that makes said nerd look like a badass at the poor guy doing his best, and then trying to make the interviewee look like an ass when s/he can't answer it. The truth is, these guys have time - days - to prepare these interview style "litmus tests" for candidates, but when interviewing for the job, you go in blind not knowing what to expect and have to come up with everything from memory. /rant

This makes for a craptastic experience for the candidate, and a very time consuming and costly experience for the employer. Looking at a collection of code related to the job in question is a much faster way for them to get a handle on where the candidate is at, without the need for such involved processes in many cases, saving time and money for them and the candidate, and saving the candidate some serious anxiety.

However, there's another side to this coin. From the perspective of those of us who would rather NOT go home and spend all night 4+ days per week writing MORE code, this puts us in a bad spot.

The way I see it, you have two kinds of developers (basically): those who are SUPER into what they're doing - which is great (really! no sarcasm intended) - and those who enjoy what they do, but recognize that it's work. Good, old-fashioned, hard work. W-O-R-K. Blowing up some asshole in Halo Reach or having sex with your girlfriends (yes, plural) is a hell of a lot more fun than researching "most efficient sorting algorithm". So when we're not at W-O-R-K, earning a living, we need SOME way to kick back and release, or we'll absolutely explode. That's called "common sense".

This presents a problem: those who, for whatever reason, be it inability to get a date, or absolute true "nerdvana" enjoyment of writing code, end up doing ADDITIONAL development work, strictly for work's sake, now have a somewhat (emphasis on somewhat) unfair advantage over those of us who can do the same job, and are willing to work just as hard (for pay - after all, I can't pay rent with hugs and good will), but have other obligations (kids, for example, is a big one) and just plain can't put in another 20+ hours per week required to COMPETE - yes, I said the C word - with others who can.

Some arguments I've seen or heard that I'll comment on:

"But it's not THAT hard!"
Nothing easy is really truly WORTH doing. I can write some seriously easy code in under 5 minutes that'll look bad ass from a quantity point of view - until you actually examine it close up and see that it's just bullshit. The stuff that REALLY makes you shine is finding new, interesting, and USEFUL ways to solve hard problems. Nothing else is really as worthwhile. And there's a point that you get to, after doing it for 50+ hours per week, that you just say, "enough!" and have to decompress. Other people see it differently - they still enjoy it and do it in their free time. I truly wish those people well and want to encourage them to keep doing it!

"Well, if you aren't the kind who'll do the OSS commits, you aren't a culture fit anyway."
This is 100% Grade-A bullshit. Just because a person doesn't want to spend their free time - that they'll never get paid for - creating additional software, outside the scope of their workplace, essentially doing MORE work simply for work's sake, does NOT mean s/he is a bad culture fit. _It means they have self respect._ If you're going for the super hard core, hipster silicon valley, "my shit doesn't stink" start-up environment, that may be true. But in a nice place I like to call "the real world", those companies cutting the checks GET IT - at the end of the day, you gotta get paid for your work. Even though they understand this, they'll sure as shit take advantage of other people who have no problem with playing the role of "happy little nerd behind the desk that we don't let talk to anyone and just codes all the time". They're perfectly happy to use this kind of job competition to squeeze more out of some one beyond what they're paying them for, and don't give a damn when that poor person eventually has a breakdown because they've been working 80+ hours per week for several months, maybe even years.

My bottom line on this is pretty simple: like it or not, this trend isn't going anywhere because it has advantages for parties who are interested. Unfortunately, I really think that it's going to create an even more hyper-competitive environment for people looking for jobs. We'll get to a point where we'll have maybe 20-35% of applicants who are truly really HARD CORE into what they're doing and truly, with every fiber of their being, enjoy writing code on their own time, but then we'll find a larger segment of people who do it somewhat begrudgingly, seeing it for what it is - work for work's sake. This is going to breed a very strong sense of competition in the engineering and development job market that allows companies to treat developers - especially younger ones, recent college grads, etc. - as what they'll be painting themselves as: subservient nerds who work for peanuts just for the CHANCE to have a job, even being paid in stock options that are totally worthless at Startup #1119128418911818119.2.

There's no way in hell I'm going to work 40+ hours per week doing something that, sure, I enjoy, but get bitched at by some asshole in his Armani suit that "it isn't gettin' done fast enough!", then go home and write more code just for the CHANCE to do it all over again. Fuck that.

And those who will do that? Many will end up submitting crappy OSS contributions that do nothing to move the industry forward, because they're only doing it for the sake of being able to compete in a job market - NOT because they truly love what they're doing. And that's really the major thing that irks me about this trend.

But again, it's happening and there's nothing that can be done to change it. That's why personally, I'm looking at changing job functions. Systems administration, or project management maybe. I'd much rather be the asshole in the Armani suit DOING the chew out, making bonuses of over $500k/year that keep going up, with a relatively easy job (especially compared to modern development), than the poor guy he's chewing out, despite that person doing a seriously awesome job under very difficult circumstances, for very low/poor pay that keeps decreasing due to increasing job market competition, who works twice as much and twice as hard, and STILL has to put up with assholes like "Mr. Suit".

Fuck that shit.