What I like about the concept of the mythical "top 1%" is that every company must hire only these cream-of-the-crop developers.
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 great 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.
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.
Thank you for saying this. Sorry, but you don't need a rocket scientist to build your glorified CMS, no matter how neat and innovative you think it is. When you're building the fault-tolerant, highly optimized code to align a communications satellite with a ground station, or sharding code to handle a database dozens of terabytes in size, then you can make a case that you need the top 1%.
For the 99% of CRUD sites, mobile apps, and glorified accounting systems that most programmers will spend their careers on? Not so much.
Absolutely agree. Finding the right fit for a company, somebody who is dedicated and works well with a team, is probably more important than that top 1%.
Just to play devil's advocate, doesn't that rest on the assumption that the top 1% of software developers are also strong enough networkers that they can get a job pretty much anywhere without using the formal channels which would require item (d)? I'm not at all convinced that's the case, even though I understand that there's some truth to the conclusion.
I can't remember the last time I needed to update my resume, probably about a decade ago. I've managed to get pretty regular work as a contractor without one. I'm planning a career move perhaps into a permanent role and realised I haven't spent an awful lot of time networking with other developers or even digital agencies. I'm not suggesting I'm in the top 1% of devs but I'm sure there may be others in my situation who are in the top 1% and have just neglected their networking duties and worked somewhere in relative isolation. In these situations a good resume doesn't hurt your chances of getting where you want to be.
In fact when I realised I needed a new resume instead of just updating mine like I normal person I ended up writing an app called Mighty CV. Initially the service is aimed at developers and will hopefully make the task of creating and updating your resume easier.
Check it out - it has a LinkedIn importer and a dynamic PDF generator for when you need a paper copy. It'll show basic stats from HN and github too. I'm really keen to get some beta users from the HN crowd to test drive it so if you agree that the resume is not dead (at least for the other 99% of us) perhaps you'd like to sign up for the beta:
I completely agree with that statement. I have actually never applied for a job yet. The startup I'm working for right now hired me because they stumbled across my app and contacted me asking me to work for them. I have received five other job offers recently in the same way, without sending out a single resume.
Not that I am assuming myself to be in the top 1%, but to my way of thinking the top 1% isn't going to be searching for a job, they will be making their own job, creating their own startup and websites. It is up to you as the employer to discover these people and try to hire them. They may not even accept your offer if it isn't tempting enough.
I don't know. Oh, if this was true, I'd feel great. See, I've never applied for a job, but I've been working in software for 10+ years now. I've never submitted a resume. It's always been recommendations and companies coming after me and trying to recruit me. Hell, my current job I got by being recommended to one of the partners by some other guy I never met who apparently worked with something I did!?
Point is, I don't feel like I'm in the top 1%. Oh, I'm good at my job, and I know what I'm doing, and my domain knowledge, I think, is solid, but I know so little. There is so much I don't know, and so much more to learn.
Or maybe I'm just taking the 1% part too literal? Or, maybe, I'm just underestimating the size of the 99%.
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 depending on the fit.
The posturing about "the 1%", "A-players" and so-forth misses the idea that you want an optimal team, not magic people guaranteed to give you results.
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.
I couldn't agree more. It's all about the fit with the team and their interest in the work you're hiring for.
IMO 99% of the time you hear someone say 1%, they're intentionally exaggerating (marketing) or they're clueless on the topic.
I'm a mediocre developer at best, and yet I still have a decent sized ego. I can only imagine how big my head would be if I were top 1%. You definitely wouldn't want to work with me.
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.
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.
The best jobs and the best candidates for jobs will both be placed privately.
I realize that the plural of anecdote is not data, and that you aren't arguing the contrapositive. But I have a couple of data-points from the last few years that make me believe both directions are not necessarily tautological.
In the direction of placed privately -> best candidate: a company I worked for some time ago had a developer who was placed privately. Specifically, the developer already knew another one of the developers at the company, and came with a glowing recommendation. This person was hired somewhat before the time I was brought on, and as a result, they were well-entrenched by the time I arrived. This would not have been a problem, if this person weren't one of the worst developers I have ever worked with. I wish I could provide more evidence, but it would probably result in both a breech of NDA, and also enough detail that someone on here might know who I was talking about. I've known other people who have had similar experiences of incompetence brought in by some insider repaying a favor of work done earlier. Suffice it to say that there is plenty of offal out there that find themselves insided into companies assuming roles they ought never have been employed doing.
In the direction of best candidate -> placed privately: there is always the story of paul on here joining Google. I'm sure plenty of other stories have been recounted of talented people throwing resumes over the transom, and managing to get someone's attention on the other side. For my own anecdote, one of the best sysadmins I've known in my life managed to find his way into the company I was working at on the basis of a cold resume submission. Nobody knew him, and he was just another name in a pile of resumes; but, it was a pile of resumes that a couple people with a reasonable degree of cluefulness were given to read through, and this sysadmin stood out even on paper. Had we punted him in favor of someone privately placed, I'm suspicious that we'd have been in a much better place.
I realize that you are plenty talented, and am not casting aspersions your way. But there are plenty of hires that are the product of favors of favors, where the biggest favor the middle-party could've done is to never have introduced the company to the candidate in the first place. That's the trouble with favors, though; it is difficult to not be willing to make the connection, because it can bear a heavy social cost to have to say no to a friend.
I'll admit I might be a bit more sensitive to this now because I'm at a small company. A bad hire who was brought in on a favor could send the place into financial pain with maybe a day or two's worth of misguided exuberance. I don't know of someone internally earning social capital for themselves with that as a potential expense is a worthwhile trade-off. I'd rather keep the roadblocks up regardless of how the candidate is sourced.
TLDR summary: Sure, listen to and harvest from your connections, but realize that they have their own interests which may not necessarily align with yours or your corporations, and vet the people you find from them accordingly. The candidate you find or are pressured to hire through the grapevine or a favor may not be nearly as talented as patio11.
I agree this is great insight. The majority of the "top 1%" are not applying to jobs; they are already working and producing. Hiring from the top 1% means shaking them loose from another good opportunity, not posting a job and waiting for them to come to you.
I think you do have a resume and it's a rather extensive one. Your comments here and back on JoelOnSoftware forums are extensive and you keep a very active presence visible with your blog.
Better yet, you document work/business and results extensively and then submit to the interwebs for consumption by the masses.
You have a resume to the nth degree - your portfolio of work and thoughts are huge compared to the average sw engineer.
> I literally have not had a resume since I read this
Every job I've had has been through personal connections and recommendations. That doesn't mean a resume isn't useful. You will likely be interviewed by at least some people who don't know much about you. A one-page summary of your experience and background is a good way for them to prepare. It means you can spend your interview time with each person more effectively, and you don't have to keep repeating the same ten-minute spiel over and over.
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...
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.
His response, quoting: 'I do know Python, but I'm not familiar with the curly brace style of creating a dictionary'.
If you think you're hiring the top 1%, but you're not paying at top-1% levels, you're probably not actually hiring the top 1%.
That's my main takeaway anyhow. Extraordinary people command extraordinary compensation - if you can't cough up the cash you're not going to get to play.
The top 1% don't actively look for work. They are already working.
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.
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.
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.
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.
I hate to be negative; I just think it's important to accept that hiring good engineers is hard. There are great people out there who interview terribly, and average people out there who interview wonderfully.
One assumption I never see questioned is the assumption that you actually need the top 1%. I would argue that in the vast majority of cases, you don't.
Top companies, especially in competitive industries like technology, need to constantly innovate and solve problems better and more efficiently than their competitors. And to do this they need those top 1% because problem solving skills and IQs are not completely stackable - the top 1% can solve problems that no teams of average developers can solve. Most companies need those top 1% if they want to keep up with the lead and not fall behind in the long run.
You presume that the 199 bad developers are american and adding immigrants to the mix will improve overall quality. But if we follow the article's logic, we would be adding 199 bad immigrants to the 199 bad americans already here. So instead of 199 bad developers and 1 good one, we end up with 398 bad developers and 2 good ones. The end result is, 199 more americans unemployed, decreased pay for the 199 H1-B's, and no overall improvement of quality.
(I am not necessarily arguing against more H1-B visas, I am simply saying the article applies equally to all developers regardless of origin so it really doesn't speak for looser immigration laws - if anything, once you apply the math to the immigration issue, the logical conclusion is negative).
It's not clear what he means by apply. I assume he means that they only ever applied for one or two jobs without having been recruited/having a connection to the company already. Of course in another sense, everyone applies for every job they've ever had, because there's always some sort of approval process for hiring.
I don't think he means that top 1% only ever worked at one or two companies because that's certainly not true (that or he and I have very different ideas about what kind of people the top 1% are).
I would suspect Joel is discounting the summer work that young people do. i.e. he probably means: *They only ever applied for one or two [programming] jobs in their lives."
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.
Companies hiring for many roles will discard most or all candidates that fall into the top >20% bracket at the earliest possible stage because they're obviously going to be more expensive, likely to move on to another role earlier and/or likely to prove a "poor cultural fit" if they start debating decisions made by a less capable and experienced lead or manager. Some people are looking for session musicians rather than rockstars.
I sure don't. Personally, my outlook swings between "I'm so awesome, look at what I made" to "I am an idiot - why am I in this field?" The latter comes when I'm 2 hours into a debugging session and still stumped, or when I'm looking at code written by somebody famous, or when I get an explanation of some concept or piece of code and I still don't understand. (Rebuttals: debugging is actually hard sometimes, and that coder is famous for a reason, and maybe the explainer isn't doing a god job.)
In my rational moments, I figure that 1) I'm smart enough, but not the smartest, 2) I can always improve, and 3) I should focus more on doing my best and less on comparing myself to others.
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.
[+] [-] agentultra|15 years ago|reply
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 great 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.
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.
[+] [-] grammaton|15 years ago|reply
For the 99% of CRUD sites, mobile apps, and glorified accounting systems that most programmers will spend their careers on? Not so much.
[+] [-] unknown|15 years ago|reply
[deleted]
[+] [-] jonstjohn|15 years ago|reply
[+] [-] edw519|15 years ago|reply
Good point. The best developers I ever hired were (a) already working, (b) not looking, (c) referred, and (d) without a current resume.
Therefore, the people who I consider to be good software developers probably don't have a current resume.
Therefore, the top 1% of good software developers probably don't have a current resume.
Therefore, if you have a pile of current resumes, it probably includes none of the top 1% of good software developers.
Therefore, if you're hiring from current resumes, your probably not hiring the top 1%.
[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.]
[+] [-] bartonfink|15 years ago|reply
[+] [-] robeastham|15 years ago|reply
In fact when I realised I needed a new resume instead of just updating mine like I normal person I ended up writing an app called Mighty CV. Initially the service is aimed at developers and will hopefully make the task of creating and updating your resume easier.
Check it out - it has a LinkedIn importer and a dynamic PDF generator for when you need a paper copy. It'll show basic stats from HN and github too. I'm really keen to get some beta users from the HN crowd to test drive it so if you agree that the resume is not dead (at least for the other 99% of us) perhaps you'd like to sign up for the beta:
http://www.mightycv.com
Invites will be sent out in the next week or so.
[+] [-] NathanKP|15 years ago|reply
Not that I am assuming myself to be in the top 1%, but to my way of thinking the top 1% isn't going to be searching for a job, they will be making their own job, creating their own startup and websites. It is up to you as the employer to discover these people and try to hire them. They may not even accept your offer if it isn't tempting enough.
[+] [-] jasonlotito|15 years ago|reply
Point is, I don't feel like I'm in the top 1%. Oh, I'm good at my job, and I know what I'm doing, and my domain knowledge, I think, is solid, but I know so little. There is so much I don't know, and so much more to learn.
Or maybe I'm just taking the 1% part too literal? Or, maybe, I'm just underestimating the size of the 99%.
[+] [-] joe_the_user|15 years ago|reply
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 depending on the fit.
The posturing about "the 1%", "A-players" and so-forth misses the idea that you want an optimal team, not magic people guaranteed to give you results.
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.
[+] [-] Tycho|15 years ago|reply
(the For Dummies books are really good, mind you)
[+] [-] rapind|15 years ago|reply
IMO 99% of the time you hear someone say 1%, they're intentionally exaggerating (marketing) or they're clueless on the topic.
I'm a mediocre developer at best, and yet I still have a decent sized ego. I can only imagine how big my head would be if I were top 1%. You definitely wouldn't want to work with me.
[+] [-] patio11|15 years ago|reply
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.
[+] [-] azanar|15 years ago|reply
I realize that the plural of anecdote is not data, and that you aren't arguing the contrapositive. But I have a couple of data-points from the last few years that make me believe both directions are not necessarily tautological.
In the direction of placed privately -> best candidate: a company I worked for some time ago had a developer who was placed privately. Specifically, the developer already knew another one of the developers at the company, and came with a glowing recommendation. This person was hired somewhat before the time I was brought on, and as a result, they were well-entrenched by the time I arrived. This would not have been a problem, if this person weren't one of the worst developers I have ever worked with. I wish I could provide more evidence, but it would probably result in both a breech of NDA, and also enough detail that someone on here might know who I was talking about. I've known other people who have had similar experiences of incompetence brought in by some insider repaying a favor of work done earlier. Suffice it to say that there is plenty of offal out there that find themselves insided into companies assuming roles they ought never have been employed doing.
In the direction of best candidate -> placed privately: there is always the story of paul on here joining Google. I'm sure plenty of other stories have been recounted of talented people throwing resumes over the transom, and managing to get someone's attention on the other side. For my own anecdote, one of the best sysadmins I've known in my life managed to find his way into the company I was working at on the basis of a cold resume submission. Nobody knew him, and he was just another name in a pile of resumes; but, it was a pile of resumes that a couple people with a reasonable degree of cluefulness were given to read through, and this sysadmin stood out even on paper. Had we punted him in favor of someone privately placed, I'm suspicious that we'd have been in a much better place.
I realize that you are plenty talented, and am not casting aspersions your way. But there are plenty of hires that are the product of favors of favors, where the biggest favor the middle-party could've done is to never have introduced the company to the candidate in the first place. That's the trouble with favors, though; it is difficult to not be willing to make the connection, because it can bear a heavy social cost to have to say no to a friend.
I'll admit I might be a bit more sensitive to this now because I'm at a small company. A bad hire who was brought in on a favor could send the place into financial pain with maybe a day or two's worth of misguided exuberance. I don't know of someone internally earning social capital for themselves with that as a potential expense is a worthwhile trade-off. I'd rather keep the roadblocks up regardless of how the candidate is sourced.
TLDR summary: Sure, listen to and harvest from your connections, but realize that they have their own interests which may not necessarily align with yours or your corporations, and vet the people you find from them accordingly. The candidate you find or are pressured to hire through the grapevine or a favor may not be nearly as talented as patio11.
[+] [-] scottkduncan|15 years ago|reply
[+] [-] tom_b|15 years ago|reply
Better yet, you document work/business and results extensively and then submit to the interwebs for consumption by the masses.
You have a resume to the nth degree - your portfolio of work and thoughts are huge compared to the average sw engineer.
[+] [-] psykotic|15 years ago|reply
Every job I've had has been through personal connections and recommendations. That doesn't mean a resume isn't useful. You will likely be interviewed by at least some people who don't know much about you. A one-page summary of your experience and background is a good way for them to prepare. It means you can spend your interview time with each person more effectively, and you don't have to keep repeating the same ten-minute spiel over and over.
[+] [-] nailer|15 years ago|reply
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.
His response, quoting: 'I do know Python, but I'm not familiar with the curly brace style of creating a dictionary'.
[+] [-] potatolicious|15 years ago|reply
That's my main takeaway anyhow. Extraordinary people command extraordinary compensation - if you can't cough up the cash you're not going to get to play.
[+] [-] Peroni|15 years ago|reply
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.
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.
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.
[+] [-] singular|15 years ago|reply
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.
I hate to be negative; I just think it's important to accept that hiring good engineers is hard. There are great people out there who interview terribly, and average people out there who interview wonderfully.
[1]:http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog...
[+] [-] grammaton|15 years ago|reply
[+] [-] forensic|15 years ago|reply
[+] [-] kefeizhou|15 years ago|reply
[+] [-] praptak|15 years ago|reply
[+] [-] capstone|15 years ago|reply
(I am not necessarily arguing against more H1-B visas, I am simply saying the article applies equally to all developers regardless of origin so it really doesn't speak for looser immigration laws - if anything, once you apply the math to the immigration issue, the logical conclusion is negative).
[+] [-] anonymoushn|15 years ago|reply
[+] [-] sliverstorm|15 years ago|reply
Does nobody work in high school or college anymore?
[+] [-] btmorex|15 years ago|reply
I don't think he means that top 1% only ever worked at one or two companies because that's certainly not true (that or he and I have very different ideas about what kind of people the top 1% are).
[+] [-] rmc|15 years ago|reply
[+] [-] krakensden|15 years ago|reply
[+] [-] goldmab|15 years ago|reply
[+] [-] kaerast|15 years ago|reply
[+] [-] notahacker|15 years ago|reply
[+] [-] joelmichael|15 years ago|reply
[+] [-] mduerksen|15 years ago|reply
[+] [-] billybob|15 years ago|reply
In my rational moments, I figure that 1) I'm smart enough, but not the smartest, 2) I can always improve, and 3) I should focus more on doing my best and less on comparing myself to others.
[+] [-] tuhin|15 years ago|reply
[+] [-] hessenwolf|15 years ago|reply
[+] [-] goombastic|15 years ago|reply
[+] [-] moomba|15 years ago|reply
[+] [-] unknown|15 years ago|reply
[deleted]
[+] [-] snippyhollow|15 years ago|reply