A while ago (actually, any post I’ve done is now "a while ago…") I wrote about Sabermetrics for Startups. I wondered if there was data you could collect in an interview process that would allow you to more accurately determine if someone, particularly an engineer, would be successful in your company.
I don’t think I have all the answers, but over the last few months, I’ve honed in on three questions that I believe have a correlation with three key skills.
I’m not talking about technical skills. There are a lot more people far better than me to judge whether or not someone is technically qualified as a great coder.
I am talking about the intangibles. In particular, I’m talking about three key intangibles — communicating, tinkering and passion for coding. In my experience, these things make a huge difference in someone being a great contributor to your startup.
So, here are the questions. They’re simple and they aren’t pass/fail. But, I think certain answers are more correlated with success. So, pretend you’re in the hot seat, bright lights, uncomfortable chair… you get the idea. Here goes
1. Do you have a blog?
It was Joel Spolsky who wrote a great piece about great engineers being defined not only by their h4x0r skillz, but by their ability to communicate. Here’s what the man himself had to say
The difference between a tolerable programmer and a great programmer is
not how many programming languages they know, and it’s not whether they prefer Python or Java. It’s whether they can communicate their ideas.By persuading other people, they get leverage. By writing clear
comments and technical specs, they let other programmers understand
their code, which means other programmers can use and work with their
code instead of rewriting it. Absent this, their code is worthless.
If someone has a blog, you know that they are starting to make communications and writing part of a basic set of habits. You know they value those habits enough to make time for them. A public blog improves the odds that the person sitting across from you (who has great coding skills) can also effectively advocate their ideas both inside and outside the company.
2. What’s your home page?
Great engineers make their own homepages. When they hit the "home" icon on their browsers, you’re not likely to see My Yahoo or Amazon. They’re disatisfied with their other choices out there and they take matters into their own hands (usually just a large list of links of favorite places to go, laid out "just right"). My friend, Marc Hedlund put it this way, "Jedi Knights make their own lightsabers and great engineers make their own homepages." How true.
I think the trait indicated by making your own home pages is that the person is a "tinkerer". Tinkerers are great inside companies. They’re curious. They’re often not quite satisfied with the status quo and doing things the way others do. They’re the ones that aren’t often satisfied with the way your company is doing something. But, rather than complaining or asking, they go ahead and just fix the problem.
It’s hard to know if the person sitting across from you is a tinkerer, but if they make their own home page, it’s more likely that they are.
3. Do you contribute to an open source project?
One thing you’re looking for in a great engineer is a person who is passionate about coding. Passionate doesn’t mean all-consumed-and-working-24-7, but it does mean curious, deeply interested and committed. Besides the obvious benefits of being able to review someone’s open source code for quality, design patters and architecture decisions, contributing to an open source project has a strong correlation to the person being passionate about code. They’re less likely to just be about code-for-cash (not that there is anything wrong about that, it’s just not usually right for a very small startup). That intangible, code-as-passion, can make a huge difference to a startup.
So, that’s what I think. It’s only been a few months of thought. If you’ve got other ideas, I’m all ears.