Interview Heuristics
Hiring web developers is like simultaneously enduring a flood and a drought. You are overwhelmed with resumes yet struggle mightily to find folks worthy of your team. We seriously consider hiring about 10% of the folks I interview at SeatGeek. Those 10% come back for additional rounds, do longer coding tests, etc. Succeeding in the first stage of the hiring process means efficiently separating the wheat from the chaff. As the initial screen for all applicants, I consider it my job to isolate the 10% as quickly as possible.
I'm starting to realize I rely heavily on a set of heuristics to determine if someone is likely to be in the 10% group. These don't involve asking the interviewee about his life goals and then staring deeply into his eyes as he answers. They are simple shortcuts–usually yes/no questions. Hackers who fit my profile of the ideal startup web developer are likely to…
- Prefer Git for version control. And have a Github profile.
- Use OS X as their operating system of choice. Linux is fine too, although surprisingly few interviewees cite it as their primary OS these days. Windows is a red flag.
- Read Hacker News. Preferably they have an active profile, as you can learn a lot by reading someone's comments. (As an aside, I regularly read the Paul Graham micro-blog that these create. Unfortunately I don't think he's on the job market.)
- Have a personal webpage. About.me doesn't count, as it communicates “even though I'm a professional web developer, I couldn't bother throwing up a single page of static markup about myself.”
- Choose Ruby or Python as their go-to web development language. This one is far from universal. There are lots of other answers that would not be cause for alarm. Others, such as ASP.NET, would be cause for much alarm indeed.
- Be working on personal projects. Ideally he'll have projects that are simultaneously finished, half-finished, and barely-started. It's particularly important to have at least one personal project that's finished–something that's fully realized, hosted somewhere, and has no obvious bugs. That shows that a developer is able to sort out all the little things throughout the stack that go into building a web app and deploying it into production. (Credit to @erwaller for adding to this bullet.)
- Know what Y Combinator is. Hopefully he will he be familiar with TechStars, DreamIt, and other accelerators as well. Anyone who is unaware of YC at this point doesn't know much about startups, and I see interest in startups as an important component of cultural fit at SeatGeek (thus this wouldn't be an appropriate consideration for someone hiring at a larger company).
- Be comfortable throughout the entire web stack. If someone is an outstanding dev ops guy, for example, he's still likely to know basic Javascript.
- Viscerally averse to uninteresting frontend work like PSD to HTML/CSS conversion (after all design work is done and before any JS/interaction work is done). It just isn't challenging.
These heuristics work as a negative filter but are useless as an affirmative screen. Just because someone fits the above profile doesn't mean we'll hire him; it's just a first step. By no means do I think a candidate must fit all the above specs in order to be worth pursuing.
By definition, heuristics are fuzzy. I'm cheating. I miss some great people due to the above shortcuts. But, alack, SeatGeek does not yet have an internal recruiting department. It's just me. This approach is predicated on the belief that due to resource constraints I'm going to miss a non-trivial number of good candidates, so I might as well be efficient in the way I miss those candidates. Many people who lack the above traits are still outstanding developers but I believe they are, on average (and only on average!) less likely to be kick-ass developers at a small web startup.