Companies want the best developers on their teams. But often, they don’t end up hiring the right candidates because their processes are focused on filtering out poor performers rather than attracting the best. The reason for this is often very straightforward: Hiring processes are designed to help the hiring team make choices, not the candidate.
We know that hiring is really hard work and takes up a lot of time. Hiring managers often juggle this mammoth task in addition to all of their other work. Because of that, it makes perfect sense to optimise the processes for the people on the company side. This, however, should not be at the expense of the people you are trying to attract!
In order to hire great developers, you need to do two things: convince them that the role is a good fit and show them that your company is a great place to work at. That’s why you have to create a hiring process with the candidate experience in mind.
Hiring then becomes more about building relationships and showcasing the opportunity you can offer.
Why a candidate’s experience matters
Devs have a lot of options
It’s a great time to be a developer: South Africa has no shortage of interesting companies and almost all of them are looking to fill tech roles. The demand outstrips the supply and companies often compete for the same candidates. We regularly see popular devs on OfferZen rake in 10 or more interview requests in no time.
The best coders can take their pick from multiple great opportunities. This allows them to go with the best offer, both financially and culturally.
If your company doesn't engage prospective developers in ways that matter to them, another company will.
That is why a candidate’s experience of your interview process is so important. It starts with the job description of your advert and the very first email you send out. Your interactions will make a sometimes irrevocable impression of your company and its culture.
If you don’t care about this, you’ll lose out on the best developers to other companies that do.
Devs share their experiences
Another thing to keep in mind is that developers talk to one another and will share their experiences within their circles. This can either make hiring devs a lot easier for you or minimize the number of people wanting to interview with your company.
Philip Botha from Entersekt shared the simple heuristic his team follows: Everyone you interview should want to work for your company, no matter whether they get the job or not. “Recruitment is an important window into our company culture,” he says. “I think that people underestimate the importance of this, but the way you interact with candidates plays a very important part in how they will see your company.”
If the developer has a bad experience, they will tell their friends. This is especially scary because you will never know that this is happening. The already small talent pool of great devs, however, will think twice before applying to your company.
On the flip side, if they have a great experience interviewing with your company, they’ll tell their friends too, and you’ll have more developers wanting to join your company.
Creating a good candidate experience
Communication and feedback
The simplest way of ensuring a good candidate experience is through constant and transparent communication. What do we mean by this?
Explain your hiring process: Tell candidates what to expect and how they can prepare
In our experience, many companies don’t give developers enough information on what to expect from the interview process. Perhaps they fear that allowing the person to do research would, in turn, allow them to be “too prepared” to be evaluated.
But interviews are actually really hard and stressful, even if someone gets to prepare for them.
If the aim of interviews is to really understand someone’s skills and personality, you don’t want them to be too anxious to be themselves. Making someone feel comfortable allows you to really get to know them and lets them showcase their true skills. In addition, their level of preparation will speak volumes on what they’d do on a job.
Now you can still ask them questions that keep them on their toes but their performance won’t be tainted as much by stress.
Providing candidates with a list of people they will be speaking to and a clearly defined focus of each interview will allow them to prepare and be more relaxed.
Keep people in the loop: no news is news to them
There are a lot of delays that can pop up during the interview process. Sometimes things simply take longer than expected: It could be a delay in getting feedback from the interviewers or perhaps you are waiting for the background checks to be completed.
People have a tendency to not want to share anything until they have the final answer, even though they are probably doing many things in the background. Instead, they should always stay in touch with prospective candidates:
If you’re not constantly informing people of what is happening on your side, you’ll risk losing out on them. Try to imagine what the candidate is thinking when they don’t hear from you: They most likely assume that you’re no longer interested in them. Mentally, they will then move on, and focus on pursuing other options.
This is why it’s important to over-communicate. Perhaps you’ve promised them an update, but you don’t have anything on which to update them. Just tell them that. People like to know where they stand, so keep them in the loop as much as possible - even if it’s just to tell them that there is “no news”.
“No news”… is actually news to them. Communicate what is happening behind the scenes. Let devs know where you are at and what the next steps will be. You want them to stay excited to work with you!
Close the loop explicitly
There are also less joyous but equally important reasons to communicate clearly. Telling someone that you won’t be hiring them is one of the hardest parts of the hiring process. Nobody wants to be the bearer of bad news and perhaps that’s why so many employers drop the ball here.
Giving no feedback at all is a really bad idea. The way you tell someone you won’t be hiring them will affect their lasting impression of your company.
People have invested a lot of time to complete your assessments and come in for an interview. The least you owe them is clear communication and preferably some useful feedback on why they didn’t make it. Otherwise, they might feel like they wasted their time with your company, an experience they will share with their friends (remember, devs talk to each other!).
That’s why Airbnb has started to give people an option: They reject candidates via email and invite them to call in for additional feedback. This both allows the candidate to digest the response and makes the following conversation more productive. The developer is much more likely to feel positive about a company when they can use the feedback.
Tech assessments
Assessing a developer's skills is a crucial part of any hiring process. But what if your tech assessment isn’t helping you hire the best devs? What if you are actually losing people because of it?
Think about tech assessments from a dev’s perspective for a moment: Great developers have a lot of options. A LOT. That means, they are dealing with many interested companies, all sending them technical tests. Most developers looking for work are currently employed. That often means they don’t have the time OR the motivation to complete them all. There are two key reasons for this:
- Tech assessments are often too long.
- Many companies use tech assessments as a firewall before investing more time getting to know or introduce themselves to the devs.
The message you are sending is: We only care if you are great
Interviews can be time-consuming, especially if they require multiple members from your tech team to be present. That is why many companies try to ensure that they only interview the “best” devs by sending out tech assessments beforehand. While this can save a company time, it could also mean they are losing out on devs who decide not to complete the assessment.
Expecting a dev to spend time on a (potentially quite long) tech assessment asks of them what the company itself isn’t willing to do: To invest a lot of time before having the opportunity to form an opinion.
Because most people are failing their assessment, many companies assume there aren’t enough good developers out there. But what if the best developers aren’t even attempting your assessment?
By giving a dev a test without interacting with them you’re effectively saying to them:
“Hi, we’d like to find out if you’re good enough to talk to us. Here is a test for you. If you pass the test, we’ll to talk you. If not, you most likely won’t hear from us again.”
Rethinking tech assessments
If you are going to send devs a tech test before talking to them, a slight tweak in your approach and communication can make a big difference. In particular, keep the following points in mind:
- Be transparent. Explain your process up front (as explained earlier).
- Tell them that you respect their time too.
- Give them options. You could offer to talk to them to answer any questions or invite them to see your office before asking them to do your test.
Showing developers that you are aware of their situation and explaining where you are coming from changes the entire scenario. All of a sudden, the message you are sending can come across like this:
“Hi, we are super keen to talk to you. The first step in our process is a tech assessment. We know that it asks for quite a time commitment from your side - and you probably have many of these already. If you would rather talk to us first, please let me know. I’d be happy to answer any questions via email, have a quick call or show you around the office!”
In a nutshell: treat people like human beings
In essence, creating a good candidate experience requires a change of mindset: Remember that you aren't dealing with potential "resources" and "numbers" but with individual people who, at the end of the day, are all just like you.
If you want to hire the best people, you have to be the best at attracting them. If you put too much emphasis on filtering out poor performers, then the best people are probably not even applying to you at all.
- Design your interview process with the candidate’s experience in mind.
- Try to have a personal connection with everyone you interview.
You’ll be more successful at hiring if you make an effort to ensure that every candidate, whether they get the job or not, has a good experience, and still wants to join your company.