Hiring Developers

My biggest recommendation here is to check references. Don’t hire anyone without talking to past employers who have had positive experiences with the developer.

Given that you don’t have a technical background, it is easy for you to fall into the trap and hire the most personable developer. Often the most personable developer isn’t the best choice. Developers are a very different personality type than most entrepreneurs or marketers.

If the team doesn’t have technical chops, get the best developer you know involved in the interview process. But from a process standpoint, here are certain things that you could do:

Start With Referrals

Referrals are the best way to hire. Good developers usually know other good developers and the word usually spreads quicker. It’s also easier to tap into inactive job seekers who may join your company with the encouragement of a friend or a trusted networking contact.

According to a study by JobVite, it takes 29 days to hire a referred candidate, compared to 39 days to hire a candidate through a job posting or 55 days to hire a candidate through a career site.

Ask For Code Samples

It’s quite normal to ask for code samples of developers you’re looking to hire. Reviewing code samples immediately helps you gauge someone’s ability to code and it’s also a great way to filter out candidates based on actual skill early in the process.

Good code is easy to read, has good semantic markup and have their basic syntax highlighted. Usually, developers refrain from sharing code from their current work as it’s confidential but any previously written code helps. Avoid asking them to write code in an interview situation as it’s usually too short a time and unnecessarily stressful.

Test Their Programming Efficiency Using Hackerank

Platforms like Codility and HackerRank offer coding challenges in the form of tests. In Codility and HackerRank, you can create innovative challenges, rank tech candidates through objective programming tasks and automate a lot of your recruiting. More than anything, it helps you save time. Other tools that you can use to test programming skills are:

  • Coderpad: Used by Airbnb, Quora, Hired, Lyft.
  • Code Interview: Core service + IDE plugins free, pay for premium features.
  • Interview Zen: Watch them solve problems real time, can be done remotely.

Structured Phone Interviews

If your initial impression of them is positive, invite them for a phone screening. In the call, ask a few non-technical questions, followed by a few technical questions and try to simulate a scrum meeting if possible. You’ll be able to gauge their communication skills, their know-how of agile, its tools and how they estimate development time.

Ask Them to Build Something Related to your Product

Another best practice is to ask them to work on a piece that is currently applicable to your project. Can they develop a small piece of your website, build a bare-bones product, prototype something over a few days that would validate their skill set

Ask for the list of Previous/Current Clients

Ask for a list of all clients they have worked with in the past and references to their work. Candidates usually provide references of people who have a favorable opinion of them but checking with other clients helps you gauge the exact piece they worked on and their attitude towards work.

Have a Trial or Condition Period

If you’re hiring full-time, have at least a one month trial period where you can evaluate a developer’s performance, be a little more hands on with their work. Based on their performance, you can determine whether you want to keep working with them.

No matter if you’re a startup wanting to build an in-house team or a dev house expanding the size, the culture fit is crucial in the recruitment process. I think the situation now makes it more for the startups to compete for skilled devs than the other way round (devs for startups).

I hate the buzz phrase “best practices” but my friends at startups (buzzword for small company) use it and are constantly seeking them.

When I consult with companies on how to hire good developers out of the mountain of resumes, I suggest they treat it like a sales funnel.

Qualify the resumes based on specific skills you want to see -> Qualify with a phone screen for basic culture fit and to ensure that they know the skills that you cared about in step 1 -> Further qualify and increase engagement with a simple, yet abstract assignment -> Bring in house for an interview with the hiring manager and problem solving session with your dev group.

It sounds like a lot, but it is 4 simple steps to hire better developers while saving you and your team time.

I think the most important factor when evaluating a developer is the results and speed of execution in building a prototype for you. The good news is that as a non-developer you can still asses this (although if you have never built any software before you will have no idea about the speed of execution of your developer and what is normal/possible).

The problem is that you will not be able to assess the code quality and the scaleability of the code. The good news is that for most startups, scaleability is not an issue. As in you are highly unlikely to get 1 million users in the first year of your startup. So code quality and scaleability although important is not as important in a startup.