Why Resumes and Code Screenings Are Obsolete with GitHire
githire.com
githire.com
If you think it does, I predict having code written in off hours is a requirement will result in github being flooded with just horrible code. It's hard to evaluate code in a quick glance. Let's keep it as a bonus type thing so the pressure won't be so high to produce just anything, to torture a text editor until it gives something that pleases the eye and sleights the mind.
Please, keep the industry from moving to make this sort of thing a requirement. I write crappy code in my spare time for fun not because I think it'll get me hired.
----
Not everyone can write code for 50 hours a week and then 10+ more at home, especially if they have outside interests, a family or are just plain tired of it.
Writing code in spare hours is neat, and I do it myself, but I think it needs to be seen as a bonus, not as a requirement.
Perhaps employers are wanting to hire burn-out proof people. I don't think there are enough programmers on the planet to meet employer's demands to hire the best. The implication of wanting 'the best' and asking for code in off hours is that if you don't write code in off hours, you are not the best and not worthy. It's thinly veiled and having been through a few interviews (sometimes I showed them code I had written in off hours, sometimes not) recently, my experiences are probably anecdotal but it makes me wonder.
Unfortunately, we live in the world where people eat people.
For those who have large number of repos and code written in GitHub, they would rejoice when they see this. Just like Haskell people would feel excited when they see the number of jobs for Haskell programmers out there cannot be met with the supply.
These people will push this idea forward because it is for their best interest (only a few who would keep the purity of the community).
At the end of the day, we're all human beings so we have greeds and egos. We want to have high salary or challenging work or the best work place/culture/free-food and we work to achieve that. Part of the work is to have GitHub repos apparently (used to be StackOverflow karma).
Some hackers dislike the notion of getting interesting jobs/deals because of your rolodex because that would suggest sales/marketing/licking butt mentality. They also dislike it because communication (with real people, not over the internet) is not their strongest suit.
For those who disagree with this wave/bubble, we should create our own. We should push our own ideology. We should figure out how not to be attracted with this wave/bubble.
... or we can stand up and be an entrepreneur (one option, not the only option) and say to hell with this job-seeker mob-mentality?
(Does having a large codebase freely available make evaluating a potential hire easier? No doubt. I'm not questioning that.)
I'm a programmer by trade but a hardware guy by birth and education. I don't do endless amounts of coding in my off-time, but instead build things. When it comes time for me to move on, if /everybody/ I talk to requires a large open-source codebase for me to even sit in the same room as them - I won't care. I'll find some like-minded folk and create my own job.
I'd be up for changing the world so people stop eating each other.
I've been an Open Source contributor for more than a decade. I would say 90% of my open source contributions have been work where I'm extending or improving an Open Source project's code to suit a paying client's needs.
If the industry demands that everyone write code, be it OSS, personal or just random junk code because they HAVE to, then github/bitbucket/launchpad/sourceforge/etc plus individual portfolios will see an inflation of sorts in code written, some of it good, most of it bad or mediocre. Let's just keep off-hours code as a bonus and not hold it against someone if it is not there. Keep fun-coding for fun! :D
Wouldn't you rather have people contribute to an OSS project because they want to, not because they feel compelled to?
Besides, there is absolutely no difference between "counting something as a bonus" and "not holding it against someone". Hiring is a zero-sum game, your advantage is necessarily the others' disadvantage.
The worst part about this is, if companies are allowed to do this they can ensure that some people must continue working for a living instead of becoming financially independent through their own talent.
That assumes they put code on github. And that they publish the code. And that you know anything about their code.
Then there are those of us who use bitbucket. There's lots of code which doesn't get published because it's not relevant and if it is, it might be a one off project that I'd rather not make public rather than make it look like it's abandoned. Finally, some code just makes no sense out of context - some of the code I'm most proud of were just binary patches to firmware of an old mobile phone with delphi gui for hooking it up to specified functions. Without context that's just an ugly delphi form that does a weird version of "patch" operating on a text file and example files. In context, it's a lot more. Not only I wouldn't expect anyone to understand what that project was doing and why it mattered, it would not get uploaded to github because it was outdated before github even existed.
So while the quoted sentence is still true, I think anyone using this service misses out on masses of experienced developers who simply didn't publish their code on GH, for various reasons. If you want to find a standard <recent language> developer doing lots of opensource work, it might be a good offer though.
The difference might not be clear to the people paying for this service.
It uses a nice visualization: http://getvouched.com/visualizations?id=maxdemarzi
Try putting a github username or use the drop down list on the page.
Ultimately you get this profile: http://getvouched.com/users/max/vouches
It uses pagerank + proximity, so if a developer who does have his stuff on github vouches for you, you get all that credit without having to use github.
To be fair, those are developers that most companies would be missing out on anyway.
Forking a bunch of repositories isn't going to earn you much there.
GitHub provides a great signal for evaluating whether someone is one of the top 100 or top 1000 developers in the world. Just check how many follows or forks they have! But Linus and DHH can work wherever they want, and they're probably unlikely to work in SF for $60--100k plus options in your SaaS startup.
Because of supply and demand, the people who are going to work long hours in that price range seem to be recent graduates. As a result, all of the hiring processes I've seen are geared toward trying to get a vaguely passable evaluation of how good a recent graduate is, using the minimum possible developer time. This leads to the coding interview as we know it: 30--45 minutes long and usually involving a trite programming problem utilizing the most advanced class most undergraduates will have taken, introduction to algorithms.
Personally, I would love if tech companies switched to evaluating based on work samples (e.g., code), but I don't think it makes sense given the demographics that they're targeting as new employees and the amount of time to have a developer genuinely evaluate a coding sample (rather than count followers, etc.).
Is it likely that GitHire and similar will increase the supply of good candidates in the right price range, rather than periodically e-mailing the top developers on GitHub and possibly polluting the ecosystem?
And the results are pretty bad.
Not only did I get awful results from other countries, the actual 2 results I got from my city are 2 devs ranked as being in the "top 20% of GitHub users by estimated expertise".
One of them has 2 forked projects with NO contributions and is contributing to a third that he just started. He also has no followers. The other is an intern at a local company, with a single project of a few lines of code and no other public activity to speak about. I also searched for them on Google and couldn't find anything else, other than a LinkedIn profile.
Now, I'm not saying that these 2 results are bad developers. But if these are classified as in the top "20%" of developers based on information available online, then the algorithm is doing a pretty shitty job.
To make things worse, I didn't see any personal acquaintance out of dozens that I know have meaningful GitHub accounts and are living in my city. Instead, I got somebody from Istanbul (different country, not even a neighbor) that submitted his configuration files to GitHub and is also in the "top 20% of GitHub users by estimated expertise".
Sure, I can see that you wrote a kick-ass routine to geocode addresses. What problem was it trying to solve? What benefits did it bring to the end user? Did it have an effect on any measured metrics? This is the kind of stuff people usually put in their resumes.
I'm not that interested in the code a developer writes. I want to know what effect they and their code has on the organisation. It's the same reason I dislike recruiters, because they sell candidates to me on "x years in y!"
A lot of developers I've worked with have problems getting to a stopping point. For hiring someone the 'perfect' code usually wins out, yet that person might not be the best fit.
I'd prioritise finding a developer that is "good enough" and fits well into a team over a razor-sharp developer that can't work to deadlines or participate in meetings.
More importantly, the context surrounding the code. I could read someone's code, and find it absolutely abhorrent for any number of reasons: aesthetics, functionality, efficiency, and so on. But if what's written is what the customer wanted, needed, or what was appropriate for the problem, the environment, the cost, or any other constraint that fits into "code context", then by all means it's justified, and I'm unfit to judge the person simply by what's on paper.
In fact, I think a lot of insight about the potential new-hire can be gleaned from their answer to: "Can you describe a situation where you decided that the best course of action was to write 'ugly' code? What do you consider 'ugly'? What was more important than having 'clean' code?"
And if Github becomes "the standard" for hosting software such that everyone looks for code and coders on Github instead of other places, that would be detrimental to the FOSS community as a whole - not only in Github's lack of competition with other code hosts, but also in git's lack of competition with other VCSes.
besides, only about 10%, if not less, of registered github users do actual coding. Most of the users just follow the updates or fork and add patches.
Is there a number published somewhere?
This also true of every hiring source and strategy you can name. For example, what about hiring friends of employees? You miss out on good people who aren't networked into your team.
A good employer will use a variety of strategies for finding prospective employees. This looks like one good way to get a list of five people that might--with further investigation--be worth interviewing.
I know these are estimates, but it highlights the flaw: it just looks at your repos and has no insight what's happening. Maybe it would work better if it could detect if your patches are actually being pulled by anone. (That means your code is desirable to at least 1 person).
Eliminating a code screening with this? Come on, don't make me laugh.
But, I learned Ruby in May 2008, because I got a job doing Rails development. (I just looked it up). So, 3 years, going on 4.
I like the whiteboard interviews because you can observe the end-to-end problem solving. You can see how people behave out of their element. You can see how they approach "an empty page". And you can ask questions that involve more algorithmic insight than "I wrote a Twitter scraper".
In the first few reloads, I've seen John Resig, David Heinemeier Hansson, and Yehuda Katz pop up. Maybe they're free to do a quick phone screen?
Here's hoping that there's a lot of secret sauce keeping companies from trying to date supermodels (most of whom are already in a relationship).
In practice, I presume they offer to try to screen for people who actually want to be hired, not just the ones with big scores on Githubbiness. I note that the very first thing they tell you to do on the "Job Seekers" page is to set your "hireable" flag on Github to true. (I didn't yet realize Github had such a thing, BTW. Thanks to GitHire for teaching me that, if nothing else.)
It seems that in it's current state this could work very well, if this becomes a popular recruiting tool, it won't be sustainable.
Software Developers around the world becomes this victim of a bubble. Be it the StackOverflow bubble (collecting rewards from answering questions) or the GitHub bubble or the blogging bubble.
I'm tired playing the alpha-geek Fire-and-Motion.
As best (if it works like magic even), this only gets you the cream of a small subset of engineers. But if this is the only source you would use to hire, you leave out a large pool of talent before you even begin.
Ha ha. (the language has been out for 3 years, became known maybe year after release)
How does this actually help me? I'm not going to take credit for entire projects, especially not when I'm working on them with friends.
Is there anywhere to submit bug reports? I looked around, but didn't see any email addresses anywhere.
I thought we were taking this as a given.
In addition, I know too many developers who I would hire in a heartbeat that do not have repos on Github and far too many developers that I never want to work with that do have repos.
I also find it curious that on http://githire.com/order, when I refresh the page and see people like 37Signals and Omni show up. Not sure they are looking for new gigs.
I think the service is good, but I have a couple points of feedback.
When calculating the profile of a user, rather than only looking into repositories under the user's name, you should also take into account the code under any organizations the user is apart of. Most of my coding is publicly committed under an organization repository.
A solution is either to look at all of a user's commits rather repositories or take into a user's organization repositories, too.
Other lesser pieces of feedback:
* The typography and a lot of the images look "fuzzy" to the eye and give off a cheap impression. I would definitely rework those until they give a quality impression.
* Add a "contact us" link in your header or footer or both. I shouldn't have to rely on HN to give you feedback.
Github commits might be good supplemental data to have, but if I am to do a fair apples to apples comparison between candidates who might be encumbered by moonlighting clauses, then I'll let the whiteboard coding do the talking.
if ( does_it_compile() ) {
years_experience++;
if ( !does_it_segfault() ) {
years_experience++;
}
}I'm not saying you can't find great developers via github, just that you're limiting yourself to an extremely small pond, even if it seems big.
The idea doesn't suck. The current implementation might suck a little. They have their work cut out for them in any case, if for no other reason than the barrier to entry for competition seems pretty low.
They've got two huge things going for them: - $500 is right around the noise floor for a hiring process - Money co-located with mouth. If the client isn't happy, they don't get paid.
It seems this system can be easily gamed by putting more commits into your github repos, even if it's not original code, original ideas or even runnable code.
Lots of room for improvement if you ask me.... http://githire.com/profiles/aantix
Why is my python professor Hireable: false?