What I like about the concept of the mythical "top 1%" is that <i>every</i> company must hire <i>only</i> these cream-of-the-crop developers.<p>It's quite presumptuous to believe that you could convince someone with a PhD in CS and probably at least a bachelors in Math to work on your web application. This is someone who could literally be considered in the top 1%: think Norvig, Sussman, etc. The truly <i>great</i> programmers who taught the rest of us everything we know. Let's be realistic -- your company may be innovative and fresh in the marketplace, but the technical challenges you're likely to face are hardly interesting to these sorts of programmers at the stratosphere of technical achievement.<p>My advice would be to forget about hiring the top 1%. What you're really looking for is someone who is serious about the job and has their head on straight. Someone with practical sensibilities and whose ambitions align with the goals of your company. It doesn't take a genius CS PhD to do good work.
<i>In fact, one thing I have noticed is that the people who I consider to be good software developers barely ever apply for jobs at all.</i><p>Good point. The best developers I ever hired were (a) already working, (b) not looking, (c) referred, and (d) without a current resume.<p>Therefore, the people who I consider to be good software developers probably don't have a current resume.<p>Therefore, the top 1% of good software developers probably don't have a current resume.<p>Therefore, if you have a pile of current resumes, it probably includes none of the top 1% of good software developers.<p>Therefore, if you're hiring from current resumes, your probably <i>not</i> hiring the top 1%.<p>[The only thing worse than sloppy probability and statistics is sloppy logic. But that's OK, because I'm not in the top 1% of either.]
One great take-down of this kind of thing.<p>Another point to consider is that there's more to people than just good or bad. Sure, some people just don't have the skills they need. But there are a lot of situations where someone can be great at one job and terrible at another <i>depending on the fit</i>.<p>The posturing about "the 1%", "A-players" and so-forth misses the idea that you want an optimal <i>team</i>, not magic people guaranteed to give you results.<p>Of course, to build an optimal team, you need a skilled organizer. So, for example, you can take someone who's otherwise low-skill, low-motivation and give them what they need to improve.
This is one of my favorite Joel articles. The conclusion is relevant to us both as business owners and job seekers: any publicly available job will get spammed to death with offal, accordingly, the best jobs and the best candidates for jobs will both be placed privately.<p>I literally have not had a resume since I read this, with the exception of a pro-forma one to give my ex-job so that they could pretend I was hired on the basis of what was written on my resume as opposed to, say, hired as a favor to a vendor who owed me a favor. We brought the resume to the job interview that happened after the decision had been made to employ me.
Last year I was interviewed by a company that frequently proclaims they hire the top 1% of candidates. The role was working on infrastructure apps using Python, as a Site Reliability Engineer...<p>The interviewer proclaimed he knew Python. Later, during a programming question, after he didn't quite understand the code presented as an answer, I reconfirmed this.<p>His response, quoting: 'I do know Python, but I'm not familiar with the curly brace style of creating a dictionary'.
The top 1% don't actively look for work. They are already working.<p>The top 1% is the gold dust that every head hunter in the country wants to get their hands on but how do you quantify it? As an earlier commenter stated, the top 1% is entirely subjective. If you asked ten different companies to select the top 1% of candidates, all ten would produce different results.<p>Those reading this article hoping to discover how to include themselves in this illustrious 1% will once again be left dissapointed because the final decision is always made by a human and humans are fickle, contradictory beings meaning that the golden formula just doesn't exist.<p>I work in the recruitment industry and I hear people say all the time that recruitment is a science. Whilst the process may have a scientific element in theory, when it comes to hirirng managers perception of candidates suitability, all science goes out the window and is overruled by ego, emotion and greed.
Though I agree with Joel on this central point here, I think it's important to take into account the randomness that applies to technical recruiting - it's hardly perfect (full disclosure: I am a lower-tier member of the 99%, having interviewed at 5-6 [internal, so not even as challenging as top tier software house] places and being rejected every time), the proliferation of 'puzzle' questions of the crossing-the-bridge-with-a-flashlight-and-some-pals ilk is a pretty good indication; I doubt many people would now agree that those kind of questions are a good means of hiring good engineers.<p>Steve Yegge writes at length about how tech hiring sucks, pretty much (cf. [1]), and how random chance plays a big role, and that's based on a great deal of hiring he's done himself.<p>I hate to be negative; I just think it's important to accept that hiring good engineers is <i>hard</i>. There are great people out there who interview terribly, and average people out there who interview wonderfully.<p>[1]:<a href="http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html" rel="nofollow">http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog...</a>
One assumption I never see questioned is the assumption that you actually <i>need</i> the top 1%. I would argue that in the vast majority of cases, you don't.
Is there a top 1%? It's hard to really tell, but I think software development isn't a single rankable skill but a bunch of different ones, sometimes skills that are directly opposed to each other. The best person for a job depends on what kind of job it is.
If you're hiring then this may hold true, but it doesn't fit with my experience of contracting. Whilst the best organisations are looking to contract out to the best people, there are many companies looking for the cheapest subcontractor for short-term gains.
Besides the obvious brilliance in every single word in that article, Joel;s strongest advice is the part about hiring summer interns and also begging for people to intern with them. Of course the underlying assumption is that you are not giving offers to people who are too qualified for your job and that you/your company/company culture are/is not trash.
Relying only on employers/employees through connections is like only finding a partner through friends - you are really limiting your sample space. Is the best of what you know really the best there is? If so, how do you know?
Hiring is such a huge shot in the dark. I've seen HR guys and hiring managers give elaborate reasons about a profile they want, more often the person they are looking for doesn't exist. More like wanting people with 30 yrs of Java exp. The thing about today's hiring is that companies aren't willing to allow people to learn anything on a job since it's a cost.
This phenomenon isn't something only present in tech companies. I think the stat was, the congressional approval rating floats between 10-20% while the reelection rate floats around 80-90%. Humans have evolved to trust those fewer edges separating them in their social graph more than those with more edges.
All my friends that are really good "never went on the job market" and got hired following to their summer internship, and a few others (good ones) and I went forward to a Ph.D. This proves nothing, but brings some evidence.
I would recommended hiring people that are the best fit for the position. There are plenty of reasons to hire someone that will do a good job, rather than a code ninja that finishes projects in 15 minutes.
This article might of sounded a bit less of a "WHAM" if the real quote was put it:<p><i>Everyone thinks they're hiring the top 1%</i> of developers currently on the market.<p>But still, valid point
The top 1% programmers are drop-outs, who spend all their college years hacking/programming.<p>Some of them are oversees who can't acquire H1B visa's due to lack of diploma.<p>With those circumstances, do you think they hired them? can they go abroad to work? No.<p>They are not even close on getting those guys.
Another way to look at it: If all companies only hire the top 1% of software developers (as a lot say), and in total employ 100,000 developers, this would have to result in 10,000,000 unemployed developers. Sounds a little unrealistic, doesn't it?
My theory is that people have absolutely no idea how to evaluate job candidates whatsoever. Interviewing trends come and go (e.g. Microsoft puzzle questions of the 90's), but I think people just latch onto whatever they hear as 'the' way to discern good developers. Along with that comes the superstition that if you're not rejecting <i>x</i> percent of applicants, you're not hiring the top <i>y</i> percent of talent.