Remote work has been gaining popularity ever since the coronavirus pandemic forced many companies to go fully remote overnight, especially in the software industry. In fact, more than 75% of developers want the option to work remotely.
However, finding and then hiring skilled remote developers is not so straightforward. There may be thousands of devs looking for jobs, but finding the most qualified and capable ones requires employers to plan ahead.
To help you overcome the challenge, we’ve compiled a thorough list of steps you can take to find an excellent addition to your remote development team. So, let’s dive in.
Table of Contents
Identify a vacancy
Before you commence the hiring spree, you first have to identify exactly what kind of developer best fits your projects and the company.
As we wrote in our article on roles in a software development team, there are multiple types and specializations of developers.
To identify the perfect fit for your company, you should first get acquainted with the types of developers or roles that usually participate in building software. You can use the following screenshot from Canva’s career section as a cheat sheet.
As you can see, developers with different skill sets work in different areas of software development, such as architecture, frontend, backend, and more.
Still, identifying the area is only the starting point. You should then work with the technical staff to find more details of the qualifications you should look for.
One option is to list required languages and technologies as criteria. Clevertech, a fully remote software development company, implements this approach when listing job vacancies.
You could also identify which field or platform the new devs would work on, and tailor your job advertisement accordingly.
For instance, you could get a better fit by listing you need a dev experienced in Kotlin or Jetpack Compose than by just looking for Android devs.
Identifying the vacancy will help you target a relevant audience and decide on the right place to find candidates. You can find more details about this in the following section.
Choose the right place to find candidates
By hiring remotely, you’re already one step ahead of the competition because you’re not limiting yourself to the local hiring pool. Still, there’s a huge number of online recruitment markets, so you should invest time in exploring which ones suit your needs best.
Nobody wants to drag on the hiring process, which is what makes quick hiring solutions attractive. Freelance platforms, such as Fiverr and Upwork, may seem like just the thing when you’re hurrying to complete a project and a freelancer is enough to get you there.
However, there are some perils associated with cutting corners in hiring.
For instance, when you search for Android developers on Fiverr, you’ll find tons of developers working at a low price.
While $100 is not much for a three-screen app, you should ask yourself about the quality of work priced so low, especially if you’re looking for a long-term collaboration.
A better option would be to look for candidates in places designated for hiring. One of the best ways to reach skilled tech staff is LinkedIn. You can see big corporations recruiting there, and you know they don’t leave staffing to chance.
The following image shows Cisco, Bank of America, and Salesforce recruiting Android devs via LinkedIn.
Recruiting developers on LinkedIn is a procedure that requires some preparation. However, our guide on recruiting developers can help you streamline the process.
If you want a more niche platform for hiring remote developers, then Remote OK might be a good fit for you.
As soon as you open the page, you’re presented with a choice of job categories, all of which are tech-related.
You can add your job advertisement to the platform knowing that it will reach only relevant candidates, without spending money on advertising on general recruitment sites.
To sum up, the most obvious choice of the place to look for candidates may not always lead you to the best developers. You can get better results by finding specialized hiring sites.
Publish the job with clear requirements
A job advertisement is your first chance to impress potential candidates. You can demonstrate your professionalism by writing a clear and concise job description.
Let’s kick this section off with an example of what not to do, found in a Medium article written by Michael Vinh Xuan Thanh, a software developer.
The author has compiled a list of job descriptions indicative of bad employers. We’ll take a look at one of the examples he’s listed. We’ve highlighted the most alarming parts in red in case you don’t have time to read the entire thing.
You’ll probably agree that the responsibility of whatever else may come up and the requirement of doing whatever it takes don’t illustrate the true nature of the job.
An additional problem with the job ad from the previous image is its wordiness.
A study conducted by Ladders, a careers company, has shown that an average candidate spends 63 seconds reading a job description; that’s only slightly more than a minute.
Here’s a gaze-tracking depiction of how candidates read job ads.
As the image shows, candidates will skip over some parts and focus mostly on the required knowledge, skills, and experience. This is why it’s vital to avoid cluttering the ad with unnecessary details.
We’ll now take a look at a job ad for remote iOS engineers at Procter and Gamble, posted on LinkedIn.
The ad first introduces the opportunity and lists job responsibilities. The section with qualifications, which is the one the candidates are most interested in, is written concisely.
The job description ends with benefits and company values.
Remember, just like remote hiring allows you to find skilled developers worldwide, devs also have the freedom to disregard an employer with poorly written jobs ads.
You can show you’re an employer that doesn’t waste developers’ time by listing specific requirements and responsibilities.
Conduct the interviews
Once you’ve posted the job advertisement and reviewed applications, it’s time to start preparing for the job interviews that are about to follow. The first step is to build a consistent remote interview process.
Some companies prioritize technical screening before getting to know the candidates, but it’s also common to construct interviews in a way that places applicant-focused interviews in the first place.
For instance, Spotify begins their interview process with video or phone calls where their recruiters chat with developers about their background and the role.
The second round of interviews includes talking to one or two engineering team members, and the final round involves meeting multiple employees across the company.
This interview structure seems to be successful, judging by the reviews on Glassdoor, such as this one.
The dev in question has declined Spotify’s offer, but had a positive experience with the employer company nonetheless.
Once you find a remote interview formula that works for your company, it’s vital to stick to it. Only a consistent process will allow you to assess candidates accurately and facilitate fair hiring.
While remote interviewing is steadily becoming a standard, you should keep in mind that not all developers are accustomed to it. In fact, only 15% of developers find videoconferences the best method for conducting interviews.
Therefore, you should ensure your interviewing process always runs smoothly. One way you can do this is by choosing the appropriate interviewing tools.
You don’t want to overwhelm your candidates with disorienting technologies, so it’s better to choose intuitive tools. For instance, if you decide to start the interviewing process with a one-on-one chat, you could go for Zoom.
An advantage of using this platform is that applicants don’t even have to register; they click the link you’ve sent and join the meeting automatically. That allows them to focus on the interview rather than worrying about the tool used.
After you’ve identified candidates you think would fit well with the team, it’s time to confirm their technical skills. Let’s see how!
Do the testing
While it’s important to find candidates who are a good cultural fit, hiring skilled developers is essential. The most accurate way to assess their coding abilities is by assigning code tests.
Although you’ve probably spent a lot of time scrutinizing candidate resumes, portfolios, and GitHub profiles, these out-of-context code samples can’t tell you if the candidate’s coding skills would translate well to coding at your company.
This is why most software companies implement code testing. Code tests allow you to assign tasks similar to those a new dev may encounter in your company, providing you with a realistic assessment of their skills.
The following image shows an example of a take-home assignment provided by CodeSubmit, a platform for screening developer candidates.
As you can see, the task is to implement a responsive signup form. The design is already provided so that developers don’t have to waste time on UI elements and can focus on coding instead.
In addition to generic tasks such as this one, you can also tailor tasks that resemble those found at your company.
Bug and crash reporting tool for your mobile app.
If you decide to customize your tests, keep in mind the seniority level you’re hiring for. While senior developers could probably handle designing new features from scratch, junior developers can better represent their capabilities by doing tasks centered around coding only.
Since you’re trying to find the best fit, chances are you are testing multiple candidates simultaneously. To save your technical staff some time, you could use remote testing tools that automate a significant portion of the testing. One such tool is Codility.
This testing platform even shows a leaderboard so that you can compare the performance of the devs doing the same test.
All in all, there’s no better way to evaluate technical abilities than with coding tests. Whether you conduct them manually or use testing platforms, testing the candidates will let you identify the most skilled ones.
Offer the job to the ideal candidate
With interviews and testing done, you’re nearing the end of the hiring process. You now have to determine the best candidate and proceed with the job offer.
As we wrote in our article on setting up effective developer interviews, you should conclude the hiring process with a holistic evaluation of candidates.
Evaluating candidates holistically involves gathering all employees that have participated in the interviewing process and asking them for input.
This could mean talking with the recruiters who did the cultural fit interview, the engineering staff who reviewed the code, and any other employees who had contact with the candidate. Google, for instance, implements this approach when selecting candidates for all their positions.
The company claims that taking a number of perspectives into account helps them find the best candidate for the role.
After you’ve identified a skilled worker with values compatible with yours, you should move on to writing a job offer. Besides the standard elements, such as the job title, salary, PTO, and bonuses, developer job offers should come with some additional features.
For instance, it’s vital to define code ownership before the candidate starts working with you. This way, you’ll avoid misunderstandings and ensure a professional start to your relationship.
Here’s what else developers want to see in job offers, according to answers from this Quora thread.
Once you contact the ideal candidate with the job offer, you should wait for their confirmation before sending the thank you for your interest emails to other applicants. You don’t want to appear fickle in case your first choice dev changes their mind.
After the dev has accepted your offer, you can start preparing for the final part of the hiring process: onboarding the new dev.
Nail the remote onboarding
There’s no reason why working remotely should prevent you from providing a great onboarding experience to your new developers. You can’t take them out to lunch, but that’s the only difference—you can still apply all other onboarding principles.
If you want to maintain your new hire’s enthusiasm, you should leverage the period before their start date to begin with a less pleasant part of the onboarding. We’re talking about administration.
Send them all forms they need to fill out in advance. Feel free to use our developer onboarding checklist to see what you need to prepare. Here’s a preview to paint the picture.
By handling documentation in advance, your new dev can jump right into the onboarding on their first day in the company.
Just like you’d introduce them to the team in a physical office, you should invite them to an online call where they get the chance to meet their immediate colleagues.
The following image shows Jess Roycroft, a newly joined developer, meeting her team at Vena Solutions, a financial planning company.
A practical onboarding process allows new employees to go through a part of the onboarding on their own.
For instance, there’s no need to supervise the new dev while they install command line tools and IDEs.
To simplify the process, you could compile setup directions and share access to all technical documentation they’ll need using a good documentation software tool, such as Slite.
Lastly, you shouldn’t forget that onboarding lasts more than a week or two. Even when the new dev joins an actual project, you should still encourage their onboarding buddy to provide support.
You could also ask the dev for feedback and use their observations to polish your remote onboarding practices for all future employees.
There you have it—a complete developer hiring process laid out.
As you can see, every step along the way counts, from choosing the right platform to post job advertisements, to how you handle remote onboarding.
We know there’s a shortage of skilled talent, but if you optimize your recruitment and hiring processes, you’ll be able to form an excellent development team despite the challenges.