Chapter One: Hiring Remote Developers
June 23, 2020 15 min read
The first chapter of our Remote Team Guide will go over everything you need to know when you want to hire a remote developer. In particular, it will cover:
- How you can find remote developers
- What skills are important for remote developers
- How much it costs to hire a remote developer
- How you can qualify a remote development team
- Pros & cons of hiring a team of remote developers
- How you should hire based on your company size
23.9 million developers in the world to choose from. Take your pick. ( source)
Finding the Right Remote Developers
Finding remote developers is easy, but finding the right remote developers is hard. There are three ways you can go about finding developers.
- You can do it all yourself
- You can use developer marketplaces
- You can work together with a premium service
Finding Remote Developers Yourself
When it comes to attracting remote developers, job boards such as WeWorkRemotely still work wonders at attracting developers. The same goes for sponsored, specialized newsletters (e.g. Node Weekly), scouting on GitHub, mingling at conferences, and so on.
But the difficulty isn't in finding remote developers, it's in vetting them. Vetting hundreds, if not thousands of remote developers to get the person you need is what's difficult about building a remote development team.
If you're going to vet developers yourself, think about this before you begin:
- Are you prepared to receive thousands of applications?
- What are the primary qualities you're looking for?
- How will you test each dev for those primary qualities?
- Will you have a code challenge? How will you grade it?
- Who will be in charge of going over each application?
- Have you considered a video application?
- How many interview rounds will you perform?
- Will you use a CRM or ATS to manage applicants?
While online resources can help you a lot during this stage (for example, here's a list of 17 questions to ask a mobile app dev before hiring them), there's still a lot to consider when you decide to take on the vetting aspect yourself. This is why many companies turn to developer marketplaces or premium services instead — to save time, effort, and money.
If you decide to go about it by yourself, make sure you have a solid infrastructure in place before you put out those job postings. Because, when you start attracting remote developers, they will descend on you like the Persian army against 300 Spartans.
Finding Developers Through Marketplaces & Premium Services
There are many online options for finding vetted developers who are ready to join your team. Just Google "hire remote developers" to see just how many options there are.
As you begin looking into these services, consider this:
- What qualities are most important to you in a developer?
- Does the marketplace or service vet their developers for those qualities?
- What level of customer service do you want?
- Do you need someone full-time or only every now and then?
- Is time zone important?
- Do you expect your team to grow in the future?
- Do you need a lead developer or just a support team?
These are some of the questions you'll need to ask yourself as you start talking to developer services. Here are some other things to keep in mind:
- The service should have worked with major brands. It's a great sign of their ability to scale and provide quality developers.
- The service should have a strong community where their developers will find support and motivation whenever they need it.
- The service should have a method for creating consistency with every developer. You don't want developer quality to fluctuate from one developer to the other.
- The service should provide a dedicated account manager to understand your requirements and help you whenever you need help.
- The service should offer the flexibility to change your team if you're unhappy with a particular developer or development team.
- The service should provide support for their developers, whether that's through learning opportunities or by being part of a strong, collaborative community.
A proactive, motivated remote developer is someone who takes charge and is never blocked.
Important Skills For a Remote Developer
Over our 10+ years of existence, we've come to realize that the best remote developers share a set of skills. These aren't technical skills. They're meta-skills applicable to every project, every company, every industry. When you're hiring a team of remote developers, these are important skills for your developers to have:
Confident Communicators
Great development teams are full of confident communicators who give the clearest of expectations to their project managers.
Development teams that struggle are those that have no real understanding of their timelines, velocity, and what to report to stakeholders. Their developers lack the confidence to give clear expectations and to update those expectations as appropriate.
If you think you're about to hire a remote developer who is too eager to please and not confident enough to set clear expectations with you, move on to the next person.
Proactive and Enterprising
It's easy to find remote developers who will sit back and wait for tasks to come their way. But you want developers who are proactive, who can keep moving your projects forward.
Hire developers on a 30-day trial to determine how proactive and enterprising they are. Proactive developers are never blocked. They always find a way to add value, something that's particularly essential when you're hiring remotely.
Selfless
Selflessness in a development team will lead to knowledge sharing and mutual support. In an office environment, this happens somewhat naturally, because there are more opportunities to lean over and share information or help someone who's asked a question.
In a remote environment, it's much harder to tell when someone needs help. There's less of an urge to share information, because you don't know who might need it.
But the best remote developers are self-disciplined and believe in sharing knowledge online. Think of open-source developers who help maintain projects on GitHub.
Your remote developers need to support each other. They need to care about other people's learning and growth as much as they do about their own. Because this is harder to facilitate remotely, you need naturally selfless people.
Other than these three vital skills, here's a list of 11 growth principles that valuable software developers should have. While you might not find all of them in one developer, it's still a good list of qualities to keep in mind when you want to hire a remote developer.
Never pay a remote developer arbitrarily. Pay them based on their value.
The Cost of Hiring a Remote Developer
Hourly rates for remote developers around the world vary wildly – from as low as $2 per hour to $250+ per hour. Over the last ten years, we have met developers with an $8/hour price tag who are just as skilled (and sometimes even more skilled) as someone with a $60/hour price tag.
How can we say this for sure? Because we've interviewed more than 200,000 developers and have seen this happen time and time again.
Although lower rates tend to come with less-than-stellar communication skills, this isn't always the case. Some developers simply haven't found the right opportunity yet.
Prices can also vary based on the skill you're interested in. For example, Drupal and Java developers tend to be more expensive than Angular developers.
With price tags varying so greatly, you have to ask yourself: “what's the value of a developer who will move projects forward for my team?”
If you've found the right remote developer, don't pay them based on where they live. Pay them based on the value they'll provide to you. Allow some room for rate growth too, should you keep them for years to come.
When negotiating their rate, keep these factors in mind:
- How do they handle unexpected situations?
- How are their written and spoken communication skills?
- Will they fit in well with the team and your culture?
- Do they have a proven desire to learn and grow?
Should You Hire Freelance or Full-Time?
There's much to consider when choosing between hiring a freelance developer or hiring someone full-time as an employee. This being said, do consider that most freelancers are interested in full-time work, just not as an employee.
- Benefits of hiring a full-time employee
Hiring someone full-time is often essential when hiring in the United States, as benefit and healthcare packages are usually important to them. But you can show freelancers in the US how they can acquire those benefits on their own with a higher hourly rate.
- Downsides of hiring a full-time employee
You have much less flexibility in how you can use your budget. Think about the breaks in between projects. Your employee will still be an expense.
Additionally, you'll have higher overhead costs (taxes, payroll) and, if you hire locally, you'll be restricted to talent with your country/state/city instead of talent from all over the world.
- Benefits of hiring a freelancer:
You'll have lower overhead costs and more flexibility in bringing them on or off the team as required. You'll also have access to global talent, instead of local talent, because freelancers are okay to work with companies from all over the world.
- Downsides of hiring a freelancer:
Their cost can be higher if you're not offering them a contract longer than two months. They're also responsible for their own motivation, learning, and growth. There's a risk they become demotivated if they're part of an uninspiring developer community.
Additionally, if your team isn't fully remote, you create the risk of "tribes." The remote tribe vs the office tribe. You want to avoid rivalries at all costs. Read this post to learn how you can create synergy between your remote and your office teams.
Ask the team you want to hire to complete a mock project that utilizes the skills you'll need.
Qualifying a Remote Development Team
If you need a team of remote developers instead of just a single one, and you've decided to hire a premium service to help you with this, you need to qualify the team. Here's how you can do this:
Meet Each Team Member
You want to individually meet each member of the team you're looking to hire. It's not a good sign if the remote team lead tries to keep you away from the other individuals on his team. That's usually because those individuals lack proper communication skills.
That's risky, because they can misunderstand your requirements or the team lead can become a bottleneck when you're trying to implement new features or get through QA. So make sure that each team member has decent communication skills and understands your requirements.
Also make sure that each team member aligns with the values of your company. You want your remote developers to really care about the project and have a strong interest in making it succeed.
Learn about each team member's skills
Make sure that the team you're thinking of hiring really has all the skills you'll need. Either ask the team to complete a mock project that utilizes the skills you'll need or ask for the resumes and portfolios of each developer that will work on the team.
Learn how flexible the team will be
Understand how easy it'll be to add more developers when projects scale up or remove developers when you need to scale down. If the team doesn't offer special pricing for adding more developers, you need to find a better option.
You also need to know how flexible the team will be when it comes to time zones and working on a schedule that works for you. Although daily video meetings certainly aren't necessary, at least some overlap in time zone is required.
Pros & Cons of Hiring a Team of Remote Developers
As with anything, hiring a team of remote developers through a premium service has its pros and cons. While we believe hiring a premium service is generally worth the time, effort, and money, there are a few downsides to be aware of too.
The Pros of Hiring a Remote Development Team
- Knowledge sharing and documentation
With a remote team, you usually have little choice but to communicate over text. Contrary to what's often believe, this is actually an advantage, because you'll have a written record of all communication. In an office, much is said in passing. That knowledge is never captured. Not so with a remote team, where so much more gets captured in writing.
This is useful, for example, during onboarding. Documentation is critical when onboarding new developers in a remote team. You cannot grow quickly without onboarding docs that are accessible 24/7 and a remote team will generate those almost naturally.
Remote developers tend to be very disciplined when it comes to documentation and knowledge sharing. This, in turn, makes them valuable members of any development team.
- Flexibility and focus
Give remote developers flexibility when it comes to their working hours and you'll receive endless goodwill and incredibly focused hours of work in return. Remote developers are also flexible in the sense that they don't necessarily abide by regular office hours. If they need to attend an event late at night, it's okay because they can move their hours around.
Additionally, remote work gives you the focus you need for execution. Developers work best when they work in a controlled, focused environment. Remote work allows them to easily set up such an environment.
- Access to global talent
The world is your hiring pool for remote developers. It's much easier to find a pool of extraordinarily talented developers. You'll also end up with a more diverse and inclusive team of people who have different perspectives that will ultimately make your software stronger and more inclusive too.
- More opportunity to learn and grow
With no commute, remote developers have more time to up-skill and stay updated on the latest tech development. If anything, if you notice a remote developer is not up to date, you can consider it a warning sign of a lack of focus and productivity.
- Time zones for great productivity
Time zones are usually the least of a remote team's worries. You can utilize time zones in such a way that there's enough overlap for each of the team members to sync up, while also allowing enough time to focus.
Working asynchronously gives a remote team plenty of time to focus on the work they're supposed to be doing. Time zones can be harnesses for continuous, focused work in your remote team.
The Cons of Hiring a Remote Development Team
- Cultural differences
Although different perspectives can lead to breakthrough solutions, they can also become a challenge. It's important to promote respect in your remote team, so that all cultures can feel welcome. This is particularly important when you have #random channel in Slack, where discussions about politics and global events can quickly heat up.
Cultural differences can also present challenges when it comes to expectations. This, again, emphasizes the need for crystal-clear requirements. Not every culture has the same definition of "done." You have to make sure you're on the same line, regardless of culture.
- Location-based tribes
This is particularly relevant when you have an office team and a remote team. It's not uncommon for the office team to become competitive with the remote team and withhold information from them. Don't let this happen. As said previously, avoid rivalries at all costs.
If you're not careful, you can end up hiring developers that you wish you hadn't.
Unique Situations Based on Company Size
Whether you're looking for a single developer or an entirely remote team, how you go about it will depend on the size of your company. Here's what you need to keep in mind depending on your company's size:
Hiring as a Startup/Not-For-Profit
When startups get their initial rounds of funding, they usually need to hire developers quickly. This is dangerous, because you can end up hiring developers that you wish you hadn't.
Not-for-profits and startups also tend to look for low-cost developers to get the most out of their funding and because low-cost developers are easy to find online.
So, before you jump into developer marketplaces to hire a remote developer, consider the following questions:
- Do you have a CTO?
If you don't, you'll need a premium service to help you hire remote developers. Alternatively, consider hiring an agency that delivers a dedicated, remote team. You don't want to gamble with developers you find online. At the very least, consider hiring a consultant CTO to help make some of your first developer hires.
If you have a CTO, you could probably hire a remote developer yourself. It'll take time and money, but it's technically feasible. But, if your CTO doesn't have time for recruiting, alternative options can be marketplaces and developer-centered companies. Both will give you the opportunity to do some smaller-scale vetting of your own without needing to sift through thousands of applicants.
- How much work and budget do you have?
If you have less than a month of work or budget, developer marketplaces are probably your best bet. Keep in mind that the less work you have, the higher the cost will be for good freelancers.
If you're closer to three months of work and budget, your options are a bit more open. At this point, it's worth considering premium options that tend to become more affordable with a longer timeline.
- How important is quality?
If you're just trying to get an MVP up and running, quality might not be the number one priority. Perhaps you just need something to show to your investors. Or you need a decent landing page, if you're a not-for-profit. In this scenario, you can afford to gamble somewhat by using a developer marketplace.
However, if quality is of the highest importance, you need to consider premium options. If you prefer not to have to rebuild your codebase every year or if you plan to have lots of traffic, you need a site that's built with quality in mind.
Hiring as a Mid-Sized Company
As a mid-sized company, you may or may not have the budget for a premium remote developer service. You could potentially handle all your recruitment if you need to hire often enough. Ask yourself this question:
- How often will I need to hire a remote developer?
If the answer is "not often," then you should absolutely consider premium services. They will give you the consistency you need. You could also use a developer marketplace, although quality will fluctuate there.
If the answer is "often," you should look into hiring a full-time or part-time employee with a technical background and a strong understanding of how to manage remote developers. Someone who can help run your vetting process.
Hiring as a Large Enterprise
As an enterprise, your options become more expensive. Vetting will become a more serious, costly, and complex endeavor, as you'll need people with highly specialized skills and a proven track record in large companies.
Even with a CTO, a recruiter, and a hiring manager, hiring remote will attract thousands of applicants. Only an incredibly effective vetting system that has several rounds of challenges and interviews will net you the talent you need.
The cost of hiring remote developers is likely to exceed $100,000 over the course of a year, even (or perhaps especially) with proper vetting mechanisms in place.
Deep specializations, such as knowledge of Salesforce, require an even more unique vetting and testing strategy. That comes on top of other skills you'll want to test for that come in handy for a Salesforce developer (such as JavaScript, HTML/CSS, AWS, etc...).
The best options here are developer marketplaces and premium services that specialize in enterprise remote developers and related skills (you're reading the guide of a service like that).
That was chapter one of our Remote Team Guide. Here's what we'll discuss next:
TABLE OF CONTENTS