How business guys can identify good coders

You’re the business guy. The idea guy. You have an MBA and a killer business idea to boot. The only thing standing between you and becoming the next Google is finding a good technical person to build it for you. The only problem is you don’t know how to code and you’ve got no clue how to interview or evaluate developers. What do you do?

Thankfully, identifying good developers doesn’t have to be hard. You can actually find great developers without knowing a thing about coding. Just like good sales guys can be measured by how much they sold, there are some simple questions that can act as your filter for finding talented programmers.

How old were you when you started programming?

I started coding when I was 10. Most of the best developers I know started coding long before college. While it may seem like a weird thing to evaluate someone on, I’ve found there is a strong correlation between the age someone started programming and their skill level as a developer. It makes sense. Just like most professional athletes started perfecting their art at a young age, the best developers did the same.

Think about all the distractions you face growing up. As Paul Graham says in Hackers and Painters, being smart in elementary school is a guaranteed way to be unpopular. While the kids who are coding in middle school may not be cool then, they’re the people I want to hire when they are 20. The intellectual curiosity that drove a kid to code instead of hanging out at the mall is probably still with them later in life.

And all things being equal, the kid who started coding at 10 has 8 years extra experience on the guy who didn’t start until college. This doesn’t mean there aren’t exceptions to the rule, but it’s a surprisingly good indicator.

What weekend projects have you built?

If you’re a developer, you have the ability to turn your ideas into reality in a way that few people have. Think there should be a better way to share pictures with your friends? You can just build it. You don’t need money or permission from anyone. I’m suspicious of anyone who claims to be a developer but doesn’t have any projects to show off that they built “just for fun”.

Programming is more of an art that a science. You usually either have a mind for it or you don’t. If you don’t enjoy coding you’re not going to be any good at it. More than anything, the weekend projects show that you enjoy the creative process of programming.

Things you enjoy, you do a lot and things you do a lot, you tend to get good at.

What open source projects have you contributed to?

Being involved with open source projects is another positive sign of a good developer. Not only does it show they enjoy coding enough to give their own time to it, but open source developers also have the benefit of continual feedback from other smart developers. There is not a single piece of code I’ve open-sourced that hasn’t been improved from having other developers use it. The more you open source, the more you learn. For example, when I contributed my PHP library for PubSubHubbub, it was Brad Fitzpatrick (the guy who invented memcache) who did the code review and gave me some great feedback on how to improve it. It’s tough to get that level of feedback and not become a better programmer as a result.

While asking a developer how to write a linked list may show off their memorization skills, I’d rather see the evidence of their abilities for myself. Why quiz Picasso about the principles of painting, when you just ask to see his gallery of paintings instead?

  • Brilliant! I would also look for people who do stuff because they're passionate and can/want to learn. Not necessarily coding-related.

    It's likely that your idea isn't fully baked. You want someone who won't be useless if you turn your iPhone idea into a Facebook app!

    • Thanks and great point. I think "What are you reading these days?" is a decent question for finding the life-long learners. Any others you'd add to the list?

      And no, I've not had a fully baked idea in my entire life. 🙂

  • This rings true, but that's what worries me! There's a strong human instinct to be comfortable around people who are similar to us, and your description sounds a lot like both you and me. Why is that a problem? I worry that I'm missing out on talent because it doesn't fit with this sort of pattern-matching. For example I've worked with some amazing coders who only picked it up later in life. They often didn't have the obsessive streak that drives people like us to start at age 10, but they brought skills I've never developed because I spent too much time in front of my computer as a teenager.

    I do totally agree with the 'outside projects' part though, you need some demonstration that they're actually interested in creating code beyond just collecting a paycheck.

    • We have the benefit of being able to identify good coders by their code. I tried to write this a rough guide for the people who don't have that luxury. Great point though. Leaving the computer screen does have a way of developing other skills… or so I've heard. 🙂

  • Gregg

    Josh, thanks for the post, this is very helpful for people like me!

  • Tim

    Great post Josh. it's an expansion on the ideas I wrote on this topic. Is there a reason a programmer will not contribute to open source projects? I think the answer is yes. Being afraid of criticism might make a programmer not contribute openly because this leaves him open to criticism. In my short time of making open source contributions, I've learned a lot from other fellow contributors and seen a huge growth rate in my programming ability.

    • Do you have a link to that post you wrote? I'd love to check it out.

      I think it's the same fear that makes it hard to hit the publish button on blog posts. I don't want to look like an idiot or be told I'm wrong. But like many things in life, it's only scary until you do it. You soon learn that your fears were unfounded and the benefits way outweigh the risks.

      • Tim

        I blogged about it here….

        I was recently invited to give a talk to students in my alma mater and I couldn't help not talking about how important it is to get past that initial inertia (or fear in most cases) and actually begin to produce content even if it's crappy.