The secrets to hiring a good developer
A good man is hard to find – a developer can make or break a project, regardless of how promising or innovative the concept might be. The internet is full of stories of trial and error in projects that should be a straightforward job, and of company execs hiring multiple developers across many months only to end up with a platform that has as much traffic as a dilapidated, abandoned highway in a post-apocalyptic movie. Fortunately, many pitfalls in the search for developers can be avoided if given careful thought at key stages.
Carefully consider the type of candidate you need. Create the ideal and optimal profiles and share the descriptions in your job posting. Focus on both the technical knowledge you require as well as the desirable soft skills. Highlight the key aspects that you consider particularly important and non-negotiable and specify those that may leave room for improvement. Point out the nice-to-have qualities sought in the candidate. As an example, linguistic proficiency in a foreign language is sometimes a skill that candidates struggle with, but if other critical requirements are met, it might be worth giving the person a chance. Make sure you have set up a budget for recruitment as well as the candidate’s salary and stick to your estimate. Include information on whether it is an on-site job, remote work or a hybrid solution. Consider the questions a potential candidate might ask and be ready to answer them.
Introduce yourself and the company briefly. Remain professional, but nice at the same time. Bear in mind that a job interview is a stressful situation for most people so striking the right balance between a professional and friendly atmosphere may significantly help the conversation. Stay honest throughout the interview. Communicate the type of project you would like the developer to work on to avoid surprises in the future. There are cases when candidates refuse to work on certain projects for different reasons – e.g., some may not want to work using outdated code, others may refuse to get involved for philosophical or religious reasons. At createIT, we interviewed a candidate that did not want to work on a project for an online casino as it was against his beliefs, and that is a normal and understandable situation. As an employer, we just must know about such factors before hiring.
Ask technical questions and follow with a practical one. Create a problem which could happen in real life software development and see how the candidate handles it. Throughout the interview, focus on the personality of the candidate. How is the conversation going? How is the candidate behaving? Do you think it is a person, other team members will get along with? Is it someone fit for a team at all? In the academic world, often the best scientists do not make the best teachers. Similarly, some of the best IT specialists are strong individuals that may not make the best teammates. A conflicting or completely unsocial person may make the life of the entire team more difficult. After all, if one cog in the machine does not work as intended, the whole mechanism will work inefficiently. It is better to have an at least moderately sociable candidate with good technical and soft skills rather than a brilliant genius no one really knows how to talk to.
Another important aspect is flexibility. Test the waters, see how open the candidate is to change. After all, a project will eventually end at some point and the developer will have to be either dismissed or reassigned to a new task, a potentially different one. Have a look at the person’s code samples in their public repository or create a short test for the candidate. You should know the way he or she thinks when programming. Be prepared to answer any question and encourage the candidate to ask them. You might want to have someone with you during the interview who can help with the answers.
What to focus on
First, focus on the candidate’s competencies and personal qualities. Remember that not only his/her vision and experience but also his/her fit to the culture of the organisation will have an impact on the success of the entire recruitment process.
Next, give your most promising candidate a trial period working on a specific project and receiving the salary he or she would get if permanently hired. This will serve as the ultimate test without taking too much risk. Do not be afraid of outsourcing, do not limit your search to the local environment. Sometimes the best developers for the job will not be working under your company’s roof – and that is fine. It is better to have a talent that you do not see in the office every day, but delivers exactly what you expect, and currently long-distance communication is less of a problem than ever before.
Do not go with the cheapest, but do not break your bank. The lowest rates will likely lead to problems, and problems eventually lead to higher costs. On the other hand, you do not need to overspend on every corner. Every project has easier parts for which you should not pay premium. Avoid focusing on freelancers only, instead – consider a company that outsources talent or a freelancer agency. By doing so, you gain access to a pool of specialists instead of a single person who might be good in several areas but excel in none. Furthermore, having a connection to an outsourcing company can help you maintain the project after it launches, or can open opportunities for a future cooperation on something completely new.
Lastly, avoid hiring someone who does not understand or believe in your vision. It just will not work.
Article originally published here.