What a great read. I've recently run the gauntlet on interviewing and I'm acutely aware of all of these. I only have one issue which is about the section on "Candidate showed a lack of passion".
I'm completely passionate about development. I do freelance work, I build stuff outside of my 9-5 job, I go to conferences and meet-ups locally. But I know developers who are much better JavaScript and Ruby guys than me. They have more experience, but don't do nearly the same amount of stuff outside of work that I do. Does that "lack of passion" about the industry and their profession make them a less worthy candidate than myself?
Yeah, I was uncomfortable with that too. There are two sets of people I know: Folks of the kind that you mentioned who are incredibly good programmers but who have other interests outside life. In fact one of the smartest coworkers I knew spent half his time at work and the other half time in a band and he was extremely productive. Another group are the people who have a personality which doesn't exude visible signals for passion: They probably never hang out at meetup groups or conferences, but they quietly hack away in their own time without tweeting about it or whatever. From a macro perspective they are "passionate" for sure but are susceptible to false negatives especially in the highly noisy interview setup.
A lot has been written about passion lately, and even another recent blog post of mine is relevant (http://jobtipsforgeeks.com/2012/04/17/how-employers-measure-...). I don't think passion has to be demonstrated by 'only' doing coding 24 hours a day, or going to meetups every day. I know very good technologists who don't attend meetups or hackathons, but you can tell in how they talk about technology that they have passion. It's hard to quantify, but I think for the most part good companies tend to get it right more often than not.
Good question. I think in time, those who love what they do will generally catch up 'skills-wise' to those that do what they do only for dollars. Being a worthy candidate with less skills is a possibility - perhaps you will work harder or longer than they will, which could make you more productive. I would say that many companies may hire someone like you over someone with a bit more experience and less passion, as the long term investment is potentially better. If it were a 6 week contract, I'll take the other guy - for a salaried perm job, you may be a better choice.
I'm completely passionate about development. I do freelance work, I build stuff outside of my 9-5 job, I go to conferences and meet-ups locally. But I know developers who are much better JavaScript and Ruby guys than me. They have more experience, but don't do nearly the same amount of stuff outside of work that I do. Does that "lack of passion" about the industry and their profession make them a less worthy candidate than myself?