Hiring a good software developer is an important step in creating a high-quality product and a robust tech team. A skilled and talented developer can be worth his or her weight in gold and could probably be one of the most critical hires of your company.
However, it's surprising to see that most companies approach this task without fully analyzing their hiring process. After glancing through resumes and having a short conversation or two, they're ready to invite candidates on board.
That is perhaps one of the biggest mistakes a company can make.
Just as a good software developer would be of significant value to your company, a bad one can very soon turn into a liability. With the wrong developer messing up projects, you could incur technical debt and have to spend a lot of time refactoring. Not only could this affect the integrity of the project and your reputation in the market, you'd also need to invest time and money to find, hire and train a replacement. Clearly, this is a high-risk decision.
For such an important decision, is it sufficient to make a hiring decision with each interview starting with the standard, “Tell me about yourself,” and, "What are your strengths and weaknesses?" This alone is not enough to fully understand whether or not someone is a great developer.
Here are five steps to hiring the right developers for your tech team.
1. Structure Your Recruitment Process
The success of your recruitment process depends on how well it's structured. By making every candidate go through the same process, you'll have a consistent set of parameters to evaluate them and do a competitive analysis.
Decide beforehand how many stages you'll ask the candidate to go through and what you'll be looking for at each step. The process will be optimized over time, but have one in place to start with.
2. Don't Depend on the Resume Alone
Most companies believe the perfect candidate can be found by searching through a pile of resumes. While this theory is questionable in most other fields, it's especially not true when you're hiring software developers.
A typical resume gives you insight into three distinct areas of the candidate’s profile: education, experience and skill set. Of these, experience is probably the most important. However, where they studied and what technologies they can work with aren't really indicative of whether they'd be a good fit for your company or whether they're an outstanding developer.
It would be unwise to make a snap judgement based on a resume. You need an understanding of what these candidates are capable of doing.
3. Give Them a Test Assignment
The best way you can test whether a developer is a good fit for your company is to do what basketball scouts do: You don't ask them if they're passionate about the game; you watch them play (or in this case, code). Ask candidates to work on a coding assignment—something they could complete in an hour.
Just asking them to complete the assignment isn't enough. The key is to see how the developer goes about solving the problem. To do this, ask them to screen share with one of your developers as they complete the assignment.
Sharing a screen with candidates does take up valuable developer time, no doubt, but it’s important to make it an integral part of your selection process. By doing so, not only do you see the end result, but you can also evaluate how candidates approach the problem, what techniques they use and how they process information.
4. Know How to Evaluate
The goal of the assignment should not be to just pass the test cases. The quality of the code should be evaluated. Ask yourself the following questions:
- Is the code clean and easy to understand?
- Can it be reused and adapted by others?
- How are they naming their variables?
- Are they commenting clearly?
- When they think aloud as they screen share, are they asking the right questions?
- How do they deal with the challenging part of the assignment?
If they do a great job on these questions, you have a much better understanding of the candidate's technical skills.
5. Assess for Cultural Fit
Once you've found someone who's skilled and talented, it's time to assess whether they'll be a good fit for your organization.
If the job candidate doesn't fit into the culture and work style of your business, it's doubtful they'll last there very long. So go beyond the usual "tell me about yourself" and see whether candidates can align themselves with the core values of your company.
Essential to this step is defining what your own values are. If you’re not very clear about them, you can't assess the candidate properly. Spend some time laying down the core values of the company and what you’re looking for in a person you’ll be working with on a daily basis. Then, have specific questions and interviews focused on assessing a candidate’s alignment with each value.
Quality tech talent is hard to come by. One of your most challenging tasks may be sorting through all the applicants to find the handful that will add value to your team, but the effort should pay off in the long run.
Randy Rayess is the co-founder of VenturePact, a marketplace that connects companies to prescreened software development firms. He is also a member of Young Entrepreneur Council (YEC), an invite-only organization comprised of the world's most promising young entrepreneurs.
Read more articles about hiring and HR.