5 Tips for Hiring the Best Developers

The battle among companies to attract the best IT talent and hire the best developers is becoming increasingly fierce. The demand for developers is very high, and in many countries the amount demanded simply exceeds the number of unemployed people in the field. This is why companies in general must fill their vacancies by taking the professional away from the company where they currently work. In addition to this, as in any other profession, some professionals have more natural talent than others, and therefore it is necessary to make sure that the person being brought in is a contribution and works well with the team they will be working with. It is therefore key to know how to recognize the best programmers and, in addition, to convince them to work with you.

Here are 5 tips to help you achieve it:

• 1. Don't rush and do it right

Probably the biggest mistake companies make is to start searching in a hurry. In a few cases there may be a good reason for this to happen, but most of the time it is simply poor planning. The result is that only a few candidates are evaluated and the "least bad" one is chosen. This also happens when the IT manager or the recruiter is so busy that they do not have time to evaluate enough candidates and do it right. Nothing is more dangerous than this, since a bad hire will be much (but MUCH) more costly than the hours spent getting a good number of candidates and evaluating them well. Plan ahead, make sure you dedicate the time and effort the process requires, and do not hire the first one who seems acceptable: evaluate enough candidates and evaluate them well, and choose the best one.

• 2. Evaluate a developer's particular competencies

If you followed step one correctly, you now have a good number of candidates to start working with and enough time to evaluate them as you should. Now you must make sure that your evaluation process is the right one. If you managed to receive a good number of CVs, then you must optimize your process to quickly screen out the least promising candidates. This is very important because the more optimized your evaluation process is, the more likely you will be able to secure the time (yours and that of other people involved) that a successful process requires. Usually the first step is to review the CVs to validate years of experience and knowledge, followed by a technical evaluation of the CVs that were filtered.

With the 20% who passed the first stage, you can run a control test at the office, in addition to a personality test that helps in the later interviews. From there, the technical interview should focus on scenarios and how the candidate would solve them. Here too, if it is the usual case where senior members of the technical team conduct the interview, it is possible to do an initial analysis of the fit with the team and the company culture. This can be incorporated into the company's regular process, with the usual, more traditional interviews.

What matters is to pre-filter quickly, evaluate practical programming competencies and logical reasoning ability, which are the greatest predictors of future performance for a developer, and focus on the promising candidates for the rest of the process.

• 3. "Cultural Fit", "Diversity" and "Rockstars"

Following the previous steps, you now have some good candidates to consider. For the final decision, their intellectual and programming ability cannot be the only factor. It has been shown that diversity helps form more effective teams. People with diverse backgrounds (I know... maybe I overuse English expressions), experiences, and personalities so as to find diverse solutions to diverse problems. Cultural fit is very important, especially when the company has a very strong culture that it wants to maintain. Finally, there is the matter of "Rockstars". Those developers with impressive abilities, who could work at NASA... and they know it. It is not bad to have a rockstar, but there are some things to keep in mind. The first is that a team cannot consist of 100% rockstars. In every development project there are exciting tasks and routine ones. Someone has to do those routine tasks, which are important, but which a rockstar may not be motivated to do for very long. Rockstars also tend to be higher maintenance, which can drain the resources and energy of managers and teammates. Lastly, rockstars sometimes tend not to work well with other rockstars, since they are usually very stubborn about the right way to do something (the right way for a rockstar is THEIR way of doing things).

What this is about is not only looking for talent, but forming a team that functions and works well, with people who fit the culture of the company and the team.

• 4. You are a candidate company for the programmer who is choosing where to work.

The selection process should not be seen only as a selection activity. During the process you have to charm the candidate and win them over. They are also going to make a decision, they probably already have a good job, and you have to convince them to come and work with us. It is important to know what the candidate is looking for so that you can give them good reasons to choose our company. If you are recruiting for a large company, then its brand and prestige, as well as access to training, large projects, top-level colleagues, etc., are strong arguments (but you have to look at the specific value proposition you want to "sell" to the candidate).

If you are recruiting for a small company, the ability to take on many responsibilities (which is sometimes difficult in large companies, since everyone sees a very small piece of the whole), to learn many things, the possibility of growing if the company grows, entrepreneurial spirit, etc., are good points to emphasize. Again, you have to know what the candidate is looking for and which points make our company attractive.

Developers (we do, I am one too) like to learn the latest technologies and create innovative things, so you have to see how the company can offer this to the candidate if they accept our offer.

• 5. Passion

The best developers tend to love programming. They are passionate about it, they love it, they would actually do it for free because they enjoy it (but please don't even think of proposing this to them). During the interview, try to see that passion in the candidate's eyes. See how excited they get when they tell you about the incredible code they wrote in their previous job and how they solved a problem with a technology they master.

Bonus Track: The best developers tend to have friends or acquaintances who are just as good (and who would even love to work together), so once you have the first good programmers on your team, ask them to refer others to you (just as good as they are), and I assure you that you will have excellent candidates for your next process.

Ready to improve your hiring process?

Start using psychometric and technical tests today, at no cost.