Hiring Senior Developers: Mission Possible
OK, you’ve finally got funding for your project. Or a team extension approval. Or you are planning to strengthen your development unit with a senior engineer, because project deadlines are closer than they should be. You are puzzled by the task of bringing a new IT professional on board. The job description contains a long list of requirements, including 5+ years of experience with selected technologies and at least 3 large projects in the portfolio…
You probably already know that engineers are kings of the job market and that the number of vacancies in North America and some European countries exceeds by up to five times the quantity of engineers available. What is the solution?
Plan in advance, keep screening engineers even when there is no immediate need
The worst thing you can do in this situation is to hire someone in a rush. If you are looking to build a long-lasting relationship with the employee, take your time – in some cases, the search for the right candidate (if we are talking about senior developers or architects) may take 3-6 months. So, it is better to plan your team extensions in advance instead of trying to fight the fire when the deadline is about to be missed.
Many companies constantly look for experienced developers, in the “background mode,” meaning that even though they are not looking for people actively, they interview all those who fill out the application form on their website, even if they have no immediate needs.
The simplest and most logical step many managers and CTOs overlook is searching by word of mouth. Introduce a referral bonus in your company – your senior developers are likely to recommend A-level engineers, because they are interested in working with the best.
Create an appealing job description
Do your best to create a “sexy” and, what is more important, understandable, job description. List the requirements as well as the skills which would be the candidate’s advantage.
Describe (at least in general terms) the project intended for this position, including information about the company and product. The main motivation of experienced developers for considering your vacancy is the interesting product which is likely to have a big name in the future and turn him or her into a “rockstar”.
Experienced engineers prefer challenging projects and present themselves as evangelists of a particular technology. Be sure to indicate the salary range, or at least the minimum salary (if it’s not confidential), especially if you are ready to pay a bit above the market.
At the end of the job post, ask the candidates to apply with a cover letter, a detailed CV, and completed projects portfolio – this will allow filtering out unmotivated people to whom it doesn’t really matter where they work.
Advertise your job post at maximum. In addition to job search platforms, you may use professional networks such as Linkedin and professional forums such as Java Community. If you are active in Facebook, Twitter, and other social networks, put it there as well. If you are an IT professional with a lot of friends or followers, your ad will work like the word of mouth in social networks.
When you have a shortlist of 5-10 CVs you’ve found most relevant to your project, it’s time to start the evaluation. Practices with respect to technical skills testing vary greatly across companies, but there are several general types of tasks you can combine. First of all, check the person’s GitHub – whether or not their code fits into your company’s standards. Some companies present candidates with coding tasks during the first interview – for example, show them a fragment of code, ask what it does and how it can be improved.
Others invite several candidates at the same time and arrange a coding race. Such tests are intended to filter out the slow as well as those who sacrifice quality for speed. This method, however, works when you are choosing one candidate out of fifty for an internship or for junior-to-middle positions. When it comes to evaluating senior developers, 3-4-hour homework test tasks will be of greater help. A good idea can be signing 2-4-week contracts with several best candidates who have made it through your screening process. The cons are only the budget you need to spend on this and the fact that the organization of a probation period can be really stressful for both the boss and the would-be-employees.
When making your final decision, consider, also, the candidate’s personal qualities; think about how you see them in your company in 1-2 years. Apart from technical acumen and experience with similar projects, the person is expected to demonstrate the common qualities and soft skills of a white-collar worker, such as attention to detail, problem-solving, constructive communication, proactivity, team working skills, and a non-confrontational nature. Nowadays there is a variety of quick and simple psychological tests that assess working style; pick those in which you believe the most.
The position of senior developer is a key one. A large part of the project depends upon it, as does the professional growth of your existing junior and middle developers. Following our advice will not guarantee that you always hire well, but it will significantly improve your chances.