Codementor Events

Hiring the best remote software engineers to build a highly efficient team

Published Aug 19, 2022
Hiring the best remote software engineers to build a highly efficient team

In this post, I want to share the framework that I used for hiring remote software engineers for my team. As I see it to be very effective, I would like to share it with you all.

Originally posted on Medium

Step 1: Define your position (and define the ideal candidate)

Defining the job description is one of the things every hiring manager does. To hire the best candidate, this itself is not sufficient, we need to have a picture of an ideal candidate. To do this we can ask questions like what kind of experiences he should have, team player/individual contributor, expert debugger vs fast developer, etc.

Step 2: Screening

In my experience, for the software developer role, we need to interview about 3–4 candidates for 1 successful hire. Hence, we need to get as many CV as possible to shortlist the best CVs that is closer to the ideal candidate.

Step 3: Interviews

Usually, to hire the best candidate these are the categories that need assessment:

Interest in the available job
Alignment toward the company’s goal
Past experiences
Engineering skills
Design Skills (system design/ UI Design, etc..)
Vision (Product vision, ownership, …)
Communication skills
Behavioural skills
I designed 2 interviews to exactly evaluate these skillsets.

Interview 1: Introduction + Coding

In this interview, I try to validate the first 4 points of the above list. To validate this, I sent them the skeleton of the project a few days before and ask them to have it working at the time of the interview. It should take just about 10–15 min to set up, but you will be surprised that about 30% of candidates don't reply back. So you already have a shortlisted set of candidates who are interested.

For these candidates, I structure the 1-hour remote interview with two sections:

Getting to know each other (20 min)
Just by speaking to the person, we can get a lot of insights, asking typical HR questions like
-> “Why are you looking for a change?”,
-> “What is your ideal position”,
-> “Where do you see yourself in about 10 years from now”

can give very good clarity on if this could be your ideal candidate.

Coding challenge (40 min)
In this interview, I ask them to share their screen and build a feature on top of the skeleton. Usually, the task I give them would be impossible to complete in 40 min, but the way they approach the problem under time pressure can give us an incredible amount of information. Throughout the interview, I do ask myself how would my ideal candidate solve this problem and then compare it with the actual candidate.

At the end I also ask them how they feel, usually, if it is your ideal candidate, they should be enjoying the challenge. The successful candidates get invited for the second 1-hour interview.

Interview 2: Open-ended problem

In this interview, the ultimate goal for me is to get as many signals about the last 5 points (of the list above). Note: engineering skills is tested in both interviews

In this interview, I give a whiteboard to the candidate (I use Miro). I just write an opening sentence (which is usually the goal of our future team). This sentence looks like this:

Product team asked us to build a system that does …

For the first 30–40 minutes of the interview, I just take the role of facilitator, I answer all the clarifying questions, give the direction to the candidate, etc… I design the scope in such a way that we have a decent solution in 40ish minutes.

After the first 40 minutes, I turn the interview into a real-life scenario by saying this:

“Now we built this system, deployed in production, have great user-engagement and also the candidate got promoted as a technical leader for this product”

Now, I give him challenges. For example,

Scalability challenge: few hundred thousand users are using the system and they report slowing down
Security challenge: an attacker managed to get into the system and got access to some of the keys that need to be a secret
Resource challenge: IT team says, they need to cut down the IT budget of this project and what tradeoff do you make?
These questions not only help me to get the pragmatic technical skills of the candidate but also show the behavioural skills, communications skills, and other non-technical skills of the candidate.

Your ideal candidate should enjoy such an interview and you can easily evaluate these skills through this interview.

Step 4: Comparison

If the same interviews are repeated for multiple candidates, the hiring manager can get a nice calibration scale to compare the candidate. Having the ideal candidate greatly helps in this part as well. Finally, now, you can make a final offer to your best candidates.

Always remember the fact that, as a manager, you also take the responsibility of transforming them into your ideal candidate. When your team is full of ideal candidates, you would be automatically having the best team ever!

And this is the secret to building a highly efficient team.

Other things to keep in mind:

Timeline: Usually all the best candidates are interviewing for multiple companies in parallel or even have some offers in hand. Hence sooner you give them the answer, the chances for them to choose you is higher. To do this, I open the position and get as many CVs as possible in 1 week. Then schedule all the interviews for shortlisted candidates at the beginning of week 2. By the end of week 2, I try to make a decision on the candidates. As I have multiple open roles things were way easier and I ensure to give a candidate the final result 5 Working days after they apply.

Sell the position: The manager of an efficient team should also be a good salesperson. We should be able to showcase the list of amazing challenges that they would be working on when choosing you as their employer.

Salary: Although, this is a delicate topic, always keep in mind that the best candidates demand high salaries. Research the ideal salary for your ideal candidate.

Resources: Having an expert person on an old second-hand laptop is a waste of resources. Offer them a more-than-required configuration as a bonus (usually, many best engineers are tech geeks)

Good luck in hiring...

Discover and read more posts from Anand Bhaskaran
get started