Getting (Un)real - Is Joel Still Getting It?
Please take 15 minutes to read The Guerrilla Guide to Interviewing (version 3.0), I'll wait for you (if you really want, you can stop at the following citation):
The trick is telling the difference between the superstars and the maybes, because the secret is that you don’t want to hire any of the maybes. Ever.
OK, you're back. Good. Dis you finish the article? Or did you stop at the above quote. AFAIC this quote at about one third of the article stopped me short in reading it. Don't get me wrong: I have long thought Joel to be the greatest writer in Software Development. Had that opinion for years. And to be honest he still remains a great writer, being able to write long interesting essays with a good dose of humor. And isn't some sort of humor always a requirement to finish long articles? A lot of my experience in writing software was gained by reading his blog. Let me e.g. refer you to unprecedented and timeless articles like The Joel Test and The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!), which are among the best advise you can ever get as a developer. Just like any other article he wrote up until maybe a year ago.
But lately, well.. it seems he just keeps bashing the people below the top 1-2 % of us, Software Developers, so much, that I think it's more than is fair towards the vast majority of us.
Wouldn't you say that the uber obvious problem with this statement would be the following: How on earth is is possible to discern between the top 2 % and the rest (BEING THE OTHER 98 % OF SOFTWARE DEVELOPERS, OR: ALMOST ALL OF US, EXCEPT FOR THE ONES THAT CAN COMPARE TO PEOPLE LIKE LINUS HIMSELF? ). Sorry for screaming, but this message must get out. Looking around me, it is absolutely nonsense to say that almost all software developers around here (the Netherlands, but probably the same elsewhere) are not worth their salt.
Let me assert immediately that it's a difficult journey to acquire a new hire that's a good fit for a certain company. But the developer that doesn't fit the big corporate IT supplier might be a really big superstar at a small local shop or some small company selling, let's say, mortar and bricks. Mostly a matter of different personalities, it's the difference between the person that wants a fast car, phone, laptop and lots of other fast technology around him, and the one who is more into established technology. Maybe he likes .NET 1.1 more because it's proven technology (although he's still missing out on the .NET 2.0 stuff, but he will find out in time) . One of them on average will be more interested in the latest and greatest technologies (ASP.NET 2.0, AJAX, SharePoint Whatever), while the other one has a VB background and is getting up to speed with .NET lately. They're both equally good programmers, just living in different niches.Most of the time these guys know themselves a bit, so you won't find the suit showing up at the mortar-and-bricks company job interview.
An important point to make is that a new hire has to fit in the group of fellow programmers, designers, project leads and other people he has to cooperate with. You're a hotshot thinking you're the best of the world? You know, maybe you're even right, and you DO write lisp compilers for fun, in a weekend, in Assembler for the Nintendo DS (quote from the article). But even then, you're not writing lisp compilers at my company, but e.g. online ordering catalogs for the mortar-and-brick company. And we have a broken page which has to be fixed within an hour. Sales says there's an estimated loss of 5K an hour (hey, we're not that big), because it happens to be the credentials page of the shopping basket, which probably received an unknown update of some kind. Do you fix the page, or are you dreaming away in assembly thinking about your new date? Hello, right now there's 5 people pushing the check-out button, but nothing happens on their screen. One's already firing up Google and enters mortar brick company NYC as the search string. Do you want that to happen?
Allow me to draw a simple analogy: there's lots of talk about The Long Tail nowadays. The long tail in internet terms means that for example a staggering small number of weblogs are receiving an overwhelming majority of attention. This is even strengthened by the fact that once a blog starts receiving some attention a snowballing effect can take place: more and more people are linking to this blogger, he gets more Google Juice, etc.etc. Even my (nation-wide) newspaper recently ran an article about it, meaning my wife and parents might have encountered the term and understand its meaning. The long tail *also* means that books for which there was no market some years ago. This means people fixated on the top X (2 ??..!!) percent of books, which just generated the highest market share; while there's so much interesting material that's worth a read. It was just more profitable to market only heavy selling books. But not anymore. Now you can order any book you can dream of at Amazon, if if they don't have, someone can probably sell you a second hand copy.
And:
Never say: Maybe, I can’t tell. If you can’t tell, that means No Hire
Well, to be honest, if you have doubts about someone, of course you don't hire. But that probably has a lot more to do with personalities than that person being a Top Coder. The moment you have doubts is long past the point that you have decided that this person is at least a decent programmer, who could be reasonably productive at your company. Doubts are about personalities fitting in groups, not about someones technical abilities.
So, concluding (yes, I don't like to waste your time too much, just want to get a message through): don't fall for the trap that only 1% of all programmers is interesting enough to hire. It's just bare nonsense. Apart from that fact, even if it would be clear to anyone who is the top gun programmer, they would be hired away by the biggest firms without a doubt, and you (mortar and brick man, small local consultant) would be looking at them from the back...
Just my 2 cents, jump in if you like. For now, please let me finish the article now :-)
OK, have just read the remainder (before posting, so this is not an post edit). Joel talks about passion, which is a very important thing for a software developer to my opinion. He also mentions the fact that a Ph.D. title without a Getting Things Done mentality is a bad sign. While these are all good points, my criticism of his 2% Top Devs = OK, 98 % = CRAP stands firm to my opinion. It's just so been-there-done-that.