Close-up photo of a group of women runners from the waist down

Whether you’re hiring through traditional sources or dipping into an online freelance marketplace to find the right developer, here’s a simple seven-step framework you can use to find and build a remote development team.

1. Describe the work

When hiring for technical work, companies post two types of jobs:

Longer-term roles: These are the types of roles you would post on your website, give to your recruiter, or post on a job board.
Projects: These are well-defined projects with specific deliverables or tasks that are, essentially, requests for proposals.

As you draft your description, be sure to articulate which type of role you’re hiring for. Include specific information about what the work might entail over time, and the skills the candidate must have to be successful.

Consider adding screening questions you want candidates to answer. They can be technical questions or requests (“Can you send me a code snippet that does XYZ?”), questions relating to their experience (“Have you worked on similar projects in the past?”), or even simple questions about their availability.

As you would for a local developer, give online candidates a compelling reason to work with you. Tell them what makes your company special, demonstrate your understanding of distributed teams, and share the importance of projects they will be handling.

2. Invite relevant candidates

Do you usually post on a job board or Craigslist and then brace yourself for an avalanche of applicants who make it difficult to find the few true gems? Or do you strategically search for high-quality talent on professional social networking platforms like LinkedIn?

When hiring online, your options typically are to:

  • Post and wait: Post your project publicly and wait for candidates to submit a proposal. (Not our top recommendation, as the best developers are quite busy and usually only respond when invited.)
  • Post and invite: Invite carefully selected candidates to submit a proposal. In searching for potential candidates, you want to use the full power of a platform like Upwork. When searching:
    • Use Boolean queries to narrow down the keywords that matter the most
    • Search by country if you’d like to build a team that is physically close to other members of your team or in a certain time zone
    • Look at their skills test scores, which are a quick way to assess a candidate’s skill level

As a rule of thumb, invite five to 10 developers to apply to your job. On average, top-tier freelance developers only accept about 25 percent of their job invitations, either because they’re busy, they have a lot of options, or they haven’t been successfully sold on the opportunity.

If you’re new to hiring online, going after tried-and-true talent will help make your first team-building experience go smoothly. To do this, you can filter candidates using client feedback scores, number of hours worked and other criteria, and your budget for a higher hourly rate. Once you’ve learned the ropes, consider hiring some newbies who may have great skills but aren’t as sought after simply because they have yet to build up their reputations.

3. Manage the flow of your applicants

First, always act fast when a qualified developer responds to your job post because the best find work in a snap.

As soon as you find a great candidate, schedule a video interview using Skype or Google Hangouts. This makes the interaction feel more personal, allows you to verify that the two of you can communicate effectively, and ensures the candidate has the hardware and bandwidth required for successful videoconferencing and ultimately, for working.

4. Create a test project

When interviewing, you’ll also want to take the opportunity to test their skills, just like you would if you were engaging local talent. Think of this like taking a developer for a “test drive.” Simply ask the best candidates to complete a small test project before offering a contract for the main job. You’ll be paying for the work, but the cost is minimal when you consider that this investment will dramatically reduce the likelihood that you’ll hire someone who isn’t a great fit.

The test job should be something that can validate the person’s technical skills as well as show how the candidate collaborates and communicates with you to get things done. At Upwork, we offer our developers a two-week project during which we gradually provide them with more information and code access to test their ability to solve increasingly more difficult problems. Those who do well go on to become a part of the team.

5. Identify mutual interests

This is a relatively simple thing to do and just requires being candid and upfront about your intentions and expectations. When hiring, find out if candidates are interested in building a meaningful work relationship with you and your company. Of course, in order for them to make this decision, they need to be clear on your expectations and their role in the work. Share as much information as you’re comfortable with to help them understand the project and give you an honest answer.

6. Bring on the best engineering talent

Based on the test project, you may engage one or more developers. At this stage, you will want to get any formal paperwork and onboarding or compliance steps taken care of: a background check, a signed NDA, a contract, an IP agreement, and anything else your company requires. If applicable, set up any systems you will need to start working together, such as Google apps, JIRA, etc.

Welcome your new remote developer(s) to the team with a warm introductory email. Then, double-check that they are added to the appropriate meeting invitations and distribution lists and have access to the right onboarding and project documents.

7. Set goals and expectations

Setting clear goals, particularly at the beginning of any working relationship, is a best practice—and it is even more critical when working with a distributed team. Share your overall long-term goals at the beginning of the contract to get your new team member on the same page. Avoid misunderstandings about a project by articulating short-term goals. Read this article, The Top Ten Things to Know Before Hiring Remote Development Talent for more tips.

Want more tips about how to build and grow a distributed engineering team? Download our free ebook Hire Fast & Build Things today and get detailed information about how to implement faster development cycles, technologies to keep communication on track, and tips for integrating agile into your distributed engineering workflow.