A lot of companies are asking themselves: How can we hire a new employee by just interviewing candidates? Talking about the job doesn’t show if the interviewee can actually do the job the way it is expected. The skills required on the job are rarely the ones that are tested during an interview. Doing well on the job requires more than just the technical know-how. Problem-solving or relevant work experience play an integral role as well. It’s not easy to measure or evaluate these skills in the space of an interview(s).
Looking at candidates' past experience is not a straightforward feat, especially for developers. Designers can show their work achievements because their work is mostly in the open. Programmers often don’t have that advantage. Their code is often guarded. Not every great developer works with open source software.
Test Project Assessment if you are a company
Letting the candidate complete a small project or task helps quantify their skills better than traditional interviews:
- Problem-solving skills
- Domain specific knowledge
- Contextual understanding
The candidate is given a task to do during an interview session or to prepare it at home and present it during a call (or in person). This often happens late in the overall selection process because, as a company, you’re asking a lot from the candidate: investing time and effort for a company that isn’t sure about whether they will hire the candidate or not. Some companies are giving candidates an Amazon Gift Card or other such rewards as a thank you for investing their time, even if they are not selected. This is more common when you ask the candidates to do a home assignment.
The candidate usually gets 1-2 weeks to work on the project. They shouldn’t need to spend more than 2 to 3 hours to get it done. The candidate then presents the project results during a live session and the interviewers are able to ask follow-up questions.
As mentioned earlier, this project work should be requested pretty late in the selection process so that you are just giving a test project to your top 3% - 4% of potential candidates.
How to pick a good project
Since you want to find out if the candidate can handle the day to day of the job and maybe even exceed your expectations, there should be some real-world understanding of the project. We highly recommend you choose a project that you can’t use afterwards. Otherwise it looks like you ask candidates for free work that your company can later benefit from. This is not a good look
Take the time to prepare the project brief well and explain in detail your outcome expectations. Try to avoid answering extra questions in order to make the trial project work produced by different candidates comparable. If the person you want to hire comes up with a solution that is different than you expected, just judge it from the viewpoint of the candidate's understanding. Everyone comes from different backgrounds and since there was very little communication about your expectation, it’s shouldn't be viewed negatively
Judge the outcome, and more importantly how the candidate approached the problem. Ask questions to find out their assumptions, how they came up with the solution, and how much time they spent on the trial project.
Home assignments vs. live sessions
In the development world, it is quite common to do live coding evaluations, which have their pros, but also their cons. Compared to home assignments, those are way more stressful. The good thing is that the candidate can talk you through their thought process during the coding sessions. This way you can observe how the person thinks and acts in person.
With home assignments, you avoid the aspect of being watched and judged at the same time. You want to test the abilities of your candidate in a relaxed environment (which is a more realistic work scenario) than in a stressful situation of live coding in front of people who they don’t know.