Why GitHub is not your CV
blog.jcoglan.com
blog.jcoglan.com
> determine if a candidate cares enough to code on their own
Which he is arguing that you are not a bad developer for doing other things outside of work. The vast majority of people need to not code to regenerate.
I can use myself as anecdotal evidence: I'm the goto guy when it's particular difficult to solve a bug, when it's a new framework, or when the teams are unsure how to solve a problem. I love coding, I constantly get compliments for my code and solutions. I do rarely code outside of my work. I used to before I got a "real" job after my degree, but now I (almost) only code at work. I usually think about solutions and architectures outside of work though, and I write a lot of pseudo code on paper if I get an idea for an algorithm - but I do not make binaries or contribute to OOS or a public Github repository. I have a spouse, children, friends, and hobbies that simply doesn't get as much of my time as they deserve.
I would never pass the bar at a startup that's looking for the typical startup stereotype developer. I'm 100% certain that I make more business sense to hire than all of your average workoholic startup developer, but I would never be considered. I have seen so many developers with great personality and glowing Github repo fail so miserably because they have poor work ethics and are unable to do "the boring stuff" that needs to be done in a business.
I can make a sensible plan, estimates that aren't completely bonkers, and I can tell when we're no longer on track to meet the deadline the same week it starts to slip. If I make a promise I keep it, or let you know that I'm unable to. I can also work completely agile, and not some "agile-but" that is so prevalent in the industry. In short there is soooo much that you need to consider when hiring. Screening based on a Github account is excluding developers that would be just the guy/gal you're looking for.
I'm not seeing a problem with this. Not because you are a bad developer, but that you don't match the type of person they want to hire at that time.
> I'm 100% certain that I make more business sense to hire than all of your average workoholic startup developer, but I would never be considered.
What's your experience as a "startup developer" that you feel justified in making that claim?
> In short there is soooo much that you need to consider when hiring.
Of course. But I don't see Github being the only thing to consider, nor do I see it as being something that should be ignored. It's a piece of the puzzle.
You're a programmer. A good one at that. But have you ever stopped to consider they need someone more than that for where they are at? Someone who can be more than a programmer?
A lot of my peers work in startups and small companies. Most of them cannot make a schedule that they can meet. Many of them use the waterfall method. Most of them love to use this New Tech, because it's cool (NoSQL dbs in particular). Most of them work so much that they're less productive than I am with 40 hours a week.
I have been the sole developer for a complete rewrite of a program that gross for over a million a year, and I'm certain, absolutely certain, that most developers, and especially those who moan at "boring" work and like to use New Tech, would never have shipped anything remotely sellable.
> have you ever stopped to consider they need someone more than that for where they are at? Someone who can be more than a programmer?
The only thing I do not have, that a startup needs, is the ability to do PR. For the actual conceiving a product and evolve it, I'm just guy.
While I understand that many people enjoy writing code and do so for fun, there are a large number of fantastic engineers that don't (myself included). Just as I wouldn't give someone preference for a robust profile, I'm not going to penalize someone for lack thereof. There is only so much time in the day and if they can do ten hours worth of work in eight hours and choose to spend their off time with their family, friends, or hobbies, good for them. Knowing how to decompress and enjoy both work and life is just as valuable to me as crafting solutions to engineering problems.
We don't contribute to FOSS because we are hobbyists or good Samaritans, we do it because we need the features or fixes. We do it because in the long term it is cheaper and more efficient than maintaining a fork or developing a closed source component.
This doesn't mean that the people working in non-web industries "are not playing in the same league" with respect to skill, it just means that they don't have a huge public representation of the work they do.
Sure, but there aren't many people who hate coding but still do it (in significant amounts) in their free time. so having a github profile is still a positive signal towards being a good coder (assuming, of course, that practice causes improvement).
It would be wasteful for a company to ignore this information.
Very. All I'm trying to say it's not something you should even look at until you're later in the process of hiring.
Citation needed. It seems to me that the majority of people don't.
I recognize if I was planning to go on the market, though, I'd need to force myself to write some "on the side" code so I'd have a recent portfolio to show. I think it's just part of the expectation, the same way I would have to take time to write cover letters, etc.
"I hired the other guy because I screened out the non-GitHubbers" and "I hired the other guy because I gave preference to active GitHubbers" -- I don't see the distinction.
This is covered by the OP, but if you are using Github as a part of your hiring decision, you are going to be putting at a disadvantage many different kinds of people who do not or cannot contribute to open source or personal projects. The OP argues that Github is not necessarily a useful indicator of the things you mentioned and if Github becomes a very influencing factor for many companies hiring decisions, then it becomes de facto required and means you must work more as a programmer than you already do. This extra work is more able to be done with those that have free time and more personal resources (e.g. income), so some types of people are probably being excluded from your hiring process, leading to more a of a developer monoculture.
That's what we'll get.
The Beats were a genuine movement of talented, hard working literary types. They were hip. They were cool. They were who everyone wanted to be, so people started emulating their dress, their mannerisms, their speach.
But they were not driven by the same passion. Their motivation was different.
Ginsberg said of the Beatniks: "If beatniks and not illuminated Beat poets overrun this country, they will have been created not by Kerouac but by industries of mass communication which continue to brainwash man."
If we let companies continue to use GitHub as a hiring tool, the OSS community will gradually become overrun by people attempting to achieve the same success as the OSS pioneers by mimicking their actions...but lacking their same motivation.
It's hard for me to say this. I like GitHub. I like Open Source. I am proud of what little I have managed to contribute to that community, and I think it is to my advantage if a company considers my GitHub profile when making a hiring decision. That said...I'd rather give up that advantage in exchange for keeping GitHub as an open community to share source, instead of a cauldron for the latest start up founders to pluck their next engineering hire from.
The people ahead of the curve have to be more motivated, but if we get more people sharing, more eyes to find and fix bugs, more people from other walks of life that understand a bit more of the hacker mentality, more acceptance of sharing code as a normal part of life, then the world is a better place.
Yes, it's a shame that not everyone who plays the piano has the dedication and vision of Rachmaninov, or that everyone who paints is Picasso, but I think the world is a better place for amateurs and dilettantes. Sure, we'd perhaps have better art if it were restricted to those who must, but we have a better society because those who are moderately interested can.
It's not a good thing. Submitting proper bug reports is hard, and contributing to an existing project without making more work for others can be hard as well.
The best software does the most with the least amount of code while still being easy to read--and when a library or app gets there, it's time to stop.
The problem with a hypothetical swarm of people trying to pad their Githubs (the same way premeds pad their CVs, for example) is that they'll flood otherwise stable projects with garbage, or start rewrites for no other reason than they think they can do it better. A lot of good projects are going to get fucked up this way.
Artists practically invented the 'race to the bottom' effect.
The Internet and digital media came late to the party, magnified the effect, then widened the number of domains impacted
But I do find it funny that they don't think that Github should be used as a resumé but their "conferencing", tweets, books about diversifying and podcasts should do.
Talkers or Makers?
I write OSS on my free time because I feel like other alternatives might not be good enough. I spend a couple of hours in the morning, weekends and etc. It's hard and time consuming. I can take two days if just figuring out what the selector should be called or argument names.
Right now I am getting paid for OSS, but I even spend my free time on it because I'd like to make sure it comes out good.
It's very slow and time consuming, and sometimes keeps me up at night, but I LIKE IT. And I like acknowledgment to it.
These sorta articles invalidate what I make just because I FEEL like making them. Not sure what to feel about that.
I have friends who make stuff to Go-lang because they want to learn the language and make stuff that doesn't exist. These articles invalidates their passion.
And saying bullshit like LGBT or other genders are actively being excluded... well it makes me hard to take you seriously. I'm not white, and I am part of LGBT.
Also, I'd challenge you to find where the article says or even implies that you shouldn't be making stuff because you FEEL like it. Quite the opposite, in fact. You should be making stuff because you feel like it and not because you have some expectation of getting a better offer or being able to show off your GitHub profile at your next interview.
As for the white, male bias...not sure what to tell you. It's real. The statistics don't lie. I'm glad that you have had success as a non-white member of the LGBT community, but as the saying goes: the plural of "anecdote" is not "data".
Actually, Ashe has that on the Hire Me Page.
>As for the white, male bias...not sure what to tell you. It's real. The statistics don't lie. I'm glad that you have had success as a non-white member of the LGBT community, but as the saying goes: the plural of anecdote is not data.
I understand this is a fact, but how this can be used against Github as a resumé or against OSS on your free time, I have a hard time seeing that. It comes off as incredibly stupid.
I really don't think anyone is saying not to do OSS on your free time. That there is a greater lack of diversity in OSS than in software engineering as a profession suggests that whatever it is that keeps minorities out of software engineering might be amplified in the OSS community, but it is not proof of this.
As for being an argument against using GitHub for hiring decisions, I'd pose you a scenario...two recent college grads are looking for their first job. One had parents who could pay for college, so in between rounds of beer pong and slacking off from class, this student found time to write a handful of OSS libraries and posted them to GitHub. The other was raised by a single parent in poverty, and is now working two part time jobs to fund their education. Between work, this person studies hard, does well in class, but has no time left to work on any open source side projects.
Which of these two students will be the better asset for your startup? Which of these two students will reply to your job post that says "don't send us a resumé, just link us to your GitHub profile"? Statistically speaking, which of these two students is more likely to be a racial/ethnic minority?
It kind of reads like a no-child-left-behind or no-child-gets-ahead (can't remember which) proponent piece. We all have busy lives and saying its a race/gender etc. issue is way off the mark. I wish that whole section was left out as it just confuses the pretty simple point I think she was trying to make that open source engagement should not be an authoritative filter.
Or, to take it to an extreme, why is Silicon Valley in California and not Botswana? Do you believe that the people of Botswana are inherently less intelligent? less motivated? less capable?
Or is it their environment which is working against them? Jared Diamond has probably one of the most interesting takes on how these sorts of inequities can arise on a regional level (Germs, Guns, and Steel: http://www.amazon.com/Guns-Germs-Steel-Fates-Societies/dp/03...), but is it such a stretch to imagine that the same sorts of inequities don't exist at smaller scales as well?
This is what we are looking for in your github profile. If you don't have it, may be you are fit for the work, but clearly you are not playing the same game yet.
The OP is arguing that if a company values or gives extra weight to candidates with OSS and/or Github contributions, they are by definition skewing their candidate selections towards white men. The main criticism is that the desire for easier metrics to make higher decisions has built in bias problems that will exclude whole groups of people.
The thing is, something can be both a filter against 'underrepresented groups' AND a valid criterion for hiring.
Requiring a CS degree probably biases in favor of white and asian males and against black females. It is also a very valid filter for hiring programmers (pace the self-taught).
Not much can be done about this fact except for increasing the pipeline of underrepresented groups into CS degrees, recreational programming, OSS participation, and so forth.
http://ashedryden.com/blog/the-ethics-of-unpaid-labor-and-th...
Here's some key points from it if it is tl;dr
Marginalized people in tech - women, people of color, people with disabilities, LGBTQ people, and others - have less free time for a few major reasons: dependent care, domestic work and errands, and pay inequity.
Women are far more likely to be a primary caregiver of not only children, but other ailing and aging relatives. 59-75% of caregivers are women.1
52% of women caregivers with incomes at or below of the national median of $35k spend 20+ hours each week providing care. The largest racial demographics in this group are black and hispanic2.
Women perform more unpaid labor (most visible in domestics and child care) than men. On childcare alone, mothers spend more than twice as much time per day as fathers do. On average, working fathers spend only 10min more per day on child care when they are not working, whereas working mothers spend nearly twice as much when not working3.
Due to additional pay inequity contributing to less access to paid childcare, women of color perform far more child care than white women.
Those with medical conditions requiring that they regularly visit medical facilities or perform other health-related activities such as getting additional sleep, regularly exercising, doing physical therapy, being away from backlit screens, not sitting in a chair for an extended period of time, resting their hands, etc are all affected by what becomes an extended workday.
Those with a longer commute have less free time. Those who make less money can't afford the same housing costs as those that make more and are able to live in a city, so they are negatively impacted here again.
Women earn 76-89% of men's wages. 6
Women of color earn as little as 55% of white men's wages. 7
I know many women that either don't contribute to OSS because they've been dismissed for being women - being too pretty, not pretty enough, being forced to prove their competence more than their male counterparts because they're women. I've talked to women who use gender-ambiguous github names and don't post a picture of themselves as their avatar because of how quickly this happens. In addition, the sexual harassment, slurs, and other derogatory language that are used directly or indirectly at these groups of people causes many to not want to participate at all.Additionally, there are very public instances of assuming someone is male. with a link to this hacker news post - https://news.ycombinator.com/item?id=6712954
Some research about how women get 25 times more harassing messages then men:
http://www.researchgate.net/publication/4243412_Assessing_th...
More research about harassment of women online:
http://indiana.edu/~tisj/readers/full-text/15-3%20herring.pd...
Many different factors need to be used as part of a full portfolio. Look at their resume, their github (if any), their formal education and self education, their work projects, and so forth.
Maybe it's because I'm getting old, but I've learned something... stop caring what others are saying and doing. If you feel like making shit, then make it.
I hope one day we will be able to distil the ultimate rule: "being smart and proactive is discriminatory".
OSS as a hiring filter biases your selection process toward people who are either paid to do it at their current job, or who have few enough prior commitments in the rest of their life to be able to afford to do it outside of work.
I'm not sure whether it biases towards white men or not, but I'm pretty sure it biases towards younger people and against people who are in enterprisey companies (or who work on private contracts).
Also please read my above comment. https://news.ycombinator.com/item?id=6740089 The article links to another article about why it favors white men.
I had an employer spring an intellectual property agreement just like that on me. I'd been working there for six months already, and had to threaten to walk out unless they specifically put in an exception for open source work in mine.
It's worth noting that James is a UK based developer. Most of his points may be completely valid in the US but they are completely at odds with the UK climate. I've worked with an inordinate amount of tech companies in the UK and consulted with many more and I've yet to come across any that hire based primarily on the merits of a candidates github repo.
In fact, I'd argue his understanding of the request for a candidates github URL is completely wrong. One of my first requests when speaking to a potential candidate is for their github/bitbucket profile so I can see some actual code examples. I know that it's rare to find a true indication of someones ability from just their github contributions but for example, it can help me discern whether a ruby candidate adheres to ruby best practices or not. A small example of a minor indicator that someone might be a good fit for our company.
A man with significantly more experience in the industry than me once put it better than I ever could:
The more information I can get, the easier it becomes for me to make a decision, and to feel comfortable in it. And the best sort of information to give me is to show me what you can make, whether that's code for a backend position, or interesting design/UI for a front end position. It also gives us another thing to talk about during interview; and more opportunity to ask about design decisions and rationale.
Some of the best people I've ever sourced didn't have any publicly accessible code but if they had, I would have found them a hell of a lot quicker.
The problem with this is that you can't really make a logical decision when the code (on Github/bitbucket) is removed from its context. Maybe none of the code follows best practice, but there is a compelling reason why this is so. If your decision on whether to pursue a candidate or not does not include a discussion with the candidate about their available code, you are missing an integral piece of the puzzle.
You are absolutely right. I can honestly only ever think of one circumstance where I dismissed someone based exclusively on what I saw in their github repo. I felt guilty so I phoned them a week later to discuss my thoughts and it turns out my suspicions were correct but that was categorically an edge case.
There are two ways to read this: (1) as a marker; (2) as a filter. Would be interesting to hear your thoughts on the interplay. My guess is that there is some game theory on signalling at play on both sides here.
If you're constantly tweeting/blogging good quality content about an area of technology that is relevant to my business then of course I'm going to take notice. That, however, doesn't necessarily make you a better candidate by default, it just means you were easier to find.
What?
> You just get what other people think is useful. Aside from which, GitHub displays a lot of useless stats about how many followers you have, and some completely psychologically manipulative stats about how often you commit and how many days it is since you had a day off.
You get social proof, some measure of conscientiousness, and a crowd-sourced filter. All on one page. That sounds great. I don't see the problem.
Companies want to hire influential workers. It's relevant. So is putting in the work.
And products which people find useful are vastly superior to those that the author finds well engineered. I'm guessing many company owners will share that view.
I'm actually lucky enough to fall into the former category, but I feel that if you only hire people with a respectable presence on github, you're disregarding a large number of people for something beyond their control that doesn't accurately reflect their ability.
What you spend your free time on is not beyond your control (at least when you're a software dev and presumably paid enough to actually have free time). And you might decide to spend it on other, unrelated hobbies. That's cool, but you should be aware that unless you can present that hobby as interesting, unless you can sell it as something that helps you grow, you are making yourself look less good that someone doing the same kind of work, and then doing OSS in their free time.
A company is not going to disregard you for not having a respectable github presence if no other candidates have a github presence either. But if there's a clear disparity, why should they take an extra risk by hiring you, rather than hire the person that can show them their actual contributions?
...or you know, don't have family obligations.
I do agree to some extent with what you're saying, but as others have stated, it should be one of many factors taken into consideration, and it depends on the culture the company is trying to foster.
I personally have looked at github profiles of people I'm interviewing, if they chose to share it with me.
Maybe I see the world through rose-colored glasses, but I don't see why sane employer would like to forbid contributing to open-source project if e.g. this project is used for work and has some bug. And there are always bugs or inconveniences if you use something heavily. For some industries it is even hard for a developer not to be on Github, because a lot of software she uses is on github, and in a lot of cases the best way to fix the issue she's working on is to contribute to open-source project that caused this issue, instead of e.g. working around it by some hack.
I agree that discarding people without respectable github presence is bad (unless you're looking for a very specific kind of people, e.g. for marketing purposes). But I can see how not being on Github at all (even with minimal presence) could be a bad sign in some cases. Of course, industries are very different and this shouldn't be a general rule.
I've seen it lots on GitHub, and the problem seems to be growing. The guy that parachutes into a project -- one with money-impacting code already deployed on 1000's of real world systems used by ordinary people -- submits a pull request where he's modified every single file in the project, making only superficial changes to formatting and whitespace, and probably the result of an automated tool, and most importantly DOES NOT THOROUGHLY TEST IT beforehand... yet, from GitHub's perspective he's now (a) an accepted code contributor, (b) modified lots of files -- prolific! -- and (c) has a high count of lines added/removed -- IMPACTFUL! -- and (d) very very busy beaver "working" on lots of projects. "Gosh, we want him!"
But does he/she understand threading, leaks, races, parallelization, good architecture, good documentation, automation, reproducability, security, scalability, strategy, pacing, production support, risk mitigation, algorithmic complexity, tradeoffs, market priorities, DRY, YAGNI, edge cases, BATNAs, etc etc? Well... er... maybe not so much. But his/her eyes just light right up when you mention you have a foosball table and a keg in your cubicle-or-overturned-door "office"!
I don't see how those two points are related. A measure can be good or bad independent of who you choose to measure by it.
Github(not necessarily just having an account but actually looking at what they have done) is a good measure of skill because it allows you to see the person's work output. You know exactly what they contributed to a project and what type of work they are interested in and are familiar with.
Now just because it is a good measurement of skill doesn't mean that it is a good hiring filter. The two are similar but not the same thing. A good hiring filter filters for skill but doesn't filter for other attributes like race and gender. It is kind of like saying measuring how much weight a person can lift is a bad measure for determining a person's strength because we only measured white guys. It is a good measure of strength, just misapplied if you are trying to find the world's strongest person.
It's a trade-off. You want to see as many people meeting your criteria as you can, but don't want false positives. A github profile might have many false negatives (because of the white man skew), but that's a price a company might be willing to pay, if they get enough applicants anyway.
1) Motion detection algorithms for security cameras in outdoor environments with a lot of ambient noise that needed to be ignored.
2) Medical informatics data model with a recommendation engine component for predicting which ICD/CPT/SNOMED code to use for optimal chance of insurance coverage.
3) R&D, implementation, and deployment of an EAV/CR [2] open schema based analytics platform using the neo4j graph database for persistence
So far I've had the luxury of only using meatspace networking to find interesting jobs to work at, but I stress over suddenly finding myself unemployed in the future and having to face the modern interviewing process with social networking activity used as a screen.
Can anyone describe how one's GitHub is used in an interview? Is a candidate with an interesting, non-trivial personal project on GitHub considered, or are candidates judged on their contribution to others' projects?
[1]Started working on a neo4j data science project involving gathering, refining, and translating film, actor, and director data into a graph data model for efficiently answering deeply recursive queries.
[2]http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%...
It isn't much different than how a conversation would go after a live coding exercise to review the work, with the exception that the candidate in the case of a prior GitHub work will have had the advantage to clean things up and perhaps has gone through several iterations already.
I realize this is anecdotal, but 95% of the public code in my git repo is stuff I did as fun. I didn't care about being right, or care about memory issues or being thread safe or anything other than 'I wonder if...'
In that instance, and I suspect a lot of other people public where they aren't contributing to something using the repo code as a talking point is counter-productive.
Why did I do it that way? Because I wanted to see what would happen.
Before the interview, I will check out your stuff and make sure I have compilers/interpreters for your favorite languages (as best I can identify them). Then I will do a combination of live coding, and talking about repositories that might have caught my eye.
In this kind of situation "Why did I do it that way? Because I wanted to see what would happen" Is a great answer. It leads into a discussion about what happened, and whether or not you would do it again (without waiting half an hour for you to work through a problem of my devising). I could not care less whether the code was good or bad if you can show that you analyzed the experience and learned from it.
Part of writing good code is having written bad code in the past. I get that. I'm a programmer myself.
Now, we do not use Github as a filter (as the article discourages). If you put your Github in your resume, I will use it to make the interview itself a more valuable experience for both of us. If you chose not to put your Github on your resume, then you will get the generic interview, and I might not have your text editor/IDE ready to go.
If I change it at that point then I'm either being disingenuous or taking away the aspect he wanted to talk about.
All that said, if I put my github url on the resume then it's fair game to _talk about_. My point is (same as the articles) using it as a filter is generally a bad idea.
I have a hard time thinking of a better way to see how good someone is at all of those those thing than to look at code they've written in the past.
Also, the title of the article is "Why GitHub is not your CV" yet all it talks about is how it can't replace an interview. Which I don't think many people advocate.
As for the main argument, I think it's flawed. Github (or any other online repo) is an important asset and Open Source contributions matters. Especially if you don't have prior job experience. It's a very good way to show that you can actually write code and you will be hands on from the first week, or day, or hour.
Honestly, those skills are very valuable indicators and do not require someone to be giving up their nights and weekends to OSS.
Open source is not about donation, it is about cooperation and cooperation makes economical sense for a lot of business. Yes, there are the free-riders, but they are the copycats, we are the ones setting the pace.
Startups tend to be pushing the envelope, people from all genders from all over the world are being PAID to fix bugs and implement new features during the business hours, not over weekends. I do, I'm Brazilian and not white by north American standards, so this whole "github bias" thing is BS based on a naive assumption.
Nobody is using Github as their only hiring filter.
On the other hand, Github is just about the best generic indicator of useful contributions of a coder back to society: visible code that someone else found useful. If someone wants to provide whomever is interested with more custom evidence of their work, that's great, and there is a way to link to your homepage for that. But Github stats do not lie, and the constrained profile format is a feature, not a bug.
willing and able to work for free
For me, GitHub is a gallery of my art, not work, so:Me working for free for an employer that tells me what to do does not lead from me working in my spare time doing what/how I want.
I'm not sure I really understand what the author is trying to say. Is it that OSS encourages a culture of being exploited and that GitHub is inadvertently pushing that culture? Or is it that recruiters don't know how to assess the code they see and this is somehow GitHub's fault? Or is it that working on code on your spare time is really a bad thing? Or maybe it's that only white men create GitHub accounts.
It produces false negatives because lots of people who are good coders and who deserve to be hired don't have impressive github accounts for various legitimate reasons. I completely agree with this point.
However, to employers, false negatives are not that big of a problem. In some sense it's morally unfair that I exclude so many people who "deserve" the job, but if in the end I land a satisfactory candidate, I'm happy.
So to employers, the real question is, does github produce false positives? If my screening practice (I think we all agree that githubs and resumes should be used mainly as a screening step) is to ask for githubs instead of CVs, do I let better candidates through? If you read the article carefully, there is very little evidence presented for this; the author mostly argues that using github produces false negatives or weak signals.
Well said. This is also valid for stackoverflow, where your "top" questions are often silly ones that everyone can understand, while the ones you consider valuable are buried in anonymity. Some sort of showcase feature would be nice, in both cases.
I recently went through a job change, and to enhance my chances, I spruced up my Github profile, and put a link to it at the top of my resume. It's not the most active profile, but all the work there are wholly self-initiated projects, all of which tackle some interesting, often original problem. One of the projects randomly ended up with a few stars without me posting that link anywhere. Having code out there would give me a little leg-up over the intense competition, right?
Of the dozen or so tech phone screens, not one asked about it. Only one asked me to talk about a personal project, and it was abundantly clear he had not looked at the Github link.
At least he asked. One phone screen was with a recruiter at a famous open source company, and even she had not looked at it. To be fair, it was a recruiter call and not a technical one, but I thought she'd at least acknowledged it.
Most of the phone screens turned into onsite interviews, and again, nobody even mentioned Github. Well, it did come up in one interview, where the interviewer was doing a deep dive into IP networking details, and I told him in an offhand manner that, y'know, I had code out there that did exactly what he was asking...
The companies I interviewed with ranged from a couple of startups to a bunch of US technology giants in a variety of fields, and many of them get discussed on here regularly.
My advice is, don't put too much stock in your Github profile to help your job prospects. For whatever reasons, maybe the same as TFA's, practically nobody cares. Instead, invest in practicing the same old Google/Amazon/Facebook whiteboard-a-problem style that everybody and their grandmother uses, even if the work involved is nowhere near the kind of work (some people at) Google/Amazon/Facebook do.
- How well can you do this work? - Will you blend in (can you endure our work environment)? - Is it easy to work with you (you are not a dick, are you)?
So get over it, everything you do online IS more real than your resumé. Why? Because we are an online company and your online reputation is more important than a single document traditionally written in a corporate mumbo-jumbo style where the author tend to exaggerate his accomplishments.
When I ask for your github profile, I'm not asking for free work - FOSS is not about free work. I want to see your pull requests. Why? Because from time to time we do pull requests, and do it not because we are good Samaritans but out of sheer greed.
We use an open source technology stack. We push it's boundaries, we find bugs, we fix bugs. We find components lacking, we implement the desired feature and contribute back. We port code from other languages or create it from scratch and open source because it is cheaper than maintaining a closed source library. Is it free work? No, it is cooperation, and it makes sense economically.
Do you have a patch accepted in a high profile FOSS project? This means:
- You are doing serious work based on FOSS stacks - You have some communication skills - You have coding skills, can write tests and documentation - You can fix bugs and implement new features
I want to see the issues you open: are they well documented, with reproducible test cases?
I want to see your stack overflow profile: do you write good questions and good answers? Because a good question is 90% of a good answer, and good answers is what our customers demand.
Do you write really odd blog posts or troll around in online forums? Sorry, I guess you will not fit our work environment.
I had joined several group projects, and started one of my own, back when I was first getting into the job market. It helped a lot to tell any employer that you had been fiddling with this new-fangled "Linux" and "Apache" and "MySQL" stuff for years, versus the older Unix guys who had been using the same industry tech for 10 years. Really, open source was just like a new fad to older hiring types, and knowing something about it meant you had a different mindset.
But now everybody uses GitHub and it means jack shit.
Github-as-the-new-resume is galling for plenty of other reasons.
I want to be fair, but "do you have work you can show me?" is about as close to ideal as I can think of.
I mean, if you had a Ruby job opening and you got applications from Aaron Patterson and 20 other people, would it be unfair to put Patterson's application at the top?
There might be another applicant as good, but 1) you have to look harder and 2) you can't really tell until after you've hired them.
Picking a sure thing over a gamble is pretty understandable.
Today someone told me to review someone else's CV. My last comment was: "This CV does not mention a github account. This either means that this person does not have it or that he doesn't think of it as relevant enough to be on his CV". It was not a deciding factor, but it was listed on the "cons".
There's many good things about it, and reasonably few downsides to trade off against, but overall if you've got a GitHub I'd be more interested in seeing that than knowing what grades you got at school 15 years ago.
That said, my own presence on Github is pretty anemic, so maybe that's another form of bias!
I cannot say that I agree with much of the rest of the article, and I agree with even less of the article on which it is based. But summarily rejecting non-GitHub candidates really is a bad idea.
This has traditionally been important in hiring people for creative work, though prior to GitHub and similar sites there wasn't necessarily a single particularly good/common way for this to be done in the software development field.
Forgive my naiveté, but why is this a topic of debate now? Did something radically change? Weren't you all doing this before Github existed?
Maybe your github profile isn't a good portfolio by default, but it's an excellent service for creating your portfolio. On top of that, even a poor github profile provides more signal than most CVs I've read.
But there are also a lot of "hot" companies, of the sort that are talked about a lot on HN, that are pushing github as the end all be all.
The real point isn't about what the average company is doing, it's about which attitudes are sensible.
(Bias: I got my first job as a developer based on a combination of a non-technical friend's contacts and my github repos looking acceptable. I was three years out of grad school in the humanities at the time).
Yeah... that's not what they mean, and you know it.
I just threw that together quickly a while back and haven't updated it, but github whould make a fantastic site for a portfolio.
Apparently not.
When people are referring to using Github as your CV, they aren't talking about Github pages. They are talking about the repositories and the code. Github pages are another thing entirely, and not what is being discussed here.
> but github [pages] whould make a fantastic site for a portfolio.
No one would argue that github pages would make for an easy to use hosting provider for a portfolio site. No one is suggesting that.
That's actually my point. They should be, and maybe you didn't read the comment I was replying to, but that is in fact exactly what we were talking about - "Unless you have your CV on github.."
Of course having a mess of github project pages is a bad portfolio, but each of the individual projects in your portfolio makes sense as a github project, and the fact that they give you a pleasant <username>.github.io site to tie it all together makes it one of the best ways to host your portfolio.
It makes perfect sense to have github projects as your portfolio parts and turn it into the 'narrative' so beloved of the original author with a github pages site.
So then you are still missing the point. And so was the original comment you replied to. When people are talking about github as your CV, they don't care that you happened to host your website on ghpages. It's using the code repos themselves. Where you host your website is beside the point.
> It makes perfect sense to have github projects as your portfolio parts and turn it into the 'narrative' so beloved of the original author with a github pages site.
Yes. But again, that's not what's being discussed. You are in fact agreeing with the foundation of the idea.
Basically: GH Pages are merely a way to host your own personal website. The fact that it's also on GH isn't special in anyway, and you could achieve the same thing self-hosting. Remove that from the equation, and merely having GH repos is the issue.
People are saying you need that 'narrative.' How you achieve that is up to you, but relying just on the default GH repos doesn't help.
Those in hiring positions need to use various indicators of what would make someone a good hire. For most of history in the tech world, this simply meant a standard resume/CV, followed by a phone screen and then an interview where the candidate may be asked whatever questions are deemed relevant by the interviewer. Could be tests, exercises, etc - depends on who you were talking to.
Fast forward to today, where we have more ways that a candidate may show 'indicators' of talent. What about participation in user groups and meetups? Anyone can go to these things, but people who choose to go to them may have a bit more curiosity or interest (and admittedly free time) than those that don't, and that curiosity often goes hand in hand with talent. Not always, but again it is one indicator.
A healthy Stack Overflow reputation score might be another indicator. People who know nothing about programming probably won't be able to rake up major points there.
What if someone wrote a book about a technology? Another indicator probably, and if the book became a best-seller that would be even a stronger indicator since others are judging the material as worthy of their money.
As the author points out, all of these things take time, and many in the industry don't have that kind of free time. Understood.
Experience working at a known entity with a high barrier to entry is another indicator. We know that if someone passed the grueling interview process at certain firms, chances are they will get past our process as well. Another positive indicator.
There will also be some false positives. Candidates that belong to several meetups and have very active GitHubs may not be able to code.
Someone who has never heard of GitHub (or say Node.js or Mongo or whatever may be current and newsworthy at the time) will probably be given a negative indicator Would you consider hiring someone who had never heard of these things? Perhaps not.
Candidates without families that we might expect to have more free time may not choose to spend it at meetups and building GitHub repos either. I don't think we should immediately assume that they are less qualified than the ones that do, but I don't think any will assume they are more qualified.
The author says "you can't judge code without talking to its author". Perhaps you can, but I don't think anybody is necessarily suggesting that you should. No one is hiring candidates based on their GitHub activity alone without interviews, just like no one is hiring anyone based on their CV alone without interviews.
Can we just agree that all of these positive indicators are just indicators? As long as we don't use the absence of them as a negative indicator (as a measure of fairness to those who lack the time or desire), we are not doing anyone a disservice.
I concluded it biases to: folks who most have the free time and the mindset and the kind of desperateness to be doing it. Or income-increasing ambition. (Like the kind that's strongest when you're unemployed or under-employed.) Therefore, it biases (again, only statistically) to young males around college or high school age. Most likely living in their parent's house, or in a dorm, or perhaps out in their own place but without a spouse, kids, sick family members, or any significant hobbies other than computers. And without a long established work history "out in the real world" and thus lots of fellow coworkers/clients/managers to help keep them fully employed out in that pesky meatspace. And I'm not saying this is a bad thing necessarily. Or that this pattern is universal and without exception. I'm just saying this is the pattern I see in the majority of cases. I didn't sense any inherent pro-white bias, or something pro-male. With avatar icons and code commits and pull requests the Internet truly doesn't know or care whether you're a dog. (Only whether you're a smart enough dog that can interact and deliver.) It was just pro-... a certain set of qualities. If a certain demographic is more likely to have those qualities, then, that demographic will be disproportionately present and active there on GitHub. It's not a conspiracy, just the physics and economics of it.
And there's nothing necessarily wrong with it. But it's important to realize it's at play. And to neither blindly assume that anyone without a GitHub presence, or an active one, or large one, is somehow incompetent/unqualified at software engineering. Or that everybody active on GitHub is a young white male in their parent's basement. Instead, treat each person as an individual. And realize that the entire world hasn't fully converted over to your wonderful new "rule of thumb" about hiring. Yet. And perhaps never will. And that too is not necessarily a bad thing.
Whether it (your CV link, internally — extracts data from github? — or externally) points to your github profile or not is your decision.
Why is this still being discussed ?
Websites, people. Websites.
Show me that you take the time to register a domain, configure a host, log in to that Linux box, and build the Web.
A more pertinant question is: Why would you hire a Web Developer who has no place on the Web? It has to be Your Domain, Your Place on the Web. You. What genuine rebuttal is there against this? (There has to be a pretty Good Reason to hire a Web Developer who does not have a Website.)
Forget the "online portfolio" debate; build the Web and actually be about that.
I will not put my real name online in a public forum. Especially not linked with my CV that has a lot of personal information on it. I am afraid of harassment and stalkers, and I really want to control the amount of personal information that gets out there. I don't have a LinkedIn for that reason. I know a lot of that can be found if someone is digging hard enough, but I am extremely uncomfortable with just anyone finding my CV with a Google search. I am really uncomfortable with my work history being public information. In theory I could make that information password protected I guess.
Does it limit me? Probably.
My ideal, if you search for my name in a search engine and NOTHING comes back.
What the fuck am I reading? Is this asshole author trying to inject racism into something that is inherently race-, age-, gender-, wealth- and location-agnostic? Github doesn't care who you are, what you code or in what language you code it. And yet here we are with a dumbfuck author who, for the sake of clicks, just absolutely needs to shit on white men, that have been the bane of all tech-interested non-white men since the dawn of time.
When I hire I ask for code samples first and the person's name last. Shit, I'd hire the person based purely on code, put up anywhere on the net, and an anonymous chat, conducted fucking anywhere, and only require their name and social security number when signing the contract.
Shit I'm pissed off now. Some people just can't accept that technology is the ultimate equalizer and instead have to project their white guilt into everything.
The point is that those who have the free time and opportunity to contribute to OSS projects are more likely to be of some means. Given the economic realities of this country, those with some means are statistically speaking far more likely to be white males than anything else (which is confirmed by the data).
The conversation that has been occurring recently is about how having a Github profile is now becoming a de-facto must-have because hiring managers are increasingly seeing it as a shortcut filter.
It's great that you would hire someone based on code put up anywhere on the net, but that's not what people are commenting about. People are saying that Github should not become mandatory, for many reasons, among them because you're limiting your pool of candidates to those with some means.
Is that a concern when hiring? Isn't the biggest concern false-positives? Hiring bad people is the worse hiring mistake. The argument around github seems to be that while the true positive rate is very high, there is also a high false negative rate (rejecting qualified people because they aren't on github). From a hiring perspective (purely arguing economics), that is an acceptable trade-off. Your upside is limited by a smaller pool of applicants (that are still qualified), but your downside is greatly smaller.
It is not about donation, it is about cooperation and net efficiency, and a good share of open source maintainers and contributors are very well paid to do what they do - they are not hobbyists donating weekends to the cause.