So, it’s about time that you expand your development team with a new developer. However, as such a technically-orientated field, interviewing a developer entails a slightly different process from most other careers. Hard skills and capabilities aside, you also want to hire someone with the soft skills and personality profile to fit into your team and the specific role you need to fill.
By following these steps, you’ll be able to identify the perfect candidate and verify whether they are up to the task.
Everybody’s time is precious, especially when it comes to work. Organizing and scheduling an interview with every single applicant is out of the question, not to mention impractical. However, you probably also want to get a better idea of how someone fits your criteria without relying solely on the information they provide in their CV.
A job-seeker includes the information they think are the most important and showcases their capabilities best in their CV. Because every job position is unique, that means the CV probably won’t cover every question you have.
A questionnaire is an effective shortcut that helps you understand your candidate better. By posting the questionnaire online, it can quickly and easily be completed from anywhere. Based on the answers, you can filter candidates further and continue with the interview process with the most suitable developers.
Here is an example questionnaire you can customize to your unique position. Some of the most common and useful questions are:
- Basic personal and contact info (email, full names, address, relevant social media/LinkedIn profiles,etc.)
- Present scenarios and ask how they would respond (conflict with a team member/manager, difficult client, etc.)
- Working habits, e.g, how do they handle stress? Do they prefer working in a team or individually? How willing are they to communicate with others?
- Significant/prominent projects or work experience they have completed
- Strengths, weaknesses, and traits they are willing to work on.
- Near, medium, and long-term career goals.
- Although not as common, you can even include a short challenge question or two that requires technical skills. An example is to explain a tech concept as if the interviewer is a novice.
Questionnaires will also help smooth out the actual interview because they provide talking points that can be expanded on. And, it also makes comparing applicants on even footing easier because the questions are the same for everyone.
For a developer position, a CV and portfolio are equally important and, in most cases, have become completely inseparable. A CV is a job seeker’s opportunity to showcase their achievements, strengths, and experience. And, a portfolio provides the employer with real-life examples of the work and projects they have completed.
You should already be able to see how they work and the quality that they deliver from their projects. However, keep in mind that many IT projects are completed in a team, and you might not be able to tell what is specifically the candidate’s work or that of a team member.
In the development world, experience also usually tops education. Completing real-life projects where a client and your employer’s time and money is on the line is very different from completing a school project in a controlled environment.
The more experience someone has, the more they have proven the ability to solve new problems, find solutions, and to deliver a result. The ability to turn ideas into reality is the greatest hallmark of an experienced developer.
Now that you’ve narrowed down your candidates based on the most obvious criteria, it’s time to get a deeper understanding of their abilities and compatibility with your team.
A personality test might not be the first thing that comes to mind when you think of interviewing a developer. However, company culture is becoming an increasingly important part of the professional world, especially in tech.
Companies want to hire individuals who represent their values and can operate on their terms. Similarly, individuals also want to find careers where they feel they fit in, which aligns with what they believe in, and that provides them with the opportunity to grow in certain personal and professional capacities.
These types of tests are very difficult to set up if you’re not a trained psychologist or professional career coach. Luckily, there are many standard models as well as assessment platforms specifically for this situation.
For example, the HIGH5 test focuses on helping identify the user’s top 5 strengths. Similarly, there are many other recruitment assessment tools to help hone in on specific factors, such as:
- Language skills/literacy, e.g. The English Quiz
- Specific skill sets/competencies, e.g. Skillsarena
- Personality, cognitive, and intelligence tests, e.g. Berke Assessment and Wonscore from Wonderlic
It’s also a generally accepted fact that certain personalities perform better in certain positions or roles. Some companies are even making use of well-known personality test frameworks, like the Tony Robbins DISC model. Other examples are 16 Personalities or MBTI models.
Now it’s the time to really see what a developer is made of. Coding is what you’re hiring them to do, so it’s only natural that you want to see an example of their work. Plus, coding is a wide field and this will allow you to test them according to the specific language/software/practices that will be most important to the job position.
The difficulty of the challenge should be decided by the level of the position, how much time you want each candidate to invest in it, and your lead developer’s preference. A coding challenge is also a great way to weed out less serious or committed applicants.
On top of seeing whether an applicant can actually complete the challenge, there are a number of other things to look for:
- Do they use best practices/standards?
- Did they display special problem solving/creative solutions?
- Is the code legible and well documented?
Some challenges are even meant not to be completed, but to test the candidates’ perseverance, performance under pressure, problem-solving skills, and determination.
Coding challenges also don’t have to be completed in-person. The code can be submitted to your senior developer/hiring manager via platforms like codepen.io or JSFiddle. CodeInterview is a platform specifically for conducting coding interviews, with embedded video conferencing and collaboration tools.
By now, you should have an accurate idea of the candidate’s professional experience, personal profile, and technical skills. However, it might be prudent to hold off on making the working relationship permanent just yet.
To get a sense of your working relationship as well as to double-check their developer abilities give them an entire project to complete individually or as part of your team. However, be cognizant and respectful of the fact that the candidate has already invested a lot of time and has proven their seriousness. As this is a real-life project that will take a lot of time to complete, offer it on a paid basis — even if it is at a lower rate.
This will help mitigate the risk for you if the hire does not work out, but keep the candidate motivated to apply and do their best.
Because it’s the first time you will work together, make sure that you are very thorough and clear when providing them with your technical requirements. Set a realistic deadline and be ready to offer them the necessary support when needed as they might have a lot of questions.
The task can either be part of a currently ongoing project or a past project you want the candidate to redo. Whatever the case, try to standardize it so that you can reuse it in the future on a consistent basis.
This is a rigorous developer interviewing process. However, if the candidate completes every step and impresses you during the one-on-one interview(s), it should leave you with very little doubt that you have made the best hiring decision. Furthermore, it will ensure that the developer knows what he/she is getting into so that both parties have realistic expectations.
Good luck, and may the best developer join your team!