Hacker News new | ask | show | jobs
by brazzy 5194 days ago
The article is almost completely useless.

It claims you shouldn't throw out resumes based on simple heuristics and stuff that only correlates with programming ability because there are so few people applying who are any good, but has exactly one sentence to say about how to then actually find those few people: "I grill them, hard, on actual programming and actual software development."

Right. Sure. Every single one of the 500 applicants. Good luck with that. Get back to me in 6 months.

It's nice in theory to be super-inclusive about everything except "actual programming", but almost completely divorced from reality.

It sounds like someone who, hearing about heuristic solutions to the traveling salesman problem responds that "I cannot possibly accept a solution that may not be 100% correct! It's the computer's job to give me a correct answer, and I'm damn well going to wait for it, no matter how long it takes! Exponential, schmexponential!"

Heuristics have their place. Something that strongly correlates with what you're looking for but is much easier to test for can be very, very useful.

5 comments

The article criticises the unquestioning use of bad heuristics. One needs to think very carefully about how accurate the heuristics employed are at describing the unseen (but directly desired) attribute(s) as well as what un-desirable attributes it may be silently signalling.

As someone who worked at an investment bank, I'd go ballistic when managers would turn away candidates because their resumes weren't properly aligned or formatted. The irony was amplified by the fact that we were not a client-facing trading desk. Here the heuristic used (resume formatting) did not correlate with the desired attribute ([trading skills]) but did correlate well with some undesirable attributes (insecure children more concerned with form than function).

I agree with everything you are all saying.

What I was trying to claim is that there’s a relationship between heuristics and the ham/spam ratio of the documents being classified. When there is very little ham and a lot of spam, my claim is that false negatives are extremely expensive. When the benefit of hiring is very high and the cost of interviewing is low, my claim is that false positives are relatively cheap.

Given these two, my claim is that given current market realities, when hiring programmers for a mission-critical role the best strategy is to go light on spam-filtering heuristics and heavy on direct inspection of the ham content.

But obviously, some heuristics have their place. To a certain extent, everything except “Start work on Monday, there will be three month’s probation” is a heuristic.

And “This article is almost complete useless” is also true, given that it says in many paragraphs using a contrived format what I just said in two paragraphs, it obviously contains a lot of redundancy and extraneous noise!

That "extraneous noise" actually stresses your point beautifully. While we don't want to generalize from fictional evidence, fictions can be great at making the reader pay attention to your case (and yours certainly is).

Now that I'm a bit more aware of the gazillion ways my resume can be mistakenly filtered, I can (i) work on defeating those filters, and (ii) not take it personally when it still doesn't pass through. I know it sounds obvious, but I didn't get it on a gut level until your story put me in the shoes of the recruiter, and showed me that one can be both reasonably competent, not evil, and still miss many relevant resumes.

yar i guess those noise is just to give the picture of a seemingly successful person and make people fall for its crap.
I agree. If there was a TLDR; it'd have been nice :).
You know what's kind of funny, though? I bet that a not-so-small percentage of people who are nodding their heads up-and-down wildly in response to this essay think nothing of filtering their applicant pool based on github profile.

After all, it's a "coding" metric, right?

Ha, I always love seeing a job application that demands a Github profile, with no place for Bitbucket or Google Code (not to mention Sourceforge!).
... or work primarily covered by NDA.

Yes, I've contributed to open source projects, but that was before they migrated to github (or even to their current mailing list).

Still, I've been bitten by this demand.

A couple of years ago I saw a programming job ad with language along the lines of "don't bother applying if you have a gmail address on your resume." Wonder how that panned out for them.
They would probably get applicants with a hotmail address...
They probably didn't get anyone who uses a Gmail address as primary, which is what they asked for.
Like in every skill you need to choose your heuristics carefully and like in most jobs, HR and CTOs often aren't the best. That doesn't mean the whole idea is crap.

The thing about formatting I can't answer if you are right or "most HR people" are right. The argument they bring seems as legitimate as yours: People who care about the looks of their result are more disciplined, probably faster (because they get the content and the formatting in the same time frame) and care more about working in that company. Does that sound unreasonable? Which one is right can only be told with data. And because of that I tend to support the HR guys. It's more likely (of course not 100%) they have more data and experience then you and me.

(So indirectly I also agree that work experience can be a good discriminator concerning future work quality expectations)

> It's more likely (of course not 100%) they have more data and experience than you and me.

Having data does not imply usefully analyzing it, and "experience" is nothing more than a plurality of anecdote. Without actually seeing the data, I think your best guess here should be 50/50, rather than the very biased-toward-the-high-end "more likely (of course not 100%)" that you have. Appeal to authority is especially dangerous when you are making decisions that affect your company's bottom line based on peoples' ability to format text.

I confess, after spending a few years as an inexperienced coder applying for anything I could get, that I take a perverse pleasure in updating my shitty resume only occasionally now, and not giving a wet fish about the formatting. (a) because it's cathartic, (b) because I don't need to suck up to assholes any more, and (c) because one of the smartest, most reliable people I ever hired submitted her CV to me entirely in Comic Sans.
<i>insecure children more concerned with form than function)</i>

I thought that was what investment banks wanted to hire?

Not to mention the importance of cultural fit, too.

People dismiss cultural fit because it seems superficial. In reality, programming ability is part of cultural fit - who wants to work with an incompetent? A good programmer does not exist in isolation, a good programmer exists in context of the people s/he works with.

So if you find that rockstar/ninja advertising attracts the type of people you want - why not? Personally I think it's tacky, and we make fun of it where I work. But there are plenty of places with no such qualms, and it seems dishonest to not embrace that.

Yes, cultural fit is important. Programmers need to be able to work together ... BUT ...

... I once hired a guy precisely because of his strong stance against some of the norms in the local culture (and he passed the minimum programming threshold and was willing to work for the peanuts we were offering).

I inferred from his political/cultural views—which he was not shy about expressing—that he would have the will to speak up and question my decisions if he felt strongly about it. As a young manager I knew I needed someone working for me who would challenge my thinking on occasion. Whether he knows it or not, he taught me a lot about how I needed to improve as a manager (mostly by giving me opportunity to recognize my flaws).

Maybe that's "cultural fit" ... I had a niche I needed filled, and he filled it. Yet, the role I wanted him for was to be disruptive on occasion. And it was a good thing.

This is the only use-case/meaning of cultural fit that makes sense to me. But, i do think we ought to find a more specific name(http://lesswrong.com/lw/bc3/sotw_be_specific/). Perhaps something along the lines of balancing the team.
Where did it mention cultural fit? It seems that he skipped that, too. The one place I thought at first glance was referring to cultural fit:

> quite a few people are going to be really nice people that nevertheless aren't right for us

was actually just talking about being incapable of doing the job:

> If there's only one in two hundred resumes worth considering, quite a few people are going to be really nice people that nevertheless aren't right for us.

The mention of "ninja" programmers wasn't in respect to culture, either, but simply optimization.

Agree, you just need to know which type you're targeting. The opposite of "rockstar" might be mentioning a "family friendly atmosphere". It will appeal to a certain audience which might or might not be your target.
We're currently hiring at Startup Weekend, and at the end of the job ad we said something like "Ninjas, rockstars, gurus, and jedi masters need not apply."

In hindsight, I think that actually says a fair bit about who we're looking for AND our culture. "Do a good job. Don't get distracted by buzzwords."

I think that comes across as a bit smug.
I second that...it does sound a bit smug
I'm with DarkShikari - this is a great article.

Hiring is one of the most important things for any company, at any stage, that it is worth doing right. If interviewing 100 people instead of 50 will increase overall talent, it's worth bending over backwards to do this. Even if it means sacrificing in other areas.

Ultimately, everyone ends up using heuristics at some level. But it is worth being very careful what heuristics you use, and the article does a great job of demonstrating this. Do you really want to exclude excellent developers who didn't major in CS? Do you really only want to hire engineers who self-identify as rockstars? Maybe - but be conscious about what you're doing.

Just because someone points out a problem doesn't mean the onus is on them to find the perfect solution.
The 500 applicants gets wittled down quickly after you look at someone's Github or code examples. Suddenly you're looking at 10 or 15 at most. You can do that.
And now you're using a heuristic even less correlated with programming ability. My list of awesome programmers I would hire again in a heartbeat has, to my knowledge, a combined 0 lines of code on github.
It's one heuristic out of many, and it's a fast one. If you go through all 10-15 github profiles, and you find an awesome programmer, than you're done for that point in time. If you don't find any, you can use a more time-consuming heuristic.
Throwing out resumes with spelling mistakes is even faster, and if you don't find anyone, you can always go back. The same can be said for any filtering technique.
The problem here is that a resume with no spelling errors says nothing about a persons coding ability. The resumes without errors are lacking the negative indicator of poor spelling/formating. A strong Github profile, however, consists of many code samples and is a positive indicator of coding ability, making it a much more useful metric. This doesn't imply a knock against programmers with no Github profile, simple a leg up for those who do.
I generally prefer using Wikipedia edits or Linux kernel commits.