I’m one of those founders who can do everything besides code. Marketing? A breeze. Accounting? Accounted for. Operations? Cake walk. Code? I’ll be right back!
Not being able to code has put a damper on my ability to hire the right programmer and further grow my businesses. I have hired three programmers who all seemed fantastic and brilliant during their interviews, but ultimately couldn’t deliver. I always blamed the programmers (it was their fault for misleading me about their true abilities). But then again, maybe the fact that I’ve had the same experience three times means that it had more to do with me than I would like to admit. As a founder, you need to be able to correctly assess the programmer you hire. But the question still remains, “How can I hire a programmer if I don’t have a programming background?”
For people who are code illiterate, I just might have unlocked the secret to hiring the best programmer available.
Step 1: Consult Programmer Friends
The first thing I did was reach out to friends who are programmers for other companies or who currently lead a team of programmers. One friend of mine, Ravi Patel, was generous enough to sit down with me and explain the hiring process he uses. I was able to get a better sense of how to approach first-round interviews, ask key questions, and judge responses. This was a great way to get my feet wet before the interview process started.
Step 2: Ask the Right Questions
If you ask the wrong questions in an interview, you have no clear way to accurately measure the programmers’ ability. To avoid this, here are some questions to guide you:
- “Tell me a little about yourself and your background.” I like to get to know the person, to learn how they first started programming, and hear some of the things they have built. While they share their stories, try to see if you can picture yourself and your team working with them on a daily basis.
- “What hours do you prefer working? During what times are you most efficient?” This question helps me get a sense of how the programmer works. I personally need a programmer to be available during 9-to-5 hours, mainly to help our staff with any problems they might have. However, I don’t mind if they work whenever they are most productive.
- “What are your current time commitments?” It’s important to know what else they are currently working on to see if they can truly commit. Only hire programmers who can commit to your company 110 percent.
- “Do you see yourself as a project manager, a developer, or both?” This question can be a little tricky to answer. I want a project manager who can help me design new features and interfaces. I want a developer who can follow exact directions so they can build what we need. I prefer hiring programmers who can do both.
- “How would you manage a team of programmers?” The key things to look for here are leadership skills and whether they can lead by example. I don’t want a programmer to take the back seat once they have a team to manage. They shouldn’t be afraid of getting their hands dirty.
- “How you would fix these issues?” This is a make-it-or-break-it question. Provide a few examples of problems you’ve encountered in the past. Present them with the exact same problems to see how they would fix them. Their answers should be similar to the solutions you used, or better. If they can’t give a concise answer, that’s usually a good indicator that they are not the right person for the job.
- “I need this done over the next couple of weeks. What steps will you take to finish them on time?” Present them with a few things that need completing urgently and a few things that need doing over the next few weeks. Listen to how they plan to finish each thing and ask them for an approximate time frame.
- “What would you do to ensure that our servers are up 100% of the time?” If our servers crash, we lose money, our clients lose money, and most importantly, we lose clients. If the programmer I’m looking to hire has some database and server knowledge, they need to explain to me how we can maintain 100 % uptime and what flags we can implement to give us alerts on any impending server crashes.
- “If I need something that you have never done before, how would you approach it?” I ask this question to see how they approach situations that they have typically never been presented with before. Usually, I look for how they would research a solution and if they are the type of person who enjoys a challenge.
- “Here is what I expect from you.” Let the applicant know from the outset what you expect from them. Tell them how much commitment you expect: if you want them to be available during weekends, if they need to be available at odd times in case of big issues, what they are expected to build, etc.
Step 3: Bring in the Experts
These questions give me a better sense of who the top three or so programmers are. After I select my top candidates, I ask the same friends to help me interview them for the second round. During this stage, we ask more technical questions to better expose the talents of the finalists. If you don’t have any friends who can help, try contacting a nearby programmer through LinkedIn as a consultant. After you receive feedback from an expert, you should be in a good position to pick the right candidate for your team.
As a friend once told me, a decent programmer you get along with is much better than a brilliant programmer you can’t stand. The decent programmer can always learn through experience and research, whereas the brilliant programmer probably can’t change his personality enough to suit.