top | item 16548701

Why GitHub Won't Help with Hiring

105 points| benfrederickson | 8 years ago |benfrederickson.com | reply

103 comments

order
[+] ryanf323|8 years ago|reply
I look at GitHub profiles to help filter / disqualify candidates. Just last weekend, I had a marketing candidate who had stolen three Wordpress projects from their current employer and post them as public repos on their personal GitHub account. In addition to the flagrant intellectual property theft, the repos contained the wp-config.php file with exposed database “root” credentials to live, client sites.
[+] minimaxir|8 years ago|reply
> flagrant intellectual property theft

Granted, this seems like a case that's less malice and more adequately explained by stupidity.

[+] sjellis|8 years ago|reply
I use GitHub accounts to provide context, after triaging CVs. The first sentence of the article mentions data aggregation, which is very far from how I use GitHub when evaluating technical candidates.

If you have already somebody's resume, GitHub provide clues and maybe a bit of evidence for your assessment of the candidate. Older, busy working software developer? Expect not many projects, possibly an intermittent commit history. Most GitHub projects are just unfinished exercises, so a workng project is unusual, and a clue that the candidate is also unusual. It's not scientific, but it's evidence that you can use, alongside the resume, and any communication with the candidate.

[+] MiddleEndian|8 years ago|reply
I know it's not really your responsibility but did you inform those sites and/or the candidate?
[+] cstrat|8 years ago|reply
Wow talk about a scummy thing to do to their employer. I am sure it will work for them before too... because not everyone would do their DD like you have.
[+] captain_perl|8 years ago|reply
FYI: WordPress.com requires plugins to be GPL for their public marketplace, so there may be nothing "flagrant" going on at all.
[+] letientai299|8 years ago|reply
Perhaps I misunderstood. But isn't Github help you filter out such candidates, is it? They have some big projects, but their contribution calandar should be almost empty, cuz all the code is pushed into Github at once.
[+] fecak|8 years ago|reply
GitHub profiles are incredibly useful for college grads, bootcampers, and self-taught devs that typically can't speak of professional accomplishments.

As your professional accomplishments increase, the value of GitHub profiles (for most) as a marketing tool diminishes dramatically, but can still be helpful.

For developers at any level, repos are a good conversation piece for interviews. The interviewer can ask why choices were made, what the candidate might do differently now (shows growth), and start interesting technical debates.

I always ask my clients (I'm a resume writer and career consultant) if they have a GitHub profile if I don't see one listed, but I don't always include it on the resume. New entrants to the industry are not exactly punished for not having one, but it's becoming an expectation. This is different than expecting an older adult that may have life responsibilities that prevent (or simply no interest in) coding outside work.

[+] bphogan|8 years ago|reply
They are also great in demonstrating knowledge in a new field. For example, if you do C# at your day job but you want to move into Go. Showcasing side projects can demonstrate some experience. This helps sidestep the "well, I don't have Go experience" issue.
[+] closeparen|8 years ago|reply
Software engineering is highly contextual. As a professional, I write tested, documented code within mature and responsible architectures that harmonize with current and anticipated future business needs, my company's infrastructure, adjacent and legacy systems, pragmatic balance of technical excellence vs. deadline pressure, etc.

In a genuine passion project, I'm having fun. If you're checking whether I've dotted the Is and crossed the Ts in terms of testing, documentation, edge cases, etc. you'll find that I haven't, because the whole point of programming outside of work is release from the tedium of professionalism and an opportunity to go straight for the novelty and joy of making things work at all.

For projects specifically intended as portfolio pieces, I'm not sure how I could design software appropriately (or evaluate candidates' designs) in the contextual vacuum of "needing something to put on Github."

[+] mdip|8 years ago|reply
> As your professional accomplishments increase, the value of GitHub profiles (for most) as a marketing tool diminishes dramatically, but can still be helpful.

While I agree that they're less important, especially if there are commercial products/accomplishments that the candidate can point to, I wouldn't say that they diminish dramatically.

For a candidate that has years of industry experience, a look at a GitHub profile can serve as a solid metric for their growth as a developer. I want to not only know that a developer "has been doing something for a while" but that they're honing that craft. For me, personally, I want to look back on anything that's 6-months old and be able to point out everything that I'd do differently[0].

It can also serve much the same purpose that it does for grads/bootcampers. It gives you an opportunity to show off your knowledge in areas that may not be covered by your professional work -- maybe you're doing mostly back-end/systems and want to demonstrate knowledge in React/TypeScript/Angular/front-end. I knew a guy who's repo is filled with rust projects. Professionally, he was a (very capable) Java developer[1]. His rust-filled repo landed him an interview for a job doing mostly systems work in C/C++ with a hope toward moving things over to rust where it made sense ... and no Java work[1].

> I don't always include it on the resume.

I don't include mine, either. The best advice I received on resume writing was "It's to get you an interview, not a job", so I treat it as marketing copy. My github repos (I have a few github accounts) contain a lot of code that I shared because a few others wanted it and Github was the most convenient way to do it -- but that code was hastily written and was never meant to demonstrate my abilities. Some of it -- were it encountered by someone who doesn't understand that caveat -- would make me look bad. If I get a pre-interview (phone interview), I already have an e-mail ready with links to all of that waiting for a "To" field which includes boilerplate that I've also already casually joked about "I'm happy to send all of these to you to reduce time spent googling, as long as you promise you won't judge the thing I wrote in an hour at 2:00 AM on a Saturday night as a prime example of my coding ability and will at least give me an opportunity to apologize for some of the evil I've unleashed on the world."

[0] I always joke that I don't feel like I'm growing as a developer if code that I wrote 6-months ago doesn't mildly embarrass me.

[1] I learned, by accident, that he hated Java (I asked him if he was interested in putting his resume in for a Java position where I currently work) -- it was his first serious language and he'd since explored Clojure and many others but because he was known as "The Java Guy" where he was at, he wasn't able to get out of that line of work over there.

[+] onebot|8 years ago|reply
What should be the Dribbble equivalent for software engineers then? All I hear these days is, whiteboards for hiring is bad, asking to do a sample project for hiring is bad, now GitHub is bad. I don't know when software engineers became such "I don't want to show my work" industry.

Having a portfolio to show what your capable of is a great way to set yourself apart. I don't think anyone is expecting you to have developed Linux from scratch. But something is better than nothing. Which do you think is more likely to get an interview, someone with several source GitHub projects or someone that says "all my work was closed sourced" and has nothing to show.

Having founded three startups now (2x acquired), most of the best engineers I have ever worked with have a noticeably more active Github/Bitbucket/Gitlab portfolio than the average. In my experience, great engineers have public proof (open source, a self produced product, book, etc) of their craft vs nothing at all.

Now to be clear, just because someone has an active Github, or a book, or whatever doesn't mean you should hire on the spot. But should be someone you'd prioritize over someone that is seemingly too lazy to do any related extra circular activity.

[+] scarface74|8 years ago|reply
I do plenty of extra curricular activity.They don't involve coding.

I’ve also hired developers. I have a simplified version of a real world project that we are working on. The methods are skeletons with no code and a bunch of failing unit tests. Part 1 they have to get the unit test passing. Then I give them a harder set of requirements with unit tests. They have to make the second set pass without breaking the first set.

It tells you a lot about how someone thinks.

[+] whatyoucantsay|8 years ago|reply
Reid Hoffman has a great answer for this in his book. References are the most important thing there is.

Given the choice between not being able to interview and not being able to get references, you'd do better hiring sight unseen based off of strong recommendations from a source you trust than from conducting thorough interviews without references.

[+] arvinsim|8 years ago|reply
> that is seemingly too lazy to do any related extra circular activity.

So people with life responsibilities are too "lazy" just because they don't code outside work?

[+] closeparen|8 years ago|reply
>I don't know when software engineers became such "I don't want to show my work" industry.

Expecting potential hires to labor over portfolios and prepare extensively for auditions is a luxury enjoyed by the few most badly oversupplied artistic fields.

[+] bassman9000|8 years ago|reply
seemingly too lazy

Some people aren't in the mood for extra curricular activity after working +14h a day. They rather unwind, and be productive the day after in their not-pushing-to-github jobs.

[+] lucasgonze|8 years ago|reply
I am just tabbing over from looking at a github profile of a potential hire. It was somewhat useful as a way of understanding this person's technology style.

I saw PHP, game dev, JSON. I saw that he does do OSS stuff, though not much. I saw that he can write a decent readme.

That's the kind of thing a hiring manager gets from a github profile. It's not a one-dimensional test like how many checkins does the dev have.

[+] kelnos|8 years ago|reply
> I saw that he does do OSS stuff, though not much.

GitHub will not even remotely tell you that, though. There are tons of open source projects that are not hosted on GitHub. If you, say, contribute to the Linux kernel, or to Firefox, or perhaps Xfce, nothing will show up on your GitHub profile to give you "credit" for that.

I agree with another poster that GH can be useful to disqualify candidates (say if they've posted something they've plagiarized as their own), and you might find interesting things on a candidate's profile that increases your impression of them, but it's absolutely useless for comparing candidates or getting a full picture of what they've worked on in public.

[+] stevemk14ebr|8 years ago|reply
I wouldn't have been hired for the jobs i've had if it wasn't for my Github. I don't think false-negatives should lead you to disregard the ability to find that perfect developer. Is it not your responsibility as a developer to keep an accurate portfolio of your skill set?
[+] kazinator|8 years ago|reply
The article's problem is that its arguments apply to trying to use GH as a search tool for candidates.

For instance, the fact that some accounts are fakes for a TV show, or that some projects are jokes and listicles, has nothing to do with the particular GH project of a candidate that you're interviewing, having found that candidate in ways having nothing to do with GH.

Sure; GH being full of crap makes it impossible to use for searching for developers. (Not to mention that, oh, people don't use real names, and you don't know whether they live across the street or across the ocean).

The main valid point is that a great developer might have an inactive GH account.

"If you're looking for a thief, it isn't useful to look into pockets. Many pockets contain nothing, or lint. And those that contain something are almost always legitimate: stuff that the pocket owner owns. Some pockets are fake; just ornamental openings that are sewn shut, with no actual pockets behind them. The best thief I ever nabbed had nothing in his pockets; everything was in a big duffle bag in the trunk of his car."

[+] el_benhameen|8 years ago|reply
A software designer at my company can add our software to his or her portfolio because the design itself is publicly-accessible. I can’t add our software to my portfolio, though, because while the final product is available to the public, the code itself is not. So I can point to the software without actually showing my work, or work many extra hours to have a portfolio of code. Which I guess is life, but I think it’s fair to point out that maintaining a code portfolio is far more time consuming than a design portfolio, for instance.
[+] toomuchtodo|8 years ago|reply
> Is it not your responsibility as a developer to keep an accurate portfolio of your skill set?

It is not. If an employer can't ascertain your skill level through the interview process, their hiring is broken. It is a slippery slope where we allow employers to dictate uncompensated signaling necessary for a role.

Observe how it worked out for everyone who got a degree because employers won't hire without one, and then they don't get hired regardless of that degree. So we'll all toil on public Github projects in hopes that'll be what convinces an employer to hire? Will we all need to intern for several months for free next?

@always_good: Hiring is hard. If you succeed in hiring the right people, it won't be because they jumped through your hoops, but because they were passionate, had some of the skills and could grow fast, and a huge helping of luck.

[+] FLUX-YOU|8 years ago|reply
>Is it not your responsibility as a developer to keep an accurate portfolio of your skill set?

That's what a resume is for. It explains the what and how I performed my last jobs. GitHub is possibly how I did my own hobby projects which have different requirements.

We're not artists who can easily keep a copy of the code we produce. That's a problem with asking for more effort on my own (unpaid) time.

[+] tytytytytytytyt|8 years ago|reply
> Is it not your responsibility as a developer to keep an accurate portfolio of your skill set?

Lots or most devs don't need to.

[+] hnarayanan|8 years ago|reply
While much of this article hits upon the right points, I’d like to add a few things.

- GitHub also allows you to display your activity on private projects (as long as their development also happens on GitHub, of course). - It’s not a great indicator, but it’s an indicator of what kind of programming people do for fun (or alternatively, that their employment/life circumstances don’t allow them to be active on GitHub).

I don’t think not having anything on there is a bad thing, but I’d like to talk to the candidate about why. Sometimes you’ll learn that people have the most fun non-programming hobbies or the most responsibly-filled lives.

[+] minimaxir|8 years ago|reply
The argument that "GitHub isn't a useful indicator of skill" has the logically-following argument "we won't look at GitHubs at all because they're a waste of time." Which is a loss of helpful information for hiring a candidate, and ignoring relevant information seems inefficient.
[+] crabasa|8 years ago|reply
Most people realize that "Github isn't your resume" unless you are paid to work on open source. Forking repos, submitting the occasional pull request or a random side project don't provide much signal compared the code you've written and the people you've worked with at past companies.

I am currently working on building a tool [1] that helps developers build profiles that articulate very clearly both what they bring to a team and what they are looking for in a next job. We're approaching this as a data problem, but unlike many dark recruiting tools, we think it's important for the developer to be completely in control of the information that makes it into their profile.

[1]: https://www.fizbuz.com

[+] craftyguy|8 years ago|reply
You need to provide a privacy policy for this service.
[+] callmeed|8 years ago|reply
I find this stuff fascinating, partly because I work in the industry and partly because I love sports statistics.

One crazy idea I have it to experiment with some kind of "Sabermetrics for software engineers"–think "WAR for developers" [0]. Using GitHub would be an obvious data-source (how to use it and if its a good idea is an entirely different discussion).

While I think this article makes some good points, he seems to only touch the most simple approaches. There's a lot of things you can do with a GitHub profile. To me, they'd never be deciding factors, but you can definitely extract some pluses out of a person's profile.

[0] https://www.fangraphs.com/library/misc/war/

[+] austincheney|8 years ago|reply
According to the article I am clearly in the identified top 1% of GitHub users by commit quantity. While prospective employers may not dissect the code in my various GitHub repositories this certainly hasn't hurt when looking for jobs.

In fact, contributing to public open source has been the proven tipping point that shifts hiring decisions in my favor if the hiring manager is on the fence. In all other cases the combination of a frequent open source contributions and a strong interview have allowed me to nail senior positions as the top candidate.

Whether or not any of this makes me a rockstar is completely subjective, but beating out all other candidates (several dozen) hands down on multiple occasions really increases my self-esteem.

[+] unknown|8 years ago|reply

[deleted]

[+] callmeed|8 years ago|reply
Did you get hired yet? (If not, I will email you)
[+] knieveltech|8 years ago|reply
Nonsense. The last two full time jobs and several gigs I've landed in the last five years I provided the hiring manager with a link to my public profile on github in lieu of a resume.
[+] Choco31415|8 years ago|reply
The author addresses that point in the introduction:

“As an example in the latest Hacker News' Who is Hiring thread, there are a bunch of different job ads asking for a Github profile as part of the job application.

...

While both of those posts give excellent reasons to reconsider asking for open source contributions when hiring, my take here isn't about why it is ethically dubious to require open source contributions or why GitHub isn't great for showcasing your projects.

Instead, this post is about why GitHub profiles just aren't all that useful when looking to hire developers.“

[+] scarface74|8 years ago|reply
And my anecdote is that I provided a resume for the last 7 jobs I've had. I've never had a problem getting hired based solely on my resume and an interview.
[+] madrox|8 years ago|reply
What I think a lot of the comments are missing is that, sure, a strong GitHub profile can be a positive signal for hiring, but an inactive GitHub profile is not a negative signal.

So no one should be "filtering out" inactive or boring profiles.

The exception I'll claim is for junior engineers. At that stage in someone's career, having a portfolio matters, and should be actively cultivating some kind of public code presence.

[+] yogthos|8 years ago|reply
I very much check GitHub profiles when hiring. Even if a person has a simple project on there it shows they have interest in coding, and I can see their style of coding. That's enough to swing my judgement when I'm deciding between two candidates that are close. GitHub alone won't get you the job, but it certainly will play a positive role in your profile.
[+] cpt1138|8 years ago|reply
If we are being interviewed like carpenters, a carpenter's work may be a lot of effort to create and then none and it still remains created. Why is the age or spontaneity of the commits a factor? Yes I am working in a professional capacity and can't show any of that. Why not look at the table I created 2 years ago?
[+] miguelmota|8 years ago|reply
> "Interviewers Don't Check GitHub Profiles"

This generalized statement is false; some do, some don't.

Been at multiple startups and the best candidates hired have great open source projects on github that indicates they're qualified for the role more than someone with nothing to show.

[+] wjwoodson|8 years ago|reply
The only question I can answer with GitHub is "can you use git." If I'm reviewing a candidate who says they are familiar with git based workflow and they provide a link to their GitHub with > 0 commits, check. If not, consider exploring in an interview.
[+] brooklyn_ashey|8 years ago|reply
So of the 7.4% of users who pushed more than 10 times in the last year, how many are bootcamp students? (after you remove the big,open source projects like all the big companies have up there) I just think these students should know this.
[+] galkk|8 years ago|reply
I think that "having github will help you" is the same kind of advice as "prefer to provide resume in pdf over doc".

There are people who believe in it, it seems reasonable, but in reality nobody cares. Just another cargo cult.

[+] tmaly|8 years ago|reply
When I am hiring, I tend to use a github account with an active project as a positive signal.

It shows me they can code, perhaps in the languages I am hiring for. It also shows me they know how to use version control.