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.
Actually, building a CMS is pretty difficult and I'd say you want to only use CMSs written by about the top 10%. Not quite rocket science but they're actually very, very difficult. There's a lot of tradeoffs to be carefully made, increasing exponentially as the framework tries to do more (with a lowish exponential factor, but exponential nonetheless) and a lot of ways to make simple things difficult and difficult things impossible. There is no pain like trying to use a CMS written by a bottom-25%er.
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.
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.
The point is that they don't need to be networkers, because they will be networkees. i.e. other people will notice how good they are, and actively try to get them into appropriate jobs.
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.
I'm not sure your exception is an exception. In the company I work for, there are some amazingly bright guys, but I don't hear about them being in any open-source project. I would suspect only the interns and a few of the younger guys have code published on bitbucket or whatever.
I agree whole heartedly with this point. I currently work for a large bay area company and I noticed a new intern come on board who just has the 'X' factor, and could well turn into that top 1% or close to it.
Needless to say I'll most likely approach him as my first hire when I get to that stage with my own startup.
There are some real smart people that don't have business savvy or street smarts. Its easy to get locked into a big dumb corporation that doesn't recognize talent. You could spend a long time in a place like that and not realize your potential. After all, most kids still go through college and work at "safe" jobs.
There's an inherent information asymmetry in the job market too. Think of great coders who grow up in the middle of nowhere and get a job in the nearest city. They don't know what the vets at their company in Birmingham, AL are making. All they know is that the coders on HN all say "at least $100k for a dev in the bay area".
You need to do a lot of footwork and networking to build an accurate picture of the employment market in a region.
"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."
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.
"... other people will notice how good they are, and actively try to get them into appropriate jobs. ..."
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?
Honestly...I don't think that search evidences talent at all. If I didn't already know who Russ Cox was (and seen his code in projects like Google CodeSearch, re2, and Go), I'd think him just another Internet idiot.
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.
Yes, it does rest on that assumption, but I think the assumption is warranted. The bar for "strong enough" networking skills is pretty low, after all. An developer who's so socially inept that nobody he's worked with would recommend him for a job probably isn't in the top 1% anyway.
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:
It was a bit of a tongue in cheek reference to this thread. It's not a calculation performed by Mighty CV. In the résumé builder that text equates to a free form text input called Professional Title. You can write whatever you like in there. Sorry for the confusion and thanks for reminding me it's there it wasn't meant to be a permanent fixture.
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%.
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."
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.
Just because it was Facebook doesn't mean the initial code was very good. Twitter's suffering a lot of technical debt from some bad initial decisions in the codebase.
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.
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.
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.
Great comment, and from my perspective a view that is perfectly complementary to Joel's post. It could very well be that the same people who are firing off hundreds of resumes are also hitting up dozens of their connections to try to find work. As you mention, hiring even one of these people into a role for which they are not qualified, whether through resumes or private placement, could really damage a small company.
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.
> 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.
I find that people who are truly good actually love what they do. I don't know if I fit in that category, but I remember walking to work a few weeks ago thinking about one particular project: 'if I wasn't here I'd be doing this for free'. That said, I'm paid above average for the industry.
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.
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”)
I don't know, I've met some seriously talented, seriously underpaid programmers over the years. Money isn't everything, especially to people who live for the intellectual stuff.
So make that "being a top 1% employer", which includes pay, perquisites, environment, culture, the interest of the work itself....
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 intellectual stuff, that's with rare exceptions only in the academic world, which pays in the bottom quartile easily. The side note is, I've known PhD candidates to get paid low for full-time work but mucho dinero for hourly contract work.
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.
Unfortunately while low pay will rule out great programmers, great pay doesn't necessarily lead to great programmers, just people who can convince others they are great programmers.
For those wanting specifics: for a mid-level Python gig at a large investment bank, base of 80K GBP, bonus between 20 and 40K GBP, expecting base to rise accordingly over successive years.
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.
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.
I think older workers are less likely to be fooled by "cool toys", but all geeks want a system that they can be productive on.
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.
On the flip side, I find that my productivity drops to zero below a certain level of compensation, at least when I'm working on other people's projects for money.
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.
But this runs right back into Joel's supposition. If only 1% of developers are capable of doing this well enough, then why do we still have a booming software industry?
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).
"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?"
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."
I'm not sure why this would get downvoted. As a middle class white male in my major I was ineligible for a great many scholarships at my state university, and I was ineligible for most of the remaining ones because I had attended a concurrent high school and college program that did not publish class rank or inflate GPAs well beyond 4.0 as is common practice in normal high schools. As a result I could not get scholarships that required "(X on SAT or Y on ACT) and (Z GPA in high school or W percentile in high school) and *," in spite of my 800/710 SAT and 3.8+ GPA at the concurrent high school and college program.
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.
Bad for them. Going onto the job market is not an opportunity only for those who hire but also for those who are looking for a job: if they are SO good, thew will have to chance to interview in many good places and pick the one they like the best.
Settle down after a stage means taking the easy way. not a sign of excellence, if you ask me.
It totally depends on _where_ you settle down. They were and are all very happy with their jobs. They were all in their dream jobs! And one did startup->Google directly without being back on the job market.
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.
I think that it is still a delusion, even if you add the "currently on the market". The best people currently on the market won't probably bother sending you an application - they will probably just take advantage of their networks.
I don't consider myself to be in the top percent of anything; but I'm not even taking advantage of my network, it's the other way around - my network takes advantage of me :)
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.
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?
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
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 x percent of applicants, you're not hiring the top y percent of talent.
The puzzle-givers were onto something, though. They were trying to test for intellectual agility and creative problem solving. There is some merit in asking these sorts of questions if you're interviewing younger kids for entry-level jobs. At that stage in the game, you're really just trying to find smart and hard-working people who can be trained. You're not overly concerned with years of experience, or crystallized knowledge base. So puzzles make sense (again, to a degree).
Puzzles can be so easily misused. If the interviewer(s) all know the answer to the puzzle they'll have trouble being objective when it comes to measuring the responses of an interviewee who hasn't seen the puzzle before.
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?
Maybe a good approach would be to give a puzzle that the interviewer doesn't know the answer to. That way, they work through the problem together and the interviewer can see what it's like to work with them.
I know this will never happen but it sounds kinda nice.
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.