"We want to hire good coders. How do we do that?"
"Well, we can ask them to write code during the interview."
"Yes, but can't we filter people before they get to the in-person or over-the-phone interview stage?"
"Well, we could ask people to submit code portfolios."
"Yes, but that means that someone on the team will have to review the code. Isn't there some way we can evaluate their coding ability without spending any time or effort?"
"Well, some people have open source contributions that are shared with and evaluated by the community..."
"That's it! We'll only interview people with pre-existing open source contributions. Genius!"
"...that's not what I...oh, you're not listening anymore..."
It is terrifying that anyone would ever think that was a good idea, let alone someone respected enough to have 128K Twitter followers. How much more plainly can you say "we're not interested in anyone who wants to spend evenings and weekends with friends and family"?
First of all, having a github profile doesn't mean you "don't want to spend evenings with friends and family". It means you spent some amount of time doing stuff on github. Ignoring people who get paid to write code that is on github (most open source projects are mirrored there now, so there are quite a few), all it means is that coding is one of your hobbies.
Aside from quality time with your family, perhaps you spend a few hours a week playing the guitar, or reading epic fantasy novels, or playing soccer, or perhaps you spend some of that time hacking for fun. Some very good hackers are exactly so good because they love hacking on software so much. Not all - some just want to forget code outside of work, that's cool too - but certainly some. More than the opposite, in my experience.
Again, I see your point - to just categorically reject people without a github profile is both insane and immoral (insane, because you are going to lose out on a lot of talent; immoral, because it sends a message that unpaid work is necessary).
But I would say that a github profile is a positive. Aside from showing an honest love of hacking, it also provides code samples that you as a possible employer can just look at.
Also, I prefer Hg/BitBucket for personal code anyway.
Github (or equivalent) presupposes that you've done some coding that is (1) worth sharing with the public (2) organized enough.
A lot of "learning code" is going to look like crap - the first few thousand lines of code you write when you're learning a new language, a new problem domain, or (!) both at the same time. The fact that it isn't useful for public viewing doesn't make it useless - it was an important part of the learning process. But sharing it with prospective employers is unlikely to be valuable.
Now I've spent 7 years building a great product, accomplished more than I could have imagined, learned much more than I thought I had left to learn, and am generally happy with what I've done and the decisions I've made. However, in the meantime life has moved on. I feel like I have a lot to offer, however I feel totally out of place when looking for jobs.
The details why I haven't been able to code as much as I used to, or why I haven't been able to release what I have coded are not that important. That's just the way it is right now. With that in mind, it is very discouraging when most jobs expect to see my personal and professionally embarrassing github account.
I'm not complaining, it's still totally up to me to present a good resume and showcase what my strengths are, and I can do that. I've also decided to use this as motivation to learn something new, and build something with it.
1. Whether free-time activities are called "work" or "play," the existence of free time to do them in is a privilege.
2. When a time-consuming activity is used as a job selection criterion, it becomes work.
I think an apt metaphor is college admissions, where Open Source contribution takes the place of spring break volunteer work in Cambodia (which requires you to be able to spend the thousand dollars for the flight) and lots of after-school clubs and sports (which require you to not work a job during high school to help support your family.) It's a veiled discrimination (and I don't mean discrimination in a loaded way -- I'm not saying people who look for OSS contributions in their employees are closet racists or sexists or anything like that.)
At the same time, I have to disagree with the second point; I think a more accurate sentence would be "when a time-consuming activity is required as a job selection criterion, it becomes work." I know plenty of people who happily leave work every night to hop onto a pet project or two and code the evening away; they're not doing it to get a leg up on the competition, they just like programming! I don't see why that shouldn't be a contributory factor in a decision whether or not to hire an employee.
I think the bigger issue is raised in the initial tweet in the post -- "Advice received on hiring software devs: reject anyone who doesn't have a @GitHub profile (the more active the better). Agree?" Open source experience shouldn't be a negative filter but a positive one.
Portfolios and verifiable career assets/achievements make you more valuable to potential employers. It de-risks hiring you. Even if you're just as skilled, capable, etc, if you can't offer anything to verify it, you're statistically riskier to hire.
Now all the points in the article drive home the point that the less privileged you are (due to gender/age/ethnicity/socioeconomics), you'll have a harder time building those career assets, due to time, limited job selection, lack of mentors, etc.
Requiring OSS contributions to interview doesn't mean you're getting better employees, it just reduces your risk of hiring a bad employee. It does mean you're filtering out skilled people w/o career assets. It's about reducing false positives, not avoiding false negatives.
I'd really love to contribute more to Open Source projects and/or put more stuff on Github, but that's not going to happen after 8+ hours of software development. I'm doing my share of bug reports and patches here and there, but I wouldn't take a role like maintainer/developer for a FLOSS project in my spare time. I admire those who are able and willing to do this, but it's not for me.
The idea of a meritocracy presumes that everyone starts off and continues through with the same level of access to opportunity, time, and money...
Meritocracy is simply the belief that meritorious people will (either deterministically or probabilistically) rise to the top. It is not the belief that the distribution of merit is fair.
A person who ate lots of lead paint as a child, had Down's syndrome, or some similar tragic circumstance, will have very little programming ability and very little merit. This is unfair. The lack of mentally retarded individuals in open source is not evidence against meritocracy.
You can't get a job that requires a Github OSS history. You're severely disadvantaged in job hunting when OSS contributions are a major metric.
If people tested your suitability for a job by pair programming with you, or looking at code samples, you'd look just as good as someone who contributes to OSS. But because OSS is an important metric, you're disadvantaged.
Does this make clear how it's discriminatory?
(1) Are there any companies which literally remove a person's resume from the running if his/her fit seems to be good in other ways, just because they do not have a public facing github repo? Or is this just something that people are talking about but not actually implementing.
(2) In what sense is any job requirement not discriminatory? Requiring 5 years of Ruby experience discriminates against those with only 6 months of Ruby experience. Requiring a Masters degree discriminates against those with a Bachelors or no degree. Making the candidate do a programming test discriminates against people who don't perform well on tests. The question is whether the programmers that a company hires based on a Github criterion are measurably "better" than those hired using different criteria. As far as I know, no such comparison has been done.
I do not have time to interview hundreds of people, so we have to apply some filtering. Are we going to potentially filter out a good candidate because they didn't take the time to make themselves stand out? Maybe, but I'm okay with that.
If that single mother literally has no time outside of her 40 hour work week to be learning new things and staying current with technology, she will have a hard time finding new jobs regardless of the screening methods used.
This is also one contrived example. Not an entire "social class" of the programming population.
But it was always ok to bully nerds, physically or other way.
An embedded systems designer may exhibit less "merit" than a wizard of front-end programming when dropped into front-end programming - and vice-versa. There's no absolute, gold standard for merit, no matter how hard we try to find one.
That doesn't mean that we shouldn't try to hire the most suitable (meritorious?) people for our own companies. Just because merit is a hazy target, and subject to different caveats, doesn't mean that it doesn't exist, or that you can't judge one person as more effective than another for a specific set of tasks. That's why we make job descriptions specialized, so that match peoples skills and attributes to the needs of the job.
I agree entirely with the fact that people should not hire solely on the basis of a github account, but this has really nothing to do with gender or race.
I mean, sure, it's a trend and with a lot of data everybody can self-proclaim himself as a statistician but just analyzing a bunch of stats and drawing conclusion isn't really making a point (causation/correlation etc etc). Saying that women or black people or LGBT members don't have time to contribute to OSS because of "other reasons" is, in my opinion, even more discriminating just for the sake of doing it. If they want to, they can contribute, they can find the time. Personally, I am a graduate student pursuing a higher degree, I work as a teaching assistant in university, I have a lot of assignment, work on my thesis, publications and a lot of stuff going on in my life, and yet I still find those couple of hours every night to hack away. Sure, my sleep schedule can get messy and I have to renounce to a lot of social activities to do that, but I do it.
I don't see any difference with my life schedule and the schedule of another person, be it a woman, a poc, a LGBT militant or whatever, we all have our own interests and this has nothing to do with "what" we are, just with "who" we are.
Personally, my girlfriend is a computer scientist (although we work on separate fields), she doesn't have github and doesn't contribute much to other projects but she still codes a lot and works on interesting academic projects and stuff. In many ways she's much better than me and nothing would stop her from making a github account and contribute to other projects, just that she doesn't. It's not in her interests and has nothing to do with her being a woman or not having time.
If you want to base your arguments on gender/racial issues, I find it ridiculous to do so in a semi-anonymous environment like github where nobody needs to know anything about you, as long as your skills are there.
Rant aside (it really bothers me, I am a huge supporter of gender equality and all those issues but I don't like people blaming everything on that), I entirely agree on not requiring a github account to hire people.
Just want to make sure I understand your line of argument here.
> I find it ridiculous to do so in a semi-anonymous environment like github where nobody needs to know anything about you, as long as your skills are there.
If you read carefully, you'll notice that it's not just overt discrimination from knowing who you are; it's also a lack of time, opportunity, and a bunch of other things. Furthermore, GitHub is _not_ anonymous, many of us do use our real names on there. Suggesting that others should revert to anonymity while the rest of us 'build our personal brands' is, well...
Certainly it's not their gender or their race or whatever other social construct. If you don't have time it's because you don't find time, which means you don't have any interest in it. And, you know what? It's fine.
Are you saying that women or black people have a too busy agenda doing their <enter stereotype> stuff that they possibly cannot use github?
Please, if you want to talk about people not having enough opportunities to participate in github community, talk about people living in Nigeria, Tibet, North Korea. They surely have bigger problems. This has nothing to do with gender or race. No, not at all.
If we consider discrimination on the workplace, in the industry, at a job interview, then sure, I can agree with you. A woman might have a harder time being accepted in the industry (sadly), same goes for other minorities. But on github? Sorry, I'm not buying it.
That's exactly what the article is saying:
> 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 hispanic.
20+ hours a week caring for children, elders, or family members with some form of disability. Fair or not, it's expected that they'll do it.
> Due to additional pay inequity contributing to less access to paid childcare, women of color perform far more child care than white women.
They can't just pay someone else to do it. If they could afford a babysitter while they hack on some code in order to get a better-paying job, that would be awesome. But that's not realistic for a lot of people.
> On childcare alone, mothers spend more than twice as much time per day as fathers do.
Fathers are a lot more involved in raising children than they used to be, but mothers still get stuck with the bulk of the work.
Hell, I've lost 4-5 hours out of my week since I took up jogging. It's a big boost to my health and a way to keep life-long weight issues at bay, so I'm not complaining. But just taking on an additional "hobby" like that takes up the equivalent of half a work day.
Sadly, we are discussing women in rural Pakistan who don't get to make these choices.
The sort of ignorant crap coming out of not only Morgawr's mouth but also a good number of people in our industry just shows how many of us have clearly never listened to a word that a disadvantaged or underprivileged person has ever said.
The citations of scientific literature in the article contradict you.
top 256 users by contributions
contributions = Pull Requests + opened issues + commits
filtered by > 218 followers
Regarding contributions, which is easiest: making a pull request (which don't need to be accepted), committing code, or opening an issue (which don't need to be closed)? Choose the easiest one, ignore the other two. Then pack as little as possible into every request/issue/commit, creating as many as possible.
There's people out there who do game Github rankings (tho not necessarily this one). It's like quantum physics: whenever you measure something, the thing being measured changes.
The message she seemed to be sending was, if you don't absolutely love sex and aren't up for it pretty much any time and place, even from the person about to pay you a bunch of money to do it on camera, don't become a porn star. You'll just burn yourself out and feel taken advantage of.
An attitude of, "I'm a professional and you really should be paying me any time I look at a text editor," is the wrong one to have if you want to be successful as a coder. People are going to sense that you're not really in it for the thrill of mastery and they won't take you seriously when you want to move up to the big leagues.
Look, we all have different goals in life. My goal right now is to master programming. That means when I get home after work, I code. On the weekends, I code. Side projects, side gigs, talking about coding. It's my career and I take it seriously.
If you've got kids or whatever and you can't throw that kind of time into your career, that's fine. I'm not going to look down on you for having a family. But if you want to have my career prospects without putting in the amount of work I put into it, I'm just going to shake my head at the entitlement that displays. There's plenty of great jobs out there for coders with families. Take one of them and provide for your offspring.
I don't think it's inappropriate at all to ask for open-source contributions as a part of your resume. If you're a badass coder, you should have them. If you want a badass coder, you should compensate appropriately. If you take yourself seriously as a porn star, don't get squirmy over a blow job. If you take yourself seriously as a programmer, contribute to open source.
Github as the only filter will select a certain group of people. Maybe they have "the most" merit, maybe not.
An on-the-spot programming test will select some other group of people.
A set of puzzles and math problems will select some other group of people.
A take-home problem to be submitted in a few hours or days will select some other group of people.
A culture-fit interview will select yet another group of people.
None of those tests by themselves is perfect, but by using a suitably weighted average, you can determine whether someone js smart enough to do the work, able to work with people in your company, and actually interested in working hard and making a contribution. The person who scores highly on most or all of the metrics will probably fit in well and work well.
Requiring a person to have a public github repository is perhaps a higher bar to set than requiring a person to write some code or pair program in an interview. It doesn't necessarily make it wrong, but it does mean that you will be filtering in a different way if you make it a requirement.
I like to build cool stuff, and Github is a way to share it with the world in the hope that other people will find it useful and/or cool.
Is the competency we're proxying for that people "like" programming? Or is the competency that someone is "good at coding"?
I would much prefer someone who's good at the latter than the former. I could care very little whether someone enjoys coding in their free time, I need to know they are competent and work well on a team.
Now that I'm doing the hiring (not something I ever wanted for myself, but we all have to grow up sometime)... I like the people I've hired so far, I would never subject them (or myself) to working with someone who didn't see coding as "more than just a job."
>I want to see all people fairly compensated for their labor without feeling forced into it; I do not want to see free and open source software stopped.
Author could send a donation to some open-source project. Instead he makes me (as OS developer) feel like a shit, because I stole some theoretical chance to someone else. This goes beyond occasional troll, and if this becomes a norm, I will seriously consider to make my projects private.