How to Create Your 4 Step Selection Process
A guide to finding the perfect fit for your company.
Having a short, well organized selection process can significantly increase your chances of finding the right person for your startup. This is even more important if you are hiring in the tech industry where job offers proliferate constantly, and people value efficiency.
You have sorted through resumes, picked your top candidates, and now it’s time to find your developer. For each step of the interview process, we will help you define your main goals and who is the best person to conduct each interview.
We believe there is higher value in seeing how candidates perform when they are fully prepared, as opposed to under pressure. We recommend telling the candidate what to expect in each step, rather than surprising them, as this emulates the actual work environment.
Step 1. First Interview (40 min)
It’s best to start with a general approach for optimal first impressions on both sides. Your focus is to meet the candidate, pitch the company, project and team to him/her, and set employment expectations.
Don’t worry about delving into too many details at this point, there will be time for that later in the process. Instead, research interview questions that uncover personality, drive, strengths, and weaknesses. Prioritize which attributes are most important for team synergy, and seek out questions that reflect your company culture. We outlined the “how to’s” of designing a first interview in a previous post.
This first interview is preferably a call and may be conducted by any team member who can easily assess the character of the candidate. Make sure this person knows the company well, and can enthusiastically present the project and people involved.
Step 2. Technical Interview (1 hour)
This is your chance to discover the skill level of the developer and their area of expertise. Your focus should be on figuring out whether this candidate is a good fit from a technical perspective.
Because this is a technical interview, it is best if conducted by someone who understands code. This person does not necessarily have to be a coder himself, but should feel comfortable assessing projects from a technical perspective.
Structure the interview as a two part process:
1. Technical information: in this part you will ask the candidate to present one project they worked on in the past. Encourage candidates to pick a project they are proud of, and talk to you about it. Expect a good candidate to pick a project that has sufficient technical depth and to do it ahead in time. They should be prepared to explain it thoroughly and answer all questions surrounding their level of involvement. This is your opportunity to understand the depth of their technical knowledge. Which decisions were they involved in? Did they have ownership over the project? Do they express excitement about this project?
2. Pair programming — Give the candidate a coding challenge that can be executed on the spot. You can start with something very simple and add requirements to see how the candidate changes the program. Do this over a screen share, so the candidate can work in their own environment and language. There’s no point in evaluating someone who is nervous and it is completely acceptable if the candidate starts with simple, inefficient answers, asks for help, or does not understand part of a question.
There are several websites with coding challenges you may use like Project Euler or The Cryptopals Challenges. Though this coding challenge might not be related to the needs of your project, know in advance what you’ll be looking at. For example, is the candidate required to use a mathematical language? Then assess how he performs in algorithm questions. Are you looking for an organized developer? Then test how clean and organized their code is.
Step 3. Coding Challenge Process
Time has come to test the candidate’s performance in a project, hopefully related to the actual work they will be doing at your company. In this step, your focus should be showcasing the technical needs of your project and testing the candidate’s overall performance in this situation. This challenge needs to be conducted by someone with a technical background.
A proper way to introduce the coding challenge to candidates is through a detailed assessment that includes the following sections: an introduction to the project, functional requirements, non-functional requirements, execution details, evaluation criteria and payment. It is common practice for coding challenges to be a paid part of the interview. Developers should not showcase their work for free, and having a paid project shows both parts are making use of valuable resources, time and money, in this part of the selection process.
We believe there is value in letting the candidate determine how much time the project will take and giving an estimate for completion. Make it clear whether you will be answering questions during the project or if you expect candidates to solve problems by themselves.
For the evaluation of the project, have a set list of criteria and be prepared to provide a score of 1–5. This list may include functionality, usability, aesthetic sense, code proficiency, project presentation, time estimation, design justification, among others. Feel free to write down comments on each section of the assessment.
Step 4. Gather extra information
At this point, if you feel they are a strong candidate, have them meet at least one other member of your team. A few minutes of conversation and review should be enough. If you feel you need further information, ask the candidate for references.
During the entire process make sure to inform the candidate of the steps to follow. Finally, notify the candidate when you will be making your final decision.
If you are highly interested, be sure to inquire about any other pending offers the candidate may have, and adjust your selection process accordingly.
If you are confident they are the right person to join your team, make them an offer as soon as possible!
Do you have any further questions about hiring developers?
Ryfter is a marketplace that brings together the best developers in Latin America with american startups for full-time and remote positions. Email us at firstname.lastname@example.org.