Remote work seems to have gained momentum in the past few years. With the COVID-19 situation, remote work, along with distance learning, and online shopping has gained even more momentum.

A lot of organizations were already allowing their staff to work from home a few days a week, while many companies, like Foretheta, operate entirely as a remote-first company. If you have only recently been forced to recruit remote software developers, there is a lot to learn about recruiting remote staff. Since we have been doing this for a while, we wanted to share a few insightful tips to assist you in hiring a software development team:

1) Hire a full-time or part-time recruiter

Man In Tie Icon

You will need a recruiter to take on the responsibility to hire remote people. Ideally, this is a full-time job, or if you are a smaller company, someone else in the company fills in this role for you. The recruiter needs to be able to source candidates and fill up the pipeline. They need to be able to evaluate the resume and shortlist the candidates based on the criteria given to them. Once the appropriate candidate is found, they should be able to conduct a basic screening interview online. All of this expertise comes with experience, and also with having a sharp instinct for recognizing people’s personalities and character through the interview.

2) Encourage Referrals

Referrals through employees

You have awesome employees that understand your company’s culture. They probably know other similarly outstanding people. You need to tap into this resource. Ask your employees to spread the word and look for people who would fit into the role. They will be able to filter and redirect the right people towards you as they probably know them personally and can judge the candidates better. This can save your recruiter some headache. You should reward your existing employees with a cash bonus for successful hires from their referrals.

3) Sourcing Candidates

Sourcing Candidates

Besides referrals, your recruiter needs to actively source candidates. Some ideas on where to hire: source them online from LinkedIn, Github, Hacker News, Reddit, and Stack Overflow. Anywhere where software developers hang out is a good source to tap into. If you are staffed enough to absorb mentoring fresh graduates, then another great way is to establish relationships with universities. This will give you the most steady stream of candidates. Create job profiles on job boards. Although we don’t use them, we have seen other teams use Job boards like We Work Remotely, Flex Jobs, [Working Nomads] (https://www.workingnomads.co/) effectively. Finally, post all your open positions on Facebook and LinkedIn. This final step is by far the most successful lead generator for us.

4) Have a filtering criterion

Checklist with pencil

It is important to be able to filter out candidates who are not technically competent enough for your company. This can be done by assigning a simple and short coding test through which the recruiter can evaluate the skills of the candidate. If they cannot write a basic program, it will be obvious. The test should be short and doable in less than 20 minutes. It is really important to have simple criteria for evaluating the results -- ideally done in under a minute so that you can save time and filter out candidates quickly. We achieve this is by maintaining a question bank internally with most of the code structure written out for popular languages (Python, Ruby, Java, Javascript, and C). We ask the candidate to then implement a function within the code that makes the program return a certain value.

5) Initial Interview

Online Interview Icon

The initial interview can be combined with the test so that the hiring process is swift and efficient. Here, the candidate answers the big questions like what are their expectations for the salary, work timings, start date, etc. The answer to these questions can identify potential blockers for moving forward. Another potential question is to ask about their experience working remotely and find out if they will be able to adjust to a remote environment, especially when there is potential for time zone differences.

6) Behavioral Interview

Two People talking Online

One person from your team can conduct a behavioral interview to assess the personality of the potential team member. A video interview works best here, however, if the facility is not available, an audio interview would suffice as well. Be prepared with questions about the candidates’ life and then move on to assessing their problem-solving skills. At this stage, you will ask them open-ended tell-me-about-a-time style questions that will help you assess their work ethic, how they navigate a difficult situation, and whether they will be a good culture fit with your team’s values.

7) Technical Interview

Woman conducting technical interview

Another important step during the hiring process of a software developer is the technical interview. A technical person or a software developer should conduct this interview to check the technical depth, experience, and knowledge of the candidate. Questions that can be asked here include describing what their favorite project has been so far, what hurdles were faced during this process and how were they resolved. Try to go beyond the specifics of a particular technology and identify how well they can communicate regarding the problem they worked on.

8) Give a small, paid project

Project Management Icon

Assign small paid projects to the candidates that pass the initial interviewing stage. Paid projects mean that they will be part of your team, will pick up a task and finish it. This lets the candidate understand if they like the company and their work environment, and tells us more about the candidate as well. Even if the process is slow, it saves time by allowing candidates to assess the organization and whether they can adjust to the remote environment of your organization.

The end goal is to hire long term, active and ambitious people. Employee performance should be evaluated on a regular basis. Lastly, communication is key. It is essential that the leadership, team members feel connected and the communication is smooth with regular feedback. As an employer, it is also important to be equipped with the right software to manage remote teams. These are some of the basic criteria we follow at Foretheta when hiring candidates for our remote team. So far it has been useful in putting together a team-driven with purpose and able to work productively from remote locations.