Everyone thinks they're hiring the top 1% (2005)
joelonsoftware.com
joelonsoftware.com
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.
For the 99% of CRUD sites, mobile apps, and glorified accounting systems that most programmers will spend their careers on? Not so much.
Using an already-good CMS to build your site is trivial and you don't need a rocket scientist for that. Depending on your needs you may not even need to be a programmer per se.
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.]
I think this is largely true, though it takes a while for reputation to spread. There are some brilliant young developers who haven't yet been noticed by anybody in a position to hire them -- but they won't stay in that situation more than a couple of years.
The exception is somebody who is excellent, but stuck inside one company and not producing any publicly-available code. If she isn't actively promoting herself, it's possible nobody will ever notice her talent.
Needless to say I'll most likely approach him as my first hire when I get to that stage with my own startup.
A quick example: http://9fans.net/archive/?q=rsc&go=Grep
There is a big difference between watching someone code and watching them talk about coding. Ability in the latter is not indicative of ability in the former.
"We have to interview so-and-so. I know him from Hacker News and he's clearly smart."
-- http://news.ycombinator.com/user?id=pg -- http://ycombinator.com/howtoapply.html?s2011
I'm not arguing that they are a factor. Just asking -- in part, as a thought exercise.
Their boss will.. and their coworkers (above and below) will. There have been a number of times that I've been asked for a recommendation and referred someone that was a past supervisor, team lead, etc.
You need to do a lot of footwork and networking to build an accurate picture of the employment market in a region.
Do you mean, "other people who work with them" or "other people who notice them"? I ask this because how do you tell if someone is a great hacker unless you work with them?
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%.
Well, to be fair, you're stretching the logic being applied a bit. There is a big difference between saying "The top 1% of developers don't have resumes" and "Anyone who doesn't have a current resume is one of the top 1% of developers."
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.
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:
Invites will be sent out in the next week or so.
Would you be able to explain to me the meaning and calculation of "Top 99%" that is displayed next to the profile pic?
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.
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.
(the For Dummies books are really good, mind you)
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.
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.
When people make a statement like "xx% of all hires are made through private placement," my first thought isn't "wow, networks are such an effective hiring mechanism!" Rather, it's that our other alternatives are frequently so lacking that we rely on "known-unknowns" in the absence of a better method.
Networks are both a strength and a limitation. When you rely on them for hiring you might be able to attract the best candidate from within your set of connections, but if there are 100 people outside your network who are objectively better then you will have missed out. Unfortunately, limitations in our current tools make it very difficult to determine whether those 100 other people are actually out there and, if they are, how to find them.
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.
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.
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'.
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.
Paying high wages to knowledge workers causes them in general to be less productive. The top 1% might rather go for the money anyway. But the top 1% also care about working conditions (more screen space, faster computers, fewer interruptions, etc). Perhaps more than money, after they're being paid enough not to have to worry about money.
What they found was that paying larger performance-related bonuses caused bad performance. I don't think the finding applies to base pay.
That said, you're probably right that working conditions will be more important past a certain salary level.
As a Python programmer, I care more about hard drive speed and a nice monitor, but if I had to compile C++ I would kill for a faster CPU, and more RAM.
Some things boost moral and make workers more productive, so the employer benefits twice.
The best combination of passion and reward I've ever seen has been small hedge funds and quant shops. They're smart, love what they do, and have equity and fat bonuses. I've been lucky enough to be both work with and be rejected by these guys and it's one of the few cases where I truly believed the 'one percent' angle.
I'm not being caustic with the simple search, a few of those have excellent resources and discussions. You can also research the top recruiting firms in NYC / London who specialize only in Quant dev related roles. Top-3 financial firms require an Extremely high level of math, PHd. (for Senior roles), no job hopping, a target school (very rarely State schools), etc.
http://www.wilmott.com/messageview.cfm?catid=16&threadid...
(A kind of cruddy tone, but informative): http://news.efinancialcareers.co.uk/Guest_ITEM/newsItemId-26...
http://www.amazon.com/Heard-Street-Quantitative-Questions-In...
Edit: My own Boolean's recruiting for entry-level Quant Developers. Very specific criteria. CS Degree (no EE / Math programmers), Target schools, (but, "top" state schools allowed), NO Masters / PHD (an argument over too much specializing or saturation of education, meaning, the fund wanted to teach the hire).
They would relocate / sponsor from anywhere in the world. Only very specific schools from out of country (like India, the The Indian Institute of Technology was the only school to look at).
site:linkedin.com (inurl:pub | inurl:in) (BS | BA | “B.A.” | “B.S.” | Bachelor) (2006 | 2007 | 2008) SQL (java | vb | "c++") (logic | algorithm | multithread | concurren* | "multi-thread") (Princeton | Yale | Harvard | Columbia | Cornell | Stanford | "Carnegie Mellon" | Rutgers | Amherst | Brown | Penn | Pennsylvania | MIT | “m.i.t.” | Duke | Northwestern | Tufts | "New York University" | NYU | Dartmouth | “cooper union” | bucknell) (-PHD -“P.H.D.” -“p.h.d”)
(BS OR BA OR “B.A.” OR “B.S.” OR Bachelor) AND (“computer science” OR “CS” OR “C.S”) AND SQL AND (java OR vb OR "c++") AND (logic OR algorithm OR multithread* OR concurren* OR "multi-thread") AND NOT (PHD OR “P.H.D.” OR “p.h.d”)
site:linkedin.com (inurl:pub | inurl:in) (BS | BA | “B.A.” | “B.S.” | Bachelor) (2006 | 2007 | 2008) SQL (java | vb | "c++") (logic | algorithm | multithread* | concurren* | "multi-thread") "greater new york" -PHD -“P.H.D.” -“p.h.d” site:linkedin.com (inurl:pub | inurl:in) (BS | BA | “B.A.” | “B.S.” | Bachelor) (2006 | 2007 | 2008) SQL (java | vb | "c++") (logic | algorithm | multithread* | concurren* | "multi-thread*") (M-PHD -“P.H.D.” -“p.h.d”
However expectation was 10 hour and 12 hour days, and work environment seemed, for want of a better term, hierarchically abusive.
Furthermore, anyone who's seriously good is contracting, which should net you around 5-600GBP/day.
Harder to measure than pay, but so is being a top 1% programmer. This can be a good reason to talk about pay -- an employer can claim excellent culture without any truth to it, but it's harder to self-deceive about money. And pay often correlates to important ephemerals like respect.
In regards to top 1% compensation, the true top 1% aren't hireable because they have their own startup companies. The top 1% compensation as has been discussed on HN before goes to domain experts. Lesson learned: become a domain expert.
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.
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...
"There are hundreds of resumes submitted for every job opening in Industry X. Why, then, are we STEALING AMERICAN JOBS by allowing H-1B visa holders to enter the country and take this opening?"
(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).
Does nobody work in high school or college anymore?
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).
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.
Turns out that "dedicated" and "hardworking" trump "smart" nine times out of ten. So now I'm trying for that. It's taking longer.
Settle down after a stage means taking the easy way. not a sign of excellence, if you ask me.
Everyone thinks they're hiring the top 1% of developers currently on the market.
But still, valid point
I.e. every couple of months I receive a really good job offer (discounting the shitty ones), just because someone knows somebody who knows me. It's getting really hard to say NO too.
Some of them are oversees who can't acquire H1B visa's due to lack of diploma.
With those circumstances, do you think they hired them? can they go abroad to work? No.
They are not even close on getting those guys.
1. It's directly related to the startup world. Startups hire people, and this is advice for that. 2. Not everyone would have read it. Things come up. Being 5-years-old in this context isn't bad. 3. It's far better than some of the other articles here dealing with body image and piracy
Puzzles for more experienced hires? Probably not.
Worse still is that an underinformed interviewer might simply tune out until the candidate returns an answer to the puzzle rather than actively participating in the candidate's problem-solving process. Two engineers and a whiteboard is how all the best work gets done, right?
I know this will never happen but it sounds kinda nice.