In that recent trip to the Apple Store, I was talking to one of our developers about finding good developers.
More specifically, how does a technically illiterate, non-developer (we’ll call him a commoner, for the purpose of this post) go about finding a good developer? How will they recognize when they’re speaking with one?
Like an auto mechanic, developers are in control when they’re talking to the commoners. I’ve been in three businesses in a row at which the leaders of the business were beholden to their tech staff. They had no expertise of their own to adequately assess whether or not their tech staff was making intelligent and informed decisions. They couldn’t assess their skills or motivations because the entire area was too foreign to them. Let’s face it, good developers are a talented lot, and hard to come by (if you’re not in Northern California… or North Carolina, anyway).
So, I asked my developer how would he do it. Being a developer himself, he wasn’t sure how a commoner would do it (although he said that he had the ability to smell one… not sure that’s a unique ability, or even preventable). I offered up the only answer I’d ever come up with – “Show me a developer who didn’t finish college or who went to work right after high school, and I’ll show you a good developer.”
The point, essentially, is that good developers have always been in to it. They’ve been literally eating and breathing this stuff (along with single packs of Frito-Lay products, candy bars and soda) since they could remember. He agreed, and said that described him, as well.
When we got back, I looked in to this a little more, and came up with this post by Dharmesh Shah. Not to spoil the Sixth Sense-like twist at the end, but this turns out to be a job posting. However, that doesn’t change the fact that he has developed a solid litmus test for developers. Some of the best questions in his quiz include:
2. You’ve muttered “I’m up anyways, might as well code” at 4:30 a.m. at least once in your life.
3. You understand why the above is misleading because time is continuous, not discrete and the probability of any individual having muttered anything at exactly 4:30 a.m. is near zero. But, you answered yes to #2 anyways, because you’re practical and know what was actually meant. *(my note: if you’ve had the pleasure of working with a great developer, you definitely know this one to be all too true.)
5. You can argue both sides of a technical debate most of the time, if you had to. Some of the time, you actually do, just to better understand the tradeoffs.
6. You’ve been impressed with someone else’s code at some point in your life.
7. You’ve reused someone else’s code at some point in your life, and resisted the temptation to rewrite it.
Dharmesh concludes that if you answered “yes” to all of his questions, you are probably a startup development superstar. Not sure if that’s true, but you’re certainly not like the other kids.
These questions can be easily rewritten and turned in to very effective interview questions. And they should be.
If you’ve got poor developers, they’ll be very good at looking (and smelling) like good ones – to the commoner. And if your business is depending on them, it could be costly, if not deadly.
And if you are a good developer… yes, NewTunes is looking for one.
*Update: Jim weighs in with his thoughts on the subject here. He’s a trusted resource who works with nextpoint. They’re looking for a developer, too, and would make a great second choice behind us.
**Update II: Joe weighs in with another useful set of criteria.