Hacker News new | past | comments | ask | show | jobs | submit login
I don't hire unlucky people (raganwald.posterous.com)
529 points by arcatan on Apr 5, 2012 | hide | past | favorite | 268 comments

This article is superb.

We tried placing ads for ninjas, rock stars, and so on, but I discovered this was the cultural equivalent of advertising for white males who drink dry martinis. Not that white males who drink dry martinis can’t do the job, but there’s no real difference between advertising for a Ninja and throwing half your resumés away because you don’t like unlucky people. Either way, you end up with fewer resumés.”

This is so true, so important, and so many startups (and even bigger companies!) miss this. Job ads provide cues, conscious and subconscious, to the people reading them. Not everyone reading the ad is identical to the person writing it, and a badly written job ad can easily send the message "this company isn't for you" to a large number of skilled potential applicants. This applies not just to categories like gender or race, but even to personality types and personal interests. Unless you really want a company of only extroverts, for example, don't write a job ad that scares off introverts.

In the canonical example, if you constantly ask for "rock stars", you will turn off people to whom that doesn't appeal, including tons of good programmers. But it goes beyond that: don't assume that all your applicants are any particular kind of person with certain interests. A job ad should focus on what the job actually is, and things that are important to the job.

The best programmers often have a lot of choice in where they work, and as many HNers know from experience, if they see a job ad that turns them off in some fashion, they will probably not even bother reading further: they know they have better options, so yours probably isn't worth their time. If the vast majority of skilled programmers skip over your resume, it's no wonder you only receive resumes from unqualified applicants.

In short, when writing a job ad, you need to think from the perspective of people applying. Use your empathy, put yourself in their shoes, rather than just writing what you think looks cool.

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.

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.

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.

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.

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.

I'm a semi-introvert graduating with my BS in CS and am looking for jobs right now.

And this is all I ever feel. I read dozens of job ads across the country (I look through all of them because I really want to get out and move some place new, see the world - being fresh out of college is the best time for me to do that and all) and in the process I see only two kinds of jobs for someone like me.

The ads either come across as wanting rock star geniuses that could develop in a month the entirety of the next facebook or google in their sleep, or they come off as grossly incompentant in that they don't know what they want from an employee.

When an ad lists skill sets from assembly to rails to genetic algorithms I just sigh because the company obviously doesn't know what they want, and I want to work some where that I can not only get better at my trade and create great things but also have confidence in the business not going under in a few months.

Simultaneously, the other set of job seekers want 5+ years experience for a startup and they use the rock star vocabulary, and I get turned off on that because I am not the second coming of John Carmack or Bill Gates, I wish I was, but I just am not that smart.

Compound that with the reality that I have a passion for software and as a result I only want to work on things I find interesting and useful myself (eating my own dog food) and I might consider one ad in a hundred. And I'm not even location limited!

It just seems to me like there is no middle ground, either you are a genius rock star or the employer appears clueless about what they are after in a developer. It really grinds my gears with all this job hunting shenanigans.

Ugh. I know the feeling.

I once answered a job ad - on HN no less! - asking if I had ever wanted to create a programming language and saying I should contact this company to show them if I had.

Well, I was a PL researcher by the end of undergrad. So of course I sent them my research paper, my senior thesis, and my project link.

Turned out they make a mobile furniture-sale application. They've got really cool guys working on it who've done things like compilers or languages before, but when it came right down to it, they stopped calling me back when they realized I haven't done mobile development before.

<frustration>For fuck's sake, if you wanted an experienced mobile dev, ASK FOR ONE! And if you asked for a PL researcher, WHAT ELSE DID YOU EXPECT? AND WHY ARE YOU EMPLOYING COMPILER EXPERTS TO WORK ON SELLING FURNITURE?!</frustration>

It would be really nice certain companies stopped trying to make themselves sound cool or important, and just let job-seekers know what they are hiring for. Obscuring your intent, in hiring, is equivalent to wanting a bad match.

This is in no way condescending to you, but realize that your options will massively open after 2 years of work experience.

I graduated in 2010, I got 3 job offers out of the 3 companies I applied to. However, none were exactly my dream job and the few companies I really wanted to work for didn't even talk to new grads. Today I can absolutely get those jobs.

My girlfriend went through the exact same evolution. It was brutal finding anything in 2010, and she just got her dream job with 2 years of work experience under her belt.

Those 2 years of work experience really open doors.

It's an enormous mistake to hold out for the 'perfect job'.

One of my roommates was a finance/econ/accounting triple major and wanted a Goldman Sachs job (not our cup of tea, but it's instructive). He didn't get that job, but saw the 'regional' banks as below his level, so he didn't take any job and brushed up his resume and applied again. Meanwhile another classmate with a less stellar but similar resume took a job at the regional bank. Two years later he switched into JPMorgan. My roommate who passed has basically been unable to get any job - even the regional bank jobs he once considered beneath him.

So don't let the frustration make you do something stupid and pass on the dumb job offers. You have to get a job right away. You can switch from that job after 6 months or 1 year or whatever, but do not make yourself unemployed. You only become less employable as your graduation date slips because it signals other employers that some have passed on you.

I see where you're coming from, but software is a lot different from banking.

"You have to get a job right away." definitely isn't true or good advice for a programmer. You can learn a lot more a lot faster and add more impressive pieces to your portfolio by working on your own projects, open source, or contracting than by accepting a bad job at some dysfunctional company.


Getting a programming job at a company that uses the technologies you want to work with will seriously help you move into another role in the near future. Even if the company is crap.

It's nice that some people will care about your personal projects but A LOT of good companies won't see these in the same light as real professional experience dealing with real production, team and stake holder issues.

Also, how can anyone support themselves for months whilst they wait for the perfect job which may never come because it gets harder to find a job the longer you are unemployed?

As for contracting; to land a good contracting role (I'm talking stuff outside of rent-a-coder) is very difficult. Most companies wouldn't even consider you as a contractor unless you have several years of solid experience. I can only assume you mean the kind of 'contracting' that happens at places like rentacoder.com. If you think anyone will care about this then you are mistaken, plus, it's a waste of your time as you'll get paid peanuts and end up providing free support to the idiots that gave you the work in the first place.

If you're fresh out of education and will not be landing a role with Google (or the likes of) and you're struggling to get work at a good company then you should take the first job that comes along that works with the technology you want to specialise in.

Speaking from experience, most of your assumptions are completely wrong. It's much easier to gain valuable skills in personal, open source, and consulting projects, because you can target your work towards sought after languages, tools, and frameworks, and clients you contract with will often let you choose the technologies if you make a good case for them. Bad companies will tend to use bad and outdated technologies, and they won't be open to the suggestions from a new hire.

It's also extremely difficult to build a strong portfolio working at a bad company, because bad companies by their nature rarely get anything done, and even if they do, they'll pigeonhole you into the most monotonous tasks and you'll get 0 experience making architectural decisions or working on anything outside whatever little gutter they throw you in.

On the contrary, doing your own projects or contracting (ideally with startups or small companies) will force you to learn every level of the tech-business stack, from feature planning to architecture to coding to design to deployment to launching and promotion. You can work on many projects in a short timespan, and you'll be left with numerous portfolio pieces that are all your own.

"Most companies wouldn't even consider you as a contractor unless you have several years of solid experience. I can only assume you mean the kind of 'contracting' that happens at places like rentacoder.com."

This simply isn't true. You just need to sell yourself and show that you have good ideas and get things done. I got paid $60 per hour on my first rails project with no experience whatsoever in rails. The client never asked. She just saw that I had several strong pieces of work in my portfolio (half of them personal projects), and told me to use whatever tools I thought best for the job. If you're considering rent-a-coder you're definitely doing it wrong.

Don't settle for mediocrity. Take the initiative and start building a portfolio any way you can. The sky's the limit once you have a solid body of work to point to. You can make good money contracting or you can have your pick of awesome jobs. Having experience in some crappy job isn't what matters, it's showing that you can build great software.

Speaking from experience, most of what you say is wrong.

Most of the contracting positions available in London (where I live) are only available to experienced professionals. There's no way anyone is going to hire a nobody for £500 per day. Good luck finding much work available below this level, I used to contract myself at £200 per day but this only because I personally knew the manager on the project and I had worked with him as an engineer as an intern one year previously.

Showing you have good ideas and that you get things done means NOTHING. The other guy applying for the same job who has 6 years of experience will beat you every time. Maybe things are different where ever you are from but where I am from you don't get to work on anything that anyone cares about unless you have solid experience.

If you want to land a role at some small web dev shop where you will be stuck working on crappy rails or other nonsense things then go make your portfolio out of $60 a day "contracts" and have a great life. This does not exist in the UK and when people say 'contracting' they mean real work earning real money.

The best thing you can do is get an awesome internship then leverage that to get a good perm role somewhere else. This is exactly what I did. I didn't return to the place where I did my internship as I landed a better package elsewhere.

If you can afford to work for $60 a day and you are lucky to live in the Valley or somewhere where these roles are available, then lucky you. I prefer something a little more rigorous where I'm not a slave working on crap.

You're coming across as a really arrogant and unpleasant person. Frankly, you sound like someone who couldn't hack it on your own and is now bitter. I'm sorry it didn't work out, but you shouldn't generalize your own weaknesses onto everyone else. If someone isn't much of a developer or is afraid to talk to others and look for clients, then yeah he should take whatever he can get, but someone who has brains will be selling himself short and possibly destroying his longterm creativity and drive by accepting the corporate coding drone role.

Take a look at the london contracting market. There is no room for anyone who isn't experienced. London doesn't have little cheap contracts were front end devs can come and work for no money. All the contracts are for serious companies paying serious money. You have absolutely no idea what you're talking about. You're typical HN. Contracting is seen as something that you enter after years in industry. Not everyone lives in the valley where companies come and go quicker than the local bus. Your attitude towards our industry is that of an inexperienced child.

My advice to you is that a lot of the qualifications and requirements listed in job ads are pulled out of the air, and many of them are absurd. I've seen plenty of job ads listing "5 years of iPad experience" or "3-5 years JSON experience". Obviously those are not very closely related to real job requirements. The thing to do in those cases, I think, is to look at the company, try to get a sense of what the job would be, and apply if you are interested and if it approximately matches your skill level.

The web startups with rockstar job ads may wish they had John Carmack or Bill Gates sending them resumes but I doubt it happens much. Bill Gates doesn't need to work at a little company somewhere -- he made his own company and is now a billionaire. A skilled, motivated recent CS grad is probably a great candidate for most companies.

How do you feel about python and machine learning? Numenta is hiring in Redwood City, CA and this post has motivated me to leave no stone left unturned. :) (Contact info in profile)

To the grand-parent, I got a job off of an HN comment once, and I learned more at my time there then in 4 years of schooling, and it was a blast.

Contact this man.

Even more so when the company founder is: http://en.wikipedia.org/wiki/Jeff_Hawkins

Consider loosening your requirements for companies you would interview with. Get your foot in the door somewhere - it will open up more opportunities later.

Straight out of college, I got accepted by an outsourcing sweatshop early on, with whom I interviewed because I was bored and not necessarily because I wanted the job. I went ahead and took it anyway, thinking I'll learn do something for 6 months that I can put on my resume and move on.

During my spare time I made minor contributions to a couple of open source projects, then got an offer to hack on open-source software at Novell. I eventually turned it down to go work for a smaller company, which is where I am now, for the last 7 years.

I feel the same way, when I hear about this talent shortage, I can't help but assume they mean there are only so many people at the top of stanford/mit's classes.

I'm perhaps more of an extrovert in the same situation, but just apply to everything --- sure you'll fail at some stuff but it's always instructive. The key is realising the difference between a judgement of you and a judgement of how you interview :)

Hell, I got an internship last year by cold-emailing someone from the HN Who's Hiring thread and asking what they were running this year. Just put yourself out there and you'll have no problem.

This is wrong. I don't know a single Rails developer (with or without a degree) who doesn't have more work than they can handle available to them. Sometimes the jobs are more concentrated in certain areas than others, but I personally get several cold calls from recruiters every week, and I have no degree, and I am no rockstar.

When I do eventually move to SF / a tech hub, applying for everything is my plan, if I don't find something before moving.

I also don't know rails, and I'm just now getting into web technologies, trying to decide what to really dig into (between node and rails really) . Is rails really that hot? Just starting out with rails now I feel like I'm really late to the party. I'm mostly interested in Clojure, but that's not exactly the hottest job market.

It's nice to hear that it really is that good though, It's hard to really get a feel from it living so far from any tech hubs, without many developer friends.

Rails developer <: programmer. Contrary to Bay Area belief, most programmers are not, in fact, Rails developers.

> I'm a semi-introvert graduating with my BS in CS and am looking for jobs right now.

BTW, your HN email isn't visible unless you put it in the about section. You might get some more interest if you put it there with a webpage url.

You might want to give your email ID in your profile.

zanny, if you are interested in a Python/Django job in San Francisco, email me. My email address is in my profile.

Indeed. My ad scoring program deducts 5 points and transparently kills off ads that contain terms like "ninja" and "rock star" because to my mind they indicate a propensity for either abuse ("a rock star should be able to code this in three days!!") or fad-following ineptitude ("rock stars are the coolest kind of programmers, I must have them! also, we write EVERYTHING in Ruby, it's like the Mac of programming").

Personally I think those terms indicate feeble attempts at psychological manipulation. I feel like responding to job ads like that would be like admitting you're a gullible fool. They're trying to recruit and stroke egos, not people.

Or they think of themselves as ninjas, which is too a big red flag.

I dunno. Think about Steve Jobs recruiting for Mac engineers with a pirate flag flying from the building. If 'pirate' then == ninja/rockstar now, you might be missing a great job.

Was that part of Steve's recruiting schtick? IIRC, that was just internal company culture and not something that Apple HR (or Steve if he was interviewing) would have mentioned.

I do believe he used words like "changing the world", etc. These are more about results than ego. Huge difference.

You are on to something here. If people want o make it a hipster contest don't use the recruiting op and waste it. It simply does not add up unless you are stuck in a mindset that is not conductive to anything productive. Nihilists are us should never be a place one "wants" to work at unless there are no other ops available.

my typical response to ads for rockstars is pointing out that rockstars tend to earn 10 to 100 times more than a great studio musician and generally have to be the prima donna all the time. Then I ask if forcing myself to be the center of attention is part of the job description, and just how much better the position pays compared to the typical valley salary.

Along that same lines... you never see a good ninja. So if I'm hired under the guise of being a ninja you can expect to never see me in the office. So telecommuting would be expected?

This is great.

I'm going to apply for and get a job at a company advertising for "ninjas," then not let my boss know when I'm taking vacation or a sick day - just so when he calls to ask where I am, I can reply with "Well, you did say you wanted a ninja programmer..."

if you don't mind, I'm going to borrow that line from you...

I don't mind at all.

if you were really a ninja however, you would have stolen that line under cover of night, replacing it with a forgery that looked identical, before using a selection of grappling hooks to make a stealthy escape across the rooftops...

I gather you read Perfect Crime Party (Bakuman around chapter 90) then?

nope, just looked it up just now, looks fun

will add it to my reading list, needed some new manga to get into anyways, thanks for that :)

how do you know that i didn't, and this is just a diversion?

Because I'm wearing lucky pants, of course.

Your program would do the same for an advert that said something along the lines of "We don't care whether you are a ninja or a rock star"?

It would be great if you made your software available as a web app for all of us to use.

The argument made in the article applies in both directions.

When I was open to new job opportunities, I immediately turned it down if the job description included words like rock starts, ninjas, etc. I am not against the mindset. It is just not a good fit to my personality.

I want to work on products that I consider meaningful and work with good and serious engineers. It is nice to hang out with colleagues, have drinks, saying jokes, etc. I am a big fan of classic rock. But calling engineers as rock stars, ninjas, etc, or engineers labeling themselves as such personalities, really convey a somewhat negative impression to me.

I think another over-abused phrase is "smart and gets things done". Thanks for regurgitating Spolsky in your ad. Tell me do you have individual offices for your engineers? No...it's the standard cube farm? Then you don't get to quote Spolsky.

Job descriptions just shouldn't have "rock star" or "ninja" unless they are hired on their ability to perform music in front of an audience or on their katana wielding skills.

Rock Star: that guy who shows up late and worked on a hit project 15 years ago that he's always bringing up.

Ninja: that guy who's never at his desk and never says anything in meetings.

You forgot to mention "brings his katana to meetings" (the sword, not the Suzuki motorcycle).

It's kind of "friend-of-a-friend", but I had a boss who told me about working with a developer who actually did that, I think at a game company in the late 80s.

By any chance was it puts on sunglasses John Romero?


wow, i never knew i was a rock star

The more useful data is that any ad that uses such language doesn't actually employ any ninjas or rockstars.

At best it has an HR person who never managed to stop being 17years old, typically it's a bunch of trend following losers, at worst it's a bunch of creeps who think they can under-pay and over-work you in return for having a pinball table in the corner.

Ironically, a job seeker that rejects an ad based on a keyword or two is exactly the shallow reasoning this article criticizes; it's just the other side of the same coin. I'm pretty sure there are actually good startups that put out "cool" (lame) ads just, like good programmers that let a typo slip by.

> Ironically, a job seeker that rejects an ad based on a keyword or two is exactly the shallow reasoning this article criticizes; it's just the other side of the same coin.

Not really. The situations are asymmetric -- an employer seeking a talented programmer needs to be rejecting potential employees on as few arbitrary criteria as possible, to maximize their chance at finding just a single qualified candidate.

A talented programmer, on the other hand, has Berty Wooster's time-management problem; there are far more people desperate to hire than he or she could possibly could ever hope to give attention to. You need to winnow out any opportunity that is even the slightest bit unappealing just to get the flood down to a manageable level.

> You need to winnow out any opportunity that is even the slightest bit unappealing just to get the flood down to a manageable level.

This is precisely what the article was talking about but in reverse, like the GP said. You're implying that job ads that rub you the wrong way on a minor point are ads that are at the bottom of the desirability list -- this is the exactly the correlation/causation fallacy the article discussed.

In other words, that vast list of companies looking to hire the talented programmer is comprised of 1) companies that suck 2) companies that are OK, and 3) companies that rock. The occurrence of the word "ninja" or "rockstar" in their ad isn't an indicator of which group the company falls into. What you're advocating is no more scientific than throwing away unlucky resumes.

> You're implying that job ads that rub you the wrong way on a minor point are ads that are at the bottom of the desirability list -- this is the exactly the correlation/causation fallacy the article discussed.

You've misunderstood.

The employer faces the problem of there being too few really good programmers, and so must do nothing that would prevent them from possibly seeing one in their candidate pool. It's like panning for gold; you need to get as much crap as possible going through your pan to find anything of value.

The good programmer has an entirely different problem. There are a ton of jobs out there that I would find stimulating, engaging, and fun. Finding them isn't hard at all. They show up on HN, they show up in my inbox, they show up in conversations at conferences and events, they show up in unsolicited offers from friends, acquaintances, headhunters, etc. They show up on a weekly basis.

If I'm in the market for a job, I don't need to carefully grovel through every opportunity to find the one good one. I couldn't possibly, even if I wanted to, because my attention isn't infinite. Talking with every potentially interesting employer would take more hours than I have in the day.

Instead I need to, like Berty Wooster, somehow winnow down the 100 equally plausible opportunities to something small enough that I can reasonably give my time and attention to picking between. That the heuristics for doing so are arbitrary is irrelevant; my only concern is grossly reducing the numbers I'm dealing with, because I have no reason to fear I won't find a good one among those that are left.

Honestly, there are a lot of crap jobs posing as dream jobs as well. I remember talking to my (female) cousin once and she said to me "People act like it's only good men that are hard to find. The sword cuts both ways." Just because there's a higher ratio of Women to Men doesn't mean that the ratio of good women to not so good women is higher than it is for men. I didn't get what she was saying until I started dating heavily.

In the same regards just because there are more jobs than candidates doesn't mean there isn't just a high ratio of crap jobs. So the same 100 job ads will likely have 1 or 2 great opportunities and 98-99 posers. The candidate's job is just as tough as the recruiter.

This reminds me of that job advert which specifically asked for programmers with MacBooks only. No way in a million years would I apply there! I have an iMac, but only because I'm interested in different sorts of computer. I mean seriously, not everyone can afford an Mac.

I've had this on my chest since I saw that advert. Just needed to vent :)

Reminds me of this steaming pile from last year http://blog.expensify.com/2011/03/25/ceo-friday-why-we-dont-...

Ahh, I can't find it. I just remember that it was looked like a normal HN story but you couldn't comment on it, and that it didn't ever actually mention the company name.

What's worse:

Looking for: Leonardo da Vinci 2.0, Einstein reincarnated

Compensation: We cannot afford to pay you now but we promise equity

What's worst:

Looking for: the lovechild of Richard Feynman and the second coming of Jesus

Compensation: small salary with some equity

Actual work: it's like Craigslist, but for social mobile

Something this article doesn't mention, is identifying the success of an individual in the culture of the organisation they've applying for. Roles and job descriptions change, in startups and MNCs alike. Sure, do technical evaluations, but explicitly, do not assume:

1. An analysis of factors which make someone in your organisation successful, and be critical, an example in being critical may be 'manage explicitly conflicting goals' 2. Map candidates both to the 'now' of what is needed, and the factors of success needed in your organisation short medium and long term.

It is quite easy to find great people through technical questions. It is bad for all when great people don't fit. This is not behavioural interviewing stuff or psychological surveys, simply match proven success and/or evidenced motivation.

What exactly is a ninja or a rockstar in terms of programming? If you're not a rockstar what are you? Would anyone ever actually describe themselves as a rockstar programmer?

I was pretty glad to see "anyone who uses rockstar as an adjective" on the list of people take out in the God Bless America trailer.

> What exactly is a ninja or a rockstar in terms of programming?

Someone who enthusiastically engages in RDD (resume driven development). Someone who knows whatever is currently fashionable in the blogowhatever...

I agree with every point Reginald makes but (and I am being nitpicky here) the form of the story - the seeming overtailored parable nature of it, of the kind you'd find in the Reader's Digest or a religious tract - rubs me ever so slightly the wrong way.

I could have done without all the fake (or seemingly fake anyway) dialogue between the Wooster/Oscar etc and would have preferred a straightforward "This is what I(Reginald) think" mode.

Imagine pg writing his essays in the form of "Paul wrote an ecommerce site in Lisp while Peter used C++. When Paul met Peter's wife Rosa in a coffee shop he asked her why Peter was looking so haggard and she said 'he is working through the night fixing bugs and not getting enough sleep. Would you mind talking to him? ..' "

Again, this is a very minor nitpick, just consider this feedback from one reader. I am probably considerably outnumbered by the people who like this "story" form better (and that is perfectly fine). Of course it is completely Reginald's prerogative to pick any style he wants.

I understand your nitpick (and the post could have been a lot shorter had raganwald opted to use a different style).

However, the main benefit of the story format (to me at least) is that the underlying message is so much more memorable. I'll probably forget the names of the characters and some of the detail but I'll certainly remember the point.

More importantly perhaps, is that I'll be able to re-tell the story to others (in some form). Expecially if I'm trying to convince them of this view point.

Stories are easier to remember and share (and it's one reason that telling stories about your products is better than, say, a feature list).

The writing style reminded me a lot of the book "Leadership and self-deception" (http://www.amazon.com/Leadership-Self-Deception-Getting-out-...) in which a guy shows up at a new job and gets a day-long welcoming from the CEO, during which they slowly go through the idea of putting people in boxes and what to do about it.

The ending of raganwald's post especially was similar in tone with "You belong here. We'll do great things together".

edit: "they slowly go through the idea of putting people in boxes and what to do about it" Hmm, this sounds kind of odd when you don't know the book I guess :) To clarify: in the book, you put people "in a box" basically when you have prejudices about them and look at things through that angle only. Or something like that.

It seems very common among books targeted at CEO-types ("Be The Hero" being the one I read lately). I don't know what it is about managers that means they like stories more than explication, but it seems to be common perception.

Stories can be useful. You could say [arbitrary example] that "I'm trustworthy", or you could tell a story of the time you were given privileged information and didn't use it for personal gain.

The story is much more convincing, because it invokes empathy from the audience. The trick is to tell a good story. That means understanding plot, characters, tempo, your audience, and so on.

Not saying it's the be-all and end-all, but when done right stories have their place.

I dislike the story form too, and I can explain why. The style gives the impression that Reginald is claiming "this really happened, and those people used this technique, and they lived happily ever after – so if it worked for them, it will work for you; give this technique a try". But this tale never happened, so that implied argument is a lie. This story forces me to put on my "disbelieve, disbelieve, disbelieve" mental filters as I read, so I can remind myself that the story does not have the grounds in reality it claims, lest I believe it wrongly. This extra effort would not be necessary if Reginald just claimed what he claims straight out, and then perhaps described his grounds for belief in those claims. The unnecessary extra effort of skepticality is why I don't like the story form in this case.

The style gives the impression that Raganwald is claiming "this really happened, and those people used this technique, and they lived happily ever after – so if it worked for them, it will work for you; give this technique a try

Respectfully, no it doesn’t. Try showing the story to one hundred randomly selected people and ask whether they think this really happened. I think you will find that there are a few people who have a certain type of extremely literal brain who don’t take well to parables, to satire, or anything else that isn’t a direct recitation of facts.

The fact that such people are in a minority doesn’t invalidate their (or your) feelings, but it is important to recognize that the feelings you have are not universal, just as I must recognize that not everybody likes the format.

I don't like that we can't question this story because it's fictional. It has legs because of the way it is written, but no one can jab or poke at it without the obvious "well, it's just a story, man" line. I hate outs like that. It's been mentioned that there is an overall religious feel to these articles. I think it's because religion always has an out when it needs to explain something using evidence. Then there is the article title, "I don't hire unlucky people" with "raganwald's posterous" as the header. Not sure how someone could glance at this and determine it was fictional - but I think you know that.

> The fact that such people are in a minority doesn’t invalidate their (or your) feelings

Well, we don't know if they are the minority or not. No one has really taken a poll. I'll say I've found the same lineage in your articles. They tend to play on the emotionally-binding do the right thing narrative - which is fine, but the articles always conclude with this overall "so that's why you have to do it this way" feeling. Morals aside, there's really no validation to these ideas. It's one thing to tell a story and have a happy ending, but the subject matter is often timely and succinct to current events - making it (in perspective of the moment) newsworthy. I understand it is easy to talk around that, so I guess one would have to ask "Why do you write in this way?". If your articles are politically-driven, then why write fiction? If story-telling is your angle, why the call to arms narrative?

This isn't to say your writing isn't good - to the contrary. But if we're talking about whether your articles could be confusing to some – I'd say I agree.

I have to somewhat agree.

I read a bestselling short story once about two mice, one of whom ventured out into the world to find a new place to live, while the other stayed put. The one who abandoned everything came out of it better in the end, and so the moral of the story was that we should all abandon what works in hopes of stumbling on to something better.

I detested the book, and will instantly have a lower opinion of someone if I see it in their bookshelf. It seems to me that it was written as a short story to avoid arguing for the decisions the characters make. raganwald's story was better, but still vulnerable to the story format, where dei ex machina reign supreme.

That said, story formats have strong advantages as well, such as capturing attention – but they don't come for free.

The author sees his time better spent addressing each comment rather than just do something simple like using the Posterous tagging feature. A 'fiction' tag would be sufficient and no one would be confused. I doubt the author would tolerate end-user confusion in his software, why defend it in this case? His blog is full of non-fictional, fictional, opinion, etc. There is no obvious delineation for those who don't read his material and the fix is easy.

If you want evidence, I think you should look elsewhere besides Hacker News. It’s a nice place full of very smart people, but posts containing empirical evidence gathered under controlled conditions are few and far between.

I've read plenty of articles about political, corporate, structural viewpoints – all with details of recent experience, personal findings and data on HN. I'd say fictional short-stories would be the odd man out at HN.

How does it being fiction stop people jabbing and poking at it? And how have you read this far down the thread and still held that conclusion?

As for glancing at it and knowing that it is fictional, it is fairly obvious in the first paragraph, even without the names, purely by the style of writing.

I found the style grating as well, but not because I thought it might have happened or even that you intended for me to think so. It was more that I found the parable style condescending. Heavy-handed and self-indulgent are a couple of hyphenated terms that might apply to some small extent.

I probably wouldn't have copped to it quite as fast if you hadn't named one of the characters Bertie Wooster, which was a lovely bit of signaling. Good job there.

Saying that I think the story really happened is an exaggeration in my case. Obviously I recognized that the story was false strongly enough for me to know that I should put my skepticism filters on. I knew intellectually the story didn't happen soon after starting reading, from the style of writing. But it took extra, conscious effort to ensure that that understanding was shared by my more base word-understanding mind, too. Basically, I read in words as truth, and have to manually tag each thought as "dubious" after reading them. Or perhaps I would still disbelieve what I read even if I didn't consciously attempt to disbelieve it, but consciously disbelieving what I read is a much-practiced habit that I would find hard to stop, so I still prefer straightforwardly-presented arguments to fictional-story arguments.

Apart from that misunderstanding, I do find it plausible that, as you hypothesize, most people need less effort to disbelieve what they read than me.

Further reinforced by your choice of names: http://en.wikipedia.org/wiki/Bertie_Wooster

I'm beginning to feel the style is a bit overwrought. Once in a while, it's ok. I feel as though the style is. Wing overused. Just personal preference I guess.

I preferred the parable, personally -- I think it's just a preference thing. Viewing things as an interaction, even just a sort of Socratic dialogue, works well at least for my mind.

> Socratic dialogue

There are more references to culture as well. See below for a discussion of the Sesame Street (or was that "It's a Wonderful Life") names.

I agree with you on the preference, but I'd like to add that sometimes a format preference exists only as a way of allowing the author to express their ideas succinctly.

As much as I may dislike the storyteller format of the article, philosophically speaking, I have a practical inability to read other, drier essays. And then there are essays which have no reasonable usage of paragraphs and sentences to encapsulate or describe ideas, etc. Compared to those, I would pick a storyteller format.

"As much as I may dislike the storyteller format of the article,"

Thinking about it a bit more, there is nothing wrong with the story format. It is just that (I think) it doesn't work in this case.

The story with "He who is without sin, let him cast the first stone" in probably better than a bald statement of "don't be a hypocrite" (or whatever the moral of the story is supposed to be). But when you are hearing the story for the first time, you are drawn into it and held there till it ends and then you snap out of it and you are back in the real world.

It is just that in this case, I, the reader, was made aware that he is reading a story while I was reading it (vs being sucked into it) and every time a point came up I felt like I was being bludgeoned with it.

But then again, I thought "Godel, Escher, Bach" was pretentious and wordy, so it is highly probable that I just have weird tastes.

Again, I don't want to harp on this too much. Just offering some feedback which may (or may not ) be useful to Reginald.

I agree with your nitpick, but he almost makes up for it by making me read Ernestine's first sentence in the voice of Ernie from Sesame Street. (I assume that must have been intentional - I'm incapable of not doing that with a sentence that starts with "Bert,")

yes, something like that. I find the style much more natural and less grating. The 'parable' format 'feels' (to me, purely subjectively etc etc) like chalk screeching on blackboard, obscuring the (very valid) substance of the argument.

Or maybe it is just a matter of better technique. There may be a way of telling a story to make the same points without the reader being jerked out of his involvement with the material,and being made aware he is reading a story. I don't know.

Socratic dialogue is a good way to move an essay along under the guise of a narrative. I wasn’t bothered by it, even though I usually prefer something more direct.

Look at me outwitting these fictionalized characters I've created


Here are some interesting ideas I have.

Stories are powerful and can aid in remembering and understanding the message - but can be taken too far. For example I found the scenes of the lead character's marriage problems in 'The Goal' quite off-putting and unnecessary.

It actually helped me visualize the conversations better and follow the thought process thinking about them as Sesame Street characters. I don't know why.

This is the opposite of my experience. When we greatly narrowed the pool of applicants from "people who want to work on live video" to "people who want to work on live video for gaming", we saw a huge uptick in how many people were interested in working for us.

TwitchTV is more attractive for programmers than Justin.tv ever was. There is something to be said for appealing to a smaller group of people more strongly.

Great comment. May I suggest for discussion the following proposition:

There is a difference between narrowing the pool of applicants by being specific about things directly relevant for the job and narrowing the pool of applicants by being specific about things only indirectly related to the job.

“We’re looking for Haskell Programmers” is not the same thing as, “We like to hire MIT Graduates."

This is a HUGE difference. It makes the job ad go from we want "someone good" to we want "someone with skill X". If the manager of the project isn't competent enough to know what they are hiring for (skill X) then that is a red flag.

If you need to filter the applicants more then ask them to answer a question on their approach to a common problem or provide a code sample whichever makes more sense for the particular scenario.

That seems to be less a narrowing and more adding information to candidates about what the job actually will be. You've just added candidates who want to work for gaming and are able to do live video to the pool of people who can do live video and don't really care what kind of video it is.

Providing accurate information about the company allows job seekers to self-select, increasing the signal, and offering an interesting application is far more likely to attract top talent than advertising for code monkeys.

Heh. My wife was turned down for a product management position because she did not send a thank you note. She forgot because she was (we were) so excited about the position.

The hiring manager went back to the recruiter asking for somebody else "just like" my wife.

(Loved the conversational format. "Bertie Wooster" is an inspired choice for that style of hiring...)

How did your wife find this out?

Nicely done. Lots of good things here. “I measure. Premature optimization is the—Oh, I get it!” where the lightbulb comes on.

And lots of fun little bits like Mark Fidrych http://en.wikipedia.org/wiki/Mark_Fidrych.

This is exactly what we've been thinking about for the last year while we've been building http://skillsapp.com. Exactly.

Love it when lucid, articulate writers take my mess of a brain and put the right words to it.

I took a look at skills app -- I like the approach and the clean layout, but a couple thoughts from this hiring manager:

* Most of the really good devs I know and hire do not bother with easy metrics like number of tweets, followers, or StackOverflow points. They are perfect to paste together on summary reports and look "complete," but their absolute values or essence don't mean anything.

* The high numbers on public sites seem to be for two classes of devs -- celebrities, who you already know are celebrities -- and people with way too much time on their hands (if they don't work for an open source company, which most people don't). Most people have average values. If someone is on LinkedIn, I'm more interested to see if they have X hundred followers per years in industry up to some maximum lifetime value. I generally ignore recommendations.

* See http://news.ycombinator.com/item?id=3771286 for the discussion about what the number of points actually measures on SO, for example. It's a great site, but it's struggling to handle both breadth and depth of material well. High numbers does not necessarily correlate with expertise, just dedication. Maybe I want that skillset for a customer service rep, but I haven't yet wanted it for an engineer.

* I have shipped 20M loc in my career in 32 regions, and none of it is available on github or sourceforge. Most engineers are like that -- again, the public numbers are biased to certain individuals. Maybe there is a way for candidates to quantify the projects they have worked on?

* What I would love is a way to automatically assess FizzBuzz on candidates. I know there are some sites like interviewstreet.com that try to do this, but they don't yet have the critical mass like linkedin. And I fear, the moment they get critical mass then they'll become a new SAT or other standardized test that becomes too easy to game.

Just FYI, we've been working hard on completely revamping ur github visualizationns to be a ton more meaningful. The current site is very much our MV(?)P.

We've thought about automated coding assessments but for where we are right now, it doesn't feel like the right direction to swim in to get to viability. Any kind of exam this early in the hiring process will sour the best candidates on applying. If you are a solid developer with a good track record, chances are that you wouldn't want to work with a company that can't figure that out about you with a brief googling. Anybody using that sort of tool to replace resumes is locking themselves out of the top talent.

Finally,mwe've definitely been thinking a lot recently about moving to a model without any kind of scores—just visualizations of data that help you figure out who a person is, maybe get a little bit of other personality in a way that resumes will never give you, and help you make that quick move-forward-or-not decision. We're not sure if scores really contribute something to that, and we'd love to hear what you think.

Thanks for sharing your brain (and experience) with us!

We don't think number of tweets or followers is a relevant means of assessment at all—quite the opposite. Ashton Kutcher is not an interesting candidate for a rails job, and that should be reflected in our report for him (were he ever to apply for such a position.)

We obviously gather a lot of metrics (hey, storage is cheap) but the ones we actually use in our scoring mix right now are tied to two simple concepts: does this person care about their craft, and do they enjoy any amount of professional respect for what they do.

We aren't offering shoe size; what you need in early-stage hiring decisions is an indicator: something more fast than perfect. Resumes suck at this because everybody is trained to write sterile, "professional" resumes stuffed to the brim with keywords. We can tell a much more interesting story—today!—with the kinds of data that most developers in our industry are already sharing. SO reputation isn't a story, it's a data point. What tech people ask questions about versus what tech they answer questions about reveals something more interesting. They know Python very well but seem to be exploring JavaScript? Interesting. Maybe a hybrid in the making.

Skills isn't for everyone and every industry; it's for one industry and a very specific breed of candidates that has this kind of publicly-visible track record. We think there are enough companies that are hiring in this space that there's a business to be built here now, and the Internet trends towards more public data. Do we really think that we'll still be using resumes in ten years to assess whether to spend more time on engineering candidate X?

My resume isn't like that, and I think that's why I don't have any problem finding jobs. My resume tells the story of each role I've had, including concrete examples and metrics of success. I think your site is a perfect example of "lucky" candidates winning over unlucky candidates. A bunch of data probably unrelated to paying employment that a certain, lucky, subset of developers happen to score well on while others, especially those who traditionally hide on the Internet, look really bad in comparison.

A point of feedback - I write a lot of code that gets used by lots of people, and I don't do any of it in a social fashion because I'm entirely uninterested in creating a brand for myself as a developer. All of these metrics you're talking about would screen me out, whereas a simple "created and scaled FOO with BAR set of technologies, used by 100,000/1,000,000/10,000,000 people/month" on a resume would probably get a good amount of employer attention, for good reason - that's an indication of a real full stack engineer who has faced a gamut of real problems. It's not as easy to quantify, but you should probably take that kind of thing into account, because it's a lot more meaningful than the number of people signed up to receive my quips about how much IE6 sucks or how many side projects I've open sourced.

Perhaps I can try to convince you of our long term vision: developers increasingly take their work online, which results in a mountain of professional data. A lot of it is meaningless, but some of it can be woven into interesting stories.

We're still trying to find the best approach to this, but in essence, our mission is making sense of this data. Some of this will have nothing to do with popularity - say, we might give you a concise overview of someone's code or professional thoughts. Other metrics will use social activity only as a rough validation. For example, if someone has 20 watchers on GitHub, they're definitely not a celebrity, but they have crossed a very meaningful threshold of "someone cares about this person's work".

Does that sound like a good direction to you?

Sometimes developers don't have a choice about putting their work online--many large companies actively discourage (or prohibit) their engineers from participating in any meaningful way in open source projects.

Want to post your personal hacking online under your real name? Nope, sorry--"everything you do belongs to the company, and we can't take the chance that you might accidentally post some uber-valuable trade secret." So rather than risk losing the job, you just find some other, not-publicly-visible way to spend your time.

Maybe this group of developers isn't viewed as interesting to many employers, and if that's the case my argument isn't worth much.

We know, and that sucks. Let me ask you a question though - developers who can't put their code online, will some of them not engage online otherwise? Say, consume professional content on twitter, post on HN, or answer questions on Stack Overflow?

Our goal is to look at any kind of professional activity online, not only code. What do you think?

I'm not inclined to do any of those things in a serious way, much less in a way that I'd call professional. I post on HN sporadically and solely for my own amusement, and I don't know that any employers would find my history here relevant in any way.

I don't really get into the social media aspect of development even when I'm allowed to contribute to open projects, so I doubt I'd be very visible (or very attractive if I were) via any social media outlets. Whether I'm the norm or not, I don't know.

Edited to add: By the way, I do appreciate that somebody's out there trying to help developers be more easily visible for doing such things, so don't take my comments the wrong way. :)

Thanks for the edit :)

I think the problem I have is that it is not the case that "developers" are taking their work on line. It is the case that "some developers" are taking their work online.

If all you care about is that subset of developers, I'm sure your approach is fine.

I get you. A lot of developers don't take their work online at all. But there are probably a hundred thousands developers who do take at least some parts of their work online.

Perhaps speaking more practically, the market for developers is segmented. Not all companies want to hire all developers, and some companies specifically look for developers who do take their work online. It's those companies we want to help right now.

Take us for example. We just hired Yuval Adam (http://y3xz.com/) for a project, and his online activity had a huge part in raising our interest.

Check out his site. It's essentially a collection of links to professionally relevant online content. Sure, these are no guarantees. If you were hiring a developer though, wouldn't your interest be raised?

Wow. That app is really bad for people like me.

I'm not on GitHub because I code for my employers. That work doesn't get put out there like that.

I don't tweet much at all about the languages I code in or cool bits of code I just wrote or any of that. I'm one of those weirdos that tweets pictures of my lunch and funny crap my 4yr old says.

I'm "on" StackOverflow since I have a log in... but I rarely comment on stuff and have never posted a question. I probably should I suppose but I don't.

I don't think my candidate brief on Skills would be a very accurate indicator of my actual skills.

We know, and we're working hard at that problem. Here's two thoughts:

(1) It's not our goal to make candidates like you look bad, not at all. When candidates have professional stuff online, we think employers should be interested in getting a good view of it. That's all we try to do. We wouldn't give you a bad score - we'd give you no score at all. Essentially, we're telling employers: "we can't know anything about this candidate, you should look at other stuff".

(2) I checked out your HN profile, and you have a ton of comments up. So, you do interact professionally online, at least in some way. I'm curious to hear your thoughts - say you applied for a job, and we did our best (algorithmic) job to make your HN footprint interesting to employers - what would that do for your attractiveness as a candidate?

After rereading my comment I think maybe it may have come off harsher than I intended. But I see you understand my message. And I don't for a minute think you would intentionally try to make people look bad. But this type of assessment definitely favors a certain type of person. And as someone else pointed out is kin to tossing half the resumes straight to the trash. Maybe I'm more old school than others but I just don't see the need to have potential employers using my online interactions on forums (and whatever commenting on HN is viewed as) to asses my skill. My HN footprint is probably not something I would want included either. Not that I think it would show me in a bad way. I just don't think it adds anything about my ability to do the job. Just like I'd not really want them checking out my Facebook (also a quasi-hot issue recently). The fact that I had a debate the other day with someone here about my use of "have had" is pretty irrelevant to any job I would be looking at. I'm not sure how you could mine any useful or relevant info from my HN posts.

To be quite honest, if I found a job post that wanted me to go fill out a profile on Skills I would probably not do it unless I was getting desperate or I really wanted to work for that particular company. I would move on to the next job post.

One thing to consider: I read that you're geared to employers at the moment and that they would be funneling candidates to the site as a way to apply. I would be more inclined to fill something out if it was just me doing it as a way to make a summary of me disconnected from any particular job app. I don't know how your system works right now, but I would be hesitant to just fill in the info and hope the results are in my favor. I'd want to see my brief and have an opportunity to adjust it before letting employers see it. But I imagine that dilutes the meaningfulness of it. Obviously if a person entered all that info and found their Twitter presence is not as good as they thought it would be, they would just remove that. But you can probably see where I'm coming from.

I understand, and you raise important questions. We think about these things quite often, and we're very much prepared to feel our way to a product that works. The big question for us is - is online professional activity valuable for a large enough group of employers and candidates? We think the answer is yes, but we can't be sure until we (or someone else) builds a successful business around it.

Well-made logo and landing page but I doubt that the idea will work at all. There might be some correlation of let's call it "social media activity" and skill. So, somebody who blogs a lot technical stuff, tweets about it and contributes to open projects on Github often is surely somebody to look at—but that's just it. Social media activity is a nice to have and btw can be checked with a few clicks, why do I need a dedicated app for that? There's so much noise in social channels and generally you find many people there who look rather for attention than real long-sighted achievements and it's hard to recognize the real gems in that noise.

There are many using social channels very rarely or in read-only mode. They don't because they just don't have time to tweet or their project is just confidential to be public on Github. Rather they work 12 months non-stop and quietly on a project and at the end of this period they raise with their work 2 million or got millions of user or whatever. And THAT are the relevant achievements and signals a recruiter has to identify—real achievements and no social streams full of "buzzword spam and unverified claims" (using your own words).

Glad you like our style!

When you say "there's so much noise in social channels and generally you find many people there who look rather for attention than real long-sighted achievements and it's hard to recognize the real gems in that noise.", could that not make room for a company that aims to do just that - recognize the real gems?

Something that wasn't clear to me - as an employer - what do I get when I sign up? Do you have candidates' profiles like the sample one in the system, or I will have to provide my own candidates to filter through your system to get a profile like that?

Yeah, we're working on a new homepage to make that bit clear.

Right now, you sign up, creat one or more positions. Each has a unique landing URL, and anyplace you'd normally publicize "send us your resumes," put that link—job boards, advertisements, recruiters, etc.

Candidates go through a very, very (sub-five-minute) short form to collect their personal contact details, their recant social networks and a 500-char-max tell-us-about-yourself and why-are-you-a-good-fit-for-this-job. You get a brief, and the rest is up to you.

We definitely need to make that clearer. Right now, we're focussing on letting companies make better sense of the candidates they already have. Can you tell me your thoughts on that?

How do you measure "passion" and "respect"? And how are the twitter tags determined?

If I'm a job seeker I want to present myself in the best possible light. Allowing a 3rd party to rate my "passion" and "respect" without any knowledge of the algorithm would keep me from using the service. If you did publish the algorithm it will be gamed just like search engines in a matter of hours. You might want to consider suggesting tags and keywords and allowing job seekers to select the ones they believe apply. I would consider dropping the "passion" and "respect" part as they may open you to future legal action.

Right now, we aren't doing any kind of indexing. If you apply for a position through our service, you give whatever information you want about yourself, and we check out your public data on those networks. If you don't want to share your twitter or stack overflow, leave those fields blank.

We don't publish the details of the algorithm but in effects it would be fairly difficult to game. Either you have a solid history of consuming and contributing relevant content or you don't. If you are able to manufacture that fraudulently, well, chances are that you're somebody interesting to talk to.

I didn't actually see any way for me as a developer to use your service. Signing up for the beta looked like a way for an employer to sign up.

Right. Our current goals is to help employers with their existing candidates. I have a question - would you like to be able to get a profile on skills? If so, what would you do with it?


I'm more curious as to how it finds me. I guess these days everyone's various accounts are pretty interlinked, and you can mine 80% of data from github and twitter.

That's correct. We're a tool for employers.

We're thinking about allowing some form of "self indexing" but we aren't there yet.

Hey! I'm David, the other co-founder of Skills. We're been mulling over our scoring for a while, and at this point we don't consider it a fundamental part of the product. Within the next few weeks, we'll be canning 'passion' and 'respect' and replacing it with something much simpler. In the future, we might drop scoring all together.

Our mission it to extract the most meaningful data from someone's professional activity online, and we're currently exploring how to best do that. If you're a job seeker, it's our goal to show employers the best version of you.

Question: do you think your current activity online can make you look good to employers? If so, what would you most like to show them?


I think that online activity like contributions to forums, twitter and github could be good indicators of a quality employee. However, I know many really smart, productive people who just aren't participating online in a significant way. If you're hiring for a community liaison then online activity is a critical indicator. If you're hiring a network engineer who watches log files and traffic all day online activity may not represent their "best self."

Agree 100%. Our approach is "if a candidate has some data online, we'll help you make better sense of it. If they don't, there's nothing we can tell you."

http://help.skillsapp.com/kb/skills-basics/scores-passion-an... is about scoring.

Twitter tags are based on lists, but with some amount of tokenization and stemming so we count "djangonauts" and "Django" as contributing towards the same tag.

i know a guy running a software shop. he's an active participant in the local meetup community, and he cares about people. it's no surpise that he has all sorts of talented people trying to work with him, and not enough funding to hire them all. (at least, i think that's why he hasn't hired me ;)

i also know a few other people running software shops, who don't participate in the local meetup community. none of the best local developers even know who these other employers are. i'm sort of sick of hearing them complain about how hard it is to find talent.

the flip side of this, is that if I as an engineer want to have a steady stream of future opportunities with the best employers, I need to make myself known to them, by, you guessed it! making myself visible in the meetup community, and internet community at large.

ez game.

Isn't that just another filter for luck? You're filtering out candidates who don't know about the meetup, or have kids and can't make the meetup's evening hours, or prefer another meetup that happens to be at the same time elsewhere, etc.

I'd tend to agree since that (having kids) applies to me. There's clearly a filtering effect, probably eliminating more experienced people.

However, he apparently has no shortage of suitable talent available when using this method.

Not at all. You're saying "yes" to something instead of "no". You may go to a meetup, you may meet people through friends of friends, and you may place an ad on Craigslist. All of these things open doors to more people. The filtering was closing doors.

I thought the point was that people don't even apply because they didn't hear about the job. That's not filtering, that's just not casting an effective net in the first place.

When you have a surplus of people who can do the job, then you can afford to filter based on luck. In this case, limiting interviews to people like you who you will end up being social with, instead of people who can just do the work.

The problem, of course, is that the odds are good he's hiring people who are less skilled than some people he's filtered out. In a perfect market his product would get beaten by whoever hired those better candidates he ignored, but we live in an incredibly imperfect market and it probably won't make a difference.

Mostly you're adding candidates who like programming.

Yes, and if you get really good candidates (by going to meetups and being a nice person), then you can afford to do that.

I don't think he was saying exclusively hire from the meetups...he was saying to add that to your recruitment portfolio. There are a number of developers who aren't looking per se but by engaging them in a more social environment than a job board, you have a chance of catching their attention about the new job you're hiring for. The biggest thing that Raganwald never touched on is that many of the best developers won't even apply to your job under normal circumstances because they're content where they are. Getting involved in the community helps engage those people.

There was a question on Programmer's.SE asking the best way to recruit developers. That was my exact answer as well. http://programmers.stackexchange.com/questions/47312/best-wa...

The article summarizes the difference between British and American college entrance system as well.

When you apply for CS in Britain (and I'm talking about Oxbridge), they care only about your experience with computers and mathematics.

However, in HYPMS [1] the qualification is based on your irrelevant grades and your extracurriculars. You might be the most active guy and get a place but a poor programmer.

[1] Harvard, Yale, Princeton, MIT, Stanford

In the US, you don't apply to a school for CS - you just apply to the university as undergraduate. It's quite common for undergraduates to not know what they want to study as freshmen, and to change their minds over the course of university.

That being said, HYPMS do want you to have good grades overall and solid extracurriculars, it's immensely helpful to be world-class in some activity; the particular activity doesn't matter as much.

That is not true at all schools in the US. At least not when I applied around 10 years ago. A lot of schools, especially the top tier CS programs told me that I would not be allowed to go in undeclared and then transfer into their CS program. I had to declare as a CS or I wouldn't get in. I knew some people were able to get away with not declaring and transferring in but I didn't want to risk it.

10 years exactly, or a bit more than that?

The reason I asked is that CS enrollment changed dramatically after the .com bubble burst. When I applied to CS a little more than 10 years ago the bubble was in full swing, and only the top 1/4 of applicants to the program had a hope of getting in. Transferring in was a no-go.

2 years later enrollment had dropped so low that the quotas were gone and transferring in was easy. Application numbers, as far as I know, still haven't recovered to bubble levels.

Ah interesting point. I came into my CS program the first year after most people considered the bubble burst in 2001, (also obviously when 9/11 happened). Only a few companies were "left alive" so to speak so maybe my year was the last year that they did this.

These days Stanford, at least, has an active program trying to convince non-CS first-years to switch their major to CS!

It's been a few years, but when I went freshmen at Stanford weren't even allowed to have majors. When did this change? Link?

I tried to transfer into CS in 2004. The policies from the bubble had not yet been revised and so it wasn't possible. I received a degree in "interdisciplinary sciences" but had all the credits required for a CS degree (and only 4 credits shy of a physics minor, which was my original major).

When I applied around that time, CMU was the only one I applied to that required that I declare CS, MIT didn't, Harvard didn't, and I don't think CalTech did either.

tl;dr: My recent observation is that for US universities it is better to be jack of all trades but master of nothing than having some degree of (relative) expertise.

You do not declare it officially and yes you have the flexibility to change it but every application asks you what major you want to study.

Besides by nature if you are already decided and experienced on the subject it is ridiculous to me to consider another applicant. Let's consider two candidates:

1) Super social kid with strong grades in all subjects and a good debater and organized few charity projects (at least on the paper) but no real programming or above average math experience.

2) Kid with good social skills with top grades in mathematics, physics, chemistry, cs etc. but slightly lower secondary language or history grades. This kid also has a Github account with quite a few commits and is hacking for few years now.

Now my recent observation is that (and not only for CS but for all other subjects too) if these two candidates declare that they want to study CS, then the first one is preferred in US and definitely the second one in Britain.

Now I understand not declaring your major at the beginning and being undecided but how can one eliminates the ones who already demonstrate work and passion on their subject but accepts the ones who are undecided and have not done on any specific subject.

As a result, American universities basically depend on "luck". They think the kid might be good based on generic projects, charity work and conferences.

By the way this is not a personal issue. I am accepted to the school I wanted to be in at the beginning but this is an observation through my high school years for over 200-300 well suited candidates for top ranking universities.

For top schools, the second kid would be preferred - assuming that by "slightly lower grades" you mean a 95/A- instead of a 100/A, and replace "hacking for a few years" with a medal in the International Computing Olympiad, high placement in math competitions, etc.

This is a very high bar, and there are many talented programmers that don't do well in classes they don't enjoy and don't participate in competitions; unfortunately, college admissions officers don't have the expertise to look at a student's github account and judge the quality of their commits.

Exactly! (for the second part)

I mean why aren't they qualified? Cambridge is getting more applications than each of the top schools in US every year. They interview almost all of them (80% to be precise) and still announce the results in January (though you apply earlier). It is certainly doable and it is more accurate.

I do not get this admission officer business not even a tiny bit. I mean if you are undecided and do not fit in any criteria then fine let an admission officer decide on your fate but if you specifically insist on a subject then why not be judged by your future professors. These professors can certainly have half an hour interview[1] with the candidate take a look at your candidate's account.

If professors are super busy let graduate students do it or researchers do it. These three groups of people will have a better understanding of a well suited candidate. Think about it this way: You're hiring programmers and you have one of these two options: As a programmer consider their applications yourself or just tell a nonprogrammer to do it. You'd argue this analogy does not work because one does not have to declare his major and you are right if you think about it that way but if you consider a huge corporate structure and a policy, which each and every department should obey then you will see why this makes sense for a university too.

Obviously there are criteria that MUST be considered during application process other than your skills and I am all for that but let candidates be filtered by actual graduate students or professors or researchers first. Why? It is because in any case they will have a better intuitive understanding of being a student in "X University" compared to admission officers who are "told" what should the students be like plus they have the degree of expertise to judge the student on their specific subject.

And for the first part, you do not have to have olympic medals to get a place in undergraduate division of these universities. Maybe a projet or two but the competition is not THAT intense. I mean there aren't hundreds of olympic students (relevant olypics) applying to subjects every year anyhow AND believe it or not few years of hacking can be more useful than an olympic medal. This is another discussion what I want to point out is my observation strongly disagrees with your interpretation. I tell you 90% of the time first kid is preferred over the second kid one.

[1] Please don't say it takes too long, again, in Oxbirdge, each candidate has two interviews for AT LEAST 30 minutes with four professors in total.

I wrote something very similar today in a response to another comment on another article..., also about the british/american divide (and it might also be about Oxbridge)


The quoted parts are actual quotes from the individual application processes, for what it's worth.

So the most efficient interviewing process for the employer is also the nicest to candidates? What a curious coincidence. Are you sure there was no wishful thinking involved in writing this post?

Right now it's a candidate's market (unless you actually suck).

The best chance companies that would like to hire me now had was seven years ago when my resume was thin and unconventional but my code was solid. Now that my background conventional (except for the lack of a related degree) they are falling all over themselves, and I am quite content in a brilliant job making more than most of them are willing to pay. I'm more skilled now, sure, but I was a good junior developer then. The fringe company that took a risk and hired me despite my resume got more than their money's worth.

You are welcome to be less nice to candidates. Let us know how that goes for you.

I totally agree.

If I understood your comment, basically, "treating candidates with respect - especially inexperienced/unconventional candidates - allows hiring if you already know how to find great candidates"

I've seen a ton of benefits to treating candidates _and_ employees well.

• Many employees will prefer to stay in a job where they are treated well (despite taking a hit in lifestyle / pay) [1]

• Establishing a "social contract" with your employees provides some protection against managers who might drive away high-value candidates / employees

• During tough pivots (the current economic climate tends to produce this), a core of effective employees can execute while mediocre employees will flounder

[1] http://freem.vmth.ucdavis.edu/~saintly/bio/portrait.html

Would you please email me? I have a few questions for you re: your resume.

My email is in my profile.

It sounds more like it is a less efficient process for finding employees, and seems to require someone sharp to find the diamonds. It just simply yields the most optimal result.

Given a lack of time, or someone in HR who knows nothing about programmers, this approach may not turn out as well.


I agree it sounds very reasonable. But the article mentions A/B tests. Did you actually do these tests? The heroine of your story has good reasons to believe that the described interviewing process is pretty good, but why do you believe that?

Sorry, my first reply added zero bits of information. Yes, I have absolutely managed hiring ads exactly the same way one manages selling things online, right down to split testing different ads, managing keyword buys, the usual yadda yadda. It’s tough, because there is so little signal.

It’s also harsh because the best source of good candidates are personal contacts, which violate just about everything in the post. Which suggests that the post is really only about one very specific thing, managing the inbound funnel generated by ads, cereers@yourcompany.com, and so on.

Thanks, and sorry for asking a harsh question :-)

Your recommendations are sensible. It's curious that they seem to suggest that coding ability is close to a one-dimensional measurement of the candidate. Do you think we could measure the largest principal component of coding ability with a standardized exam, like IQ? That would save everyone the hassle of interviewing, and also ensure non-discrimination as a nice bonus.

I don’t personally think software development ability is one-dimensional, but the post was intended more as a caution against an anti-pattern than a how-to for interviewing. But since you ask about non-discrimination, this was on HN recently:




(Warning: Heavy on the subject of Race, IQ, Reverse Discrimination, and other pet topics).

Aside from the Sesame Street names, a fairly decent read. Many years ago, I decided to stop writing my résumé to each recipient and just let my List Of Things speak for itself. I don't want to work for someone caught up on details that are irrelevant to the jobs I'd be doing.

"Bertie Wooster" is a character in the Jeeves books. Ernestine Anderson is a jazz & blues singer.

“Bert and Ernie” are George Bailey’s best friends in “It’s a Wonderful Life,” which is where Jim Henson drew his inspiration for names of the Muppet characters.

And all this must have led our author right to Oscar the Grouch for one more name in the narrative.

The concept of not hiring unlucky people reminded me of Larry Niven's Ringworld.

My takeaway from the article was that Ernestine wanted to hire a good programmer and she focussed on just that. She did not consider the established conventions on what to do in such a situation.

Interestingly, I have observed this to be true in few other situations as well, where established conventions and processes are actually an hindrance rather than help.

Slightly off-topic: in Larry Niven's Ringworld novels, an alien race (Pierson's Puppeteers) secretly influences human genetic selection to optimize for luck.

With severe unintended consequences for some of the protagonists, as I recall :-)

In reading the article I was wondering if Teela Brown would be get a call or have her resume thrown out, I suspect the latter.

After a couple years trying to hire developers I feel bad heuristics have a tendency to become institutionalized if for no other reason than: if I admit this is a crap heuristic, that means I've been doing it wrong for the last 10 years--no way!

As a tangent, I find it astonishing that no one ever mentions that all these arguments are true for the guy or gal sitting across the table. She is using heuristics to find an employer based on much less information and in many cases is wrong in accepting an offer. This too has a real cost: low morale, productivity, and high turn over. I find this problem rarely discussed.

This is how I've been hiring in the last 3 years: I created a business by myself. As business grows, my goal is 1) to amplify and multiply my skills, which made this business possible. That way I can delegate work, be in many places at once and do things faster and better. 2) to patch and overcome my flaws, which I'm self-conscious enough to know, and fear that they could hurt business.

So when I look through resumes and interview people, I look for signals that tell me this person can (or has the potential to) either emulate my most demanded virtues, or provide wished-for aptitudes onboard. So, if I read a resume with spelling mistakes, I think "I would never allow me to be this sloppy" -- I think it sends a message of carelessness that may put in question the quality of the work being done -- and I throw the resume away. On the other hand, when I meet a person that shows me a code sample with a well-organized and thoroughly commented api class hierarchy, I think "I wish I was like that!" -- and that's a keeper.

Hence I don't agree with the article when it says to "ignore little theories". Since I believe there's no universally-accepted, truly objective way to effectively spot strangers that will make your enterprise succeed, I choose to clone myself: me who is undeniably the right person for the job, otherwise this company would never launched in the first place. Then, bit-by-bit, I "genetically engineer" the selection process to create this better super-self (the team) that will take us to the next level.

Awesome article. I just came here to submit a note about style: If your text includes a large, multi-paragraph quote, it is common to elide the trailing quote between paragraphs. Including that trailing quote means that the second person in a two person conversation is now speaking. It just confused me at first, because I thought Oscar was the character to say "But it’s dangerous to confuse correlation with causation. And especially dangerous to...".

I'm not sure I agree with putting people who can't put together a resume without spelling/grammar mistakes into the same unlucky group that simply had their resumes tossed by chance. Having spelling and grammar mistakes on a resume is sloppy... not unlucky. At a minimum it indicates they may not pay attention to details when it really matters. But maybe that is just me. Or maybe it just doesn't matter on a resume anymore. I'll admit I've never had to whittle down a stack of 100 resumes... more like 10 so I would never just blindly throw half away. But as I skim them all, the ones with the spelling and grammar mistakes get set into the "second string" pile. I'll give them a second look if the deeper dive into the other pile still doesn't find The One. I've had it work both ways. Some times second string does have The One. And other times second string is never looked at again.

No. One of my coworkers is a terrible speller, and especially so in IM. I haven't seen his resume, but I wouldn't be surprised if there is a mistake or two in it. And he's pretty scatterbrained.

But when it comes to coding CSS or using javascript design patterns, he is awesome. I ask him tons of questions. He is incredibly valuable.

I mean, it's okay for you to keep on doing what you're comfortable with. But do you understand what you're missing out on? You're missing out on great developers, and you're giving people like Reginald & I an advantage.

I am a terrible speller as well. I just take that extra bit of time to correct things with that squiggly line under them. Technology allows me to hide my horrible spelling ability very easily. So it is not so much that potential candidates are bad at spelling (particularly since I am too) but more that they just didn't take the time to do it right. I think resumes are still pretty important documents. Maybe not as important as a patent application or the actual code being written. But if they didn't take the time to do the resume right... what else are they going to overlook when it is important? Just my feelings.

And like I said, sometimes the second string does end up having the one. But if I already found the one in the first stack, then I'm still getting a great developer... just not the one with spelling mistakes. Plus, I'm not even a hiring manager. I review resumes of would-be peers.

My friend had a pretty nifty looking resume, wonderfully laid out and spaced, while remaning very minimalist. He created it in InDesign. Just before I hit the job market last summer, I had a brilliant idea to do a full revamp of my resume in InDesign. I copied and pasted most of the resume from a spellchecked Word document, but I added a word or two directly in InDesign. There was a typo, and InDesign did not indicate anything. It was very slight, and after having stared at the resume for hours, the typo was pretty much invisible to me. When did I find out? After I had sent it out to 5 postings.

Whenever I read/type I often forget shorter length conjunction words, and a lot of grammer checkers won't detect it as a mistake. In fact, once I proof-read an entire email over multiple times on gmail, only to realize that I forgot a 'the' in one sentence after it was sent. Gmail showed no squiggly lines for that error. Grammer checkers often don't go off when you accidentally interchange singular/plural as well.

My resume still got picked up by a lot of places, so either it was impressive, or a lot more people read as quickly/carelessly as I do.

I don't know how exactly I developed this habit, but it could be a by-product of skimming code very quickly, or generally skimming things when perusing through articles/comments.

I'm going to upvote this for just the Sesame Street names. Reading the piece with those names in mind, made this a lot more interesting of a read.

"but there’s no real difference between advertising for a Ninja and throwing half your resumés away because you don’t like unlucky people"

This assumes getting hired by you was a lucky event in their life. In fact, it could very well be unlucky.

Perhaps if they hadn't been hired by you, they would have gotten a much better job elsewhere. Or any number of other things in their life might have turned out better had they not landed this particular job. Or maybe they'll wind up hating the job, and wish they'd have gone to work somewhere else.

Considering someone to be lucky to work for you is very self-centered. Perhaps it is you who are the lucky one to have someone like them working for you, and they the unlucky one.

Hiring managers quoting Knuth? I fail to suspend my disbelief :)

Sir Reginald Braithwaite is one of Toronto's best. Thanks for yet another fantastic article man.

The comments are missing out what to me was the most insightful and central point of this post.

Namely that finding the only candidate who can possibly do the job at all requires a very different approach to selection, compared to when it is sufficient to eliminate applicants any of whom could do the job well.

Raising the talent bar tends to transform the latter situation to the former and thus the advice given in this article is right and valuable.

Can I call bullshit on the claim the 99% of people applying for a given programming are unqualified?

Can I even call total bullshit?

Perhaps I could suggest a further that all this 99% unqualified noise is mostly a bureaucrat ideology epiphany, based on intensifying the usual "I want a Perl-programmer with five years Rails experience who can start yesterday while riding a bicycle under water".

I’m pretty sure the empirical evidence backs up the statistic. The Fine Article links to Joel Spolsky’s explanation of the math:



You know the link post debunks that canard rather than supporting?

Edit: And you wrote the original blog post and you're always on hn. I would suggest reading closely the link you posted.

We can’t possibly be reading the same thing. The post I linked explains that because there is deadwood that never gets hired but applies for every single programming job, every time you advertise for a programmer, you get two hundred applicants, one of whom is decent and 199 are the same 199 that apply for every job.

Therefore, 1/2 of one percent of the applicants for every programming job are qualified and the rest are not. That doesn’t mean that 1/2 of one percent of working programmers are qualified or that you are being especially picky when you reject so many candidates, just that the dynamics of the market ensure that you get a lot of crap resumes when you advertise.

Now, what did YOU think Joel’s article said?

I hoped this article would discuss how to advertise your position to increase the SNR (really, the appropriate-to-inappropriate-resume ratio).

Some things are obvious: if you use words like "ninja" and "rockstar" you are communicating that you want young Rails programmers or something like that.

Likewise if you posted flyers inside a museum, or hid a puzzle in a Superbowl TV ad, or wrote "Programmer needed!!! immediate openings!must be comfortable with WordPerfect" on Craigslist, each of those is going to signal something about your firm and attract a different type of person.

Someday I would love to see something on HN that goes much deeper into those issues: how to pitch your culture appropriately and improve the resume stack before it even gets to you.

Good article, but I found the "hypothetical conversation" format a bit off-putting

If you want to hire a good programmer, get a good programmer to interview the candidate. The interview should take about three seconds: any longer than that, and your candidate's a bust. Real programmers recognize each other on the spot, like vampires. It has something to do with a look in the eye coupled with total arrogance: it's hard to explain, but over the course of my career (30 years) I've found that those programmers I've hired on instinct, just because I recognized what they were immediately, were the only ones who ended up being totally capable.

People like the OP make many mistakes when dealing with people.

They believe by using some kind of systems, techniques and tricks they can find "best talents" and avoid "miserable candidates".

But the real problem lies somewhere else: People have the wrong expectation of people—expectations are always too high and aim for perfection. You can expect perfection from systems, programs, products, services but not from people and thus, you should treat them like this. Of course real talents often deliver this expected perfection but they are rare and usually if you got one it was a lucky hit.

I've heard of the "unlucky resume' selection process" elsewhere. And you were doing good with it, but, sorry, the article runs on way beyond it's perceived point-of-purpose.

Also, when Ernestine says "...I have a much lower signal-to-noise ratio?" She had it backwards, she actually has the HIGHER signal-to-noise ratio. Whereby the one guy has a large group of qualified candidates and can afford to throw some away, she has a one in a hundred group of qualified candidates, thus, she has the higher signal-to-noise ratio.

There's a simple way to hire a good programmer: get a good programmer to interview the candidate. Real programmers recognize each other within seconds: it's like vampires. Something about a look in the eye and total arrogance. Hard to explain. But all the really good programmers I've hired over the years have had three-second interviews: it was just obvious. In my experience, if the interview needs to last any longer than that, you'll end up having a problem with the candidate.

What if correlation is causation? What if discriminating against certain traits cuts the fat more efficiently? What if it's not just about relevance to the task, but about the bigger picture, does the person deserve to be hired, what would they be like to work with, would they fit in with the group.. Why not exclusion for its own sake, if it produces good results? We all discriminate every moment of our lives, down to the finest choices. It is a moral good.

While I enjoyed the article and its message, I found the spelling error on the resume example underwhelming. A professional's resume is the veneer they present to strangers. It's like the login page for your app. Do you want a spelling error there when it is so easy to avoid? It screams sloppy and lazy in the same sentence. Maybe the general quality of professional devs is so bad that sloppiness and laziness are better than the alternative... ?

What is the difference between a spelling mistake and failing to wear a tie to an interview? I suggest nothing except for cultural standards. Once upon a time, they were both punishable by immediate removal from the process. Today one is tolerated but the other not tolerated.

they both signal the same thing: “I meticulously went over my presentation to ensure that it meets your expectations.”

Let’s be clear: I think that everyone looking for a job should present the best possible face, including the appropriate spelling and grammar. It’s just that when hiring, I can easily overlook a spelling mistake if I think the candidate may be that one in one hundred.

ANOTHER THOUGHT: To be fair, spelling mistakes are a lot closer to the line than cultural fit or politics or things like gender and race. You can’t change your race to suit the job. Things like your politics are changeable, but unless you have a strong ethical objection to the company’s line of business (I have declined to work on contract with a Tobacco company), it’s in society’s best interests for you to be able to keep your political views without being swayed by your employer.

Spelling on a cover letter is a different matter. Most people don’t have a disability that prevents them from getting it right, and there is no greater benefit to society in forcing employers to ignore spelling. It’s a matter that is narrowly restricted to your interaction together, so it isn’t asking a great deal of a candidate to get the spelling correct.

So, I guess I don’t have a violent objection to your point of view, even if I’m espousing a different one in this post.

I'm not quite sure I follow.. are you suggesting that not wearing a tie would mean "removal from the process", even today? I've never worn a tie to a programming interview and generally it seems most experienced developers don't, at least in on the west coast of the US

Once upon a time, not wearing a tie would have been unacceptable in a job interview. This is no longer the case and the world has not collapsed into a heap of smouldering cinders. I believe the point was that a few spelling mistakes should not disqualify someone from being interviewed for a programming job.

As a first time entrepreneur hiring out interns I have had a very a telling experience. I did all the classic mistakes of basing the candidacy on certain parameters or keywords on the resume - though I believe its their work not what they claim matters. I did nt meet with much success. One of the most insightful things I learned in this process was to ask the candidate to contribute a sample piece e.g. a small piece of his work for a fictional project. This filters out many of the non-committed types. Some look bad on paper and even fail the screening questions bu their work again is revelation. We also upped the candidates commitment check by asking them to dial in and pick a screening date, fix up a deliverable (sample only) and meet a deadline. We filtered out all non-serious, non-committal candidates and those that came after this elimination by virtue have turned out to be very committed. They are far more passionate. My lessons were simple 1. Measure and value their commitment 2. Value their work and through that their passion and sincerity 3. Challenge them with adversity and discouragement - watch closely on their reactions.

After this you end up with great people. Btw - we were hiring creative interns for copy-writing job (nothing fashionable like programming). So there you go my experience on this and your article strikes a high resonance with me for this reason.

To me, writing a document without running it through a spell checker feels like checking in code without compiling it. I think I agree that it shouldn't automatically disqualify someone from a job, but it also feels like something you have to go out of your way not to do.

My opinion on spelling errors as an indication of quality of the candidate has changed. I use to use it as a first pass approximation to polish, professionalism and to a degree education and presentation.

I came to the realization that I'm not hiring writers, PR people, or salesmen.

All things being equal, I prefer someone that can spell, but at the end of the day - my best performers bring a much bigger skillset to the table.

Minor spelling is a nuisance, but no longer a show stopper for me... with that said, maybe I'm just looking for more people like me. you will notice my disregard for proper formatting and spelling in some areas as I honestly have better places to waste my time.

If you want a DBA or release manager, that's a good point. A release manager should be professional to the point of OCD.

If you want someone who can rapidly prototype, fix bugs, optimise stuff, and work on a team; perfectionism might not be so important.

You simply can't "grill everybody hard" just to test for their success. The goal just can't be to knock out "luck" totally. The problem space is just too big to handle. If you can throw out 50 people out of 100 who are very likely (let's say 90%) to not include the one you are looking for, then your chances to find the one increased from 1% to 2.25%, which is more then double your chance with 100 people and also a lot less work.

Does anyone else hate how every job advert says they need

- excellent communication skills blablabla - 'team player' - able to work in a fast-paced environment - bunch of other generic 'skills'

Of course those things are important to varying degrees in different jobs, but having on the ad is pointless since every other ad asks for the exact same thing. I find it off-putting straight away because it suggests the company is happy to stick to idiotic norms.

I was with this article until the very end. You can't judge a good developer via a tech interview. It is too short. Basically, you can't judge someone until they have the job. And that isn't possible, so... despite what you are trying to do, you are still hiring "lucky" people, and lucky CS grads at that. Have fun with that.

I do wonder why people advertise for “rock stars”. What is the thinking here?

Is it to screen out people who have some self doubt? “Hmm, I think I'm pretty smart, but I don't know if I'm a rock star. I think I better avoid potential embarrassment and look elsewhere”.

Is it code for “seeking brogrammers”?

It is to find naive people who are prone to flattery and manipulation. The reason people want to hire people who respond to "rock star" is that they want to manipulate that person into accepting well below average pay and far above average hours. In reality it enrages developers who see right through the patronizing attitude.

I never really understood this either. Seems kind of childish to me.

The first ten times I saw this article I ignored it.

Now I'm glad I didn't.

From now on, I won't ignore unlucky headlines.

Just this morning, I was thinking about metrics. It should be possible to develop a set of metrics for code quality that would apply to apps using particular languages and libraries. These metrics would be general and very imperfect, but they would still have some utility. For example, it would be fairly easy to develop an automated metrics program to run on a given Ruby on Rails app. Things like depth of nesting in code, reported errors per statement, average lines of code per function.

What if there was a website where you could download a metrics app, which would take the measurements, then upload the data to a web app, where someone could login and see how well their shop stacks up in comparison to the general population of shops using the same language and library?

This would give hiring shops some way to quantify the maturity of the shops a prospective hire has worked.

No No NO. There really Really REALLY has never been a satisfactory set of metrics for code quality. Not for COBOL and not for rails.

So the Rails community is free of deeply nested spaghetti logic and long run-on cut and paste methods? There are no Rails apps with overly deep class hierarchies?

Metrics are not so much for code quality as to flag widespread code suckage. I still think this could benefit hiring.

Probably really easy to go overboard with that but interesting idea.


Lower lines of code definitely correlates with lower defect count.

Rehashing the famous story about Napoleon.


Hiring is hard. Try not to judge candidate's professional qualification with their personal lives. And try not to let' your indirect measurements to override your direct measurements.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact