Do you need a programming background to hire a good developer? The short answer is “no”. First, I do have a programming background and it helps. However, it’s certainly not required.
I used to interview developers at Lockheed Martin. Before a candidate ever got a second interview, they had to pass our technical questions. It was pretty pointless. Asking conceptual programming questions didn’t tell us if he/she could actually code. Having him/her white-board pseudo-code wasn’t practical because he/she could only pseudo-code so much in an hour-long interview. The only good way determine if a developer is any good was to see him in action.
You won’t get a feel for their quality until they actually start working on the project. But isn’t it too late by then? No, not really. As a start-up, I’ve been forced to do things differently. I’ve come to the conclusion that you gotta hire fast and fire fast. The idea is to setup one-week long milestones in your project that your developer must complete. At the end of those milestones you can re-evaluate if you want to stick with the developer. I’ll post more on how to setup these milestones later. This post is all about hiring.
So I’ve put together this post to go over the steps I took to hire my first superstar developer.
It’s all about LEVERAGE
Before I even started to hire I wanted to “leverage” as much as I could. Leverage is a short-cut. Like a lever that allows you to exert more force with less effort, the same applies to developing apps. I didn’t want to hire just any developer. I wanted to hire a developer that had already done something similar to what I needed. In this case, I wanted to leverage their previous experience and code.
If you’re developing something like Instagram, a developer who has built a photo sharing site will do a better job in a shorter period of time than a developer who is starting from scratch. The goal is to find a developer that has already built something similar to what you need. So keep this in mind when reviewing applicants.
Step 1. - Create an account on http://oDesk.com
I use a website called oDesk.com, which is basically a listing of developers and freelancers looking for work. There is another site called elance.com which does the same thing. Signing up is free, and they got a ton of developers that are ready to build.
Step 2. - Post your job on oDesk
oDesk makes it very easy to post a job online. Once posted, candidates will begin applying for your job. Most of the info you need to fill out is basic, so I’ll just go over what isn’t as obvious.
Job Title - The easiest way to find leveraged developers is by using an example in the Job Title. For instance, let’s say we’re building a video sharing app. Your title should say something like “Need mobile app developer to build Instagram clone for videos”. A title like this will attract candidates that are familiar with how Instagram works. It should also attract candidates that are familiar with manipulating videos.
Job Description - At this point, you don’t need to be too detailed. Just add a few more details to support your title. It’s also a good idea to prepare some pre-interview questions using Google Forms. Create a questionnaire and paste the link to the form in the description field. Candidates should be required to answer these questions. Here are some some sample questions:
- Have you ever built a video sharing site?
- If so, where can I see it?
- Are you working on any projects now?
- Are you available to chat by skype?
- How many years experience do you have as a developer?
Estimated Duration - You don’t know how long it’s going to take, so just put “More than 6 months”.
Estimated Workload - At this stage, you are just looking to build a prototype. Plan on hiring for at least 10-30 hours per week.
Feedback Score - I’ve never used this option only because I just found it. But you can set this to “At least 4.5 stars”. I personally will not hire any developer that doesn’t maintain at least 4.5 out of 5 stars.
Hours Billed on oDesk - Again, I’ve never used this option but I personally will not hire any developer that doesn’t have at least 1000 hours billed on past oDesk projects.
Step 3. - Elimination Round
Within a few hours you should start receiving applications. Review their answers on the questionnaire. Here’s what I look for:
5 Star Rating - Again, I look for developers with a 4.5 to 5 star rating. Developers are reviewed by people that have hired them in the past. Quickly eliminate anyone with less than 4.5 stars.
1000+ Hours Worked - I also look for developers that have logged at least 1000 hours with oDesk. The more hours the better. I’m not saying developers with anything less are bad. They are just unproven and I don’t want to waste time with unproven developers.
3+ Years Experience - Your first developer should have a minimum of 3 years experiencing. Building an app isn’t just throwing code together. It is about organizing the project properly, building a strong foundation, and using best practices. What your developer builds today is going to affect everything in the future. You want someone who can build a solid foundation. My opinion is that 3 years is the minimum needed to build these skills.
10+ Completed Projects - I also look for developers that have completed several projects. Their first project will be the worst. Each successive project gets better as they learn about best practices. I’d rather a developer make all the noob mistakes on previous projects than on mine.
Step 4. - Interview
At this point you’ll need to contact each potential candidate. I generally prefer candidates that are quick to respond. You can follow-up with the pre-interview questions and have them elaborate to get a feel for them.
At this point, I also have my mind map ready. I export it to PDF and have them review it. I use this to gauge how well they understand what I’m asking for. If they get it quickly and are on the same page then I bookmark them. Your mind-map should be the bare-minimum requirements. It should only reflect what you absolutely need for a prototype. Remove as much as you can until you can no longer remove anything else.
Step 5. - Hire