How To Find A Great Developer on Upwork

Written by ekhorkov | Published 2020/12/09
Tech Story Tags: upwork | freelancing | screening | outsourcing | recruiting | hr | hiring | interview-questions

TLDRvia the TL;DR App

My name is Eduard and I’m the CTO at Polecat. Sometimes I help my friends to find developers on Upwork. Below, I describe how I recently searched for a React developer on Upwork.
First, I made it clear what kind of developer I needed. In this particular case, I was looking for a React developer with at least a few years of experience and hands-on skills with GraphQL and Hooks.

Upwork Job Posting

When posting an Upwork job, I use the following template.
[Title: Who I am looking for]
[Short project description]
[List of required skills]
[Expected workload]
Not all the developers on Upwork are constantly looking for new jobs, so I spend around 20 minutes searching and inviting freelancers to apply to for mine. When searching, I use the filter to define the minimum threshold:
  • $1+ earner amount, 
  • at least 1 hour billed,
  • activity in the last 2 weeks,
  • job success above 90%.
Also, I always look at the freelancers’ availability and response time so that I don’t invite anyone who is currently unavailable. You can find this information is available on their upwork Upwork profiles.

Building a Candidates List

I create an Airtable where I collect the profiles of the developers I’m interested in along with their hourly rates. The thing is that a candidate can increase their hourly rate when they realize that you are interested in working with them, and it’s useful to have such details recorded.
Selecting a developer involves a series of steps.
First, I ask each developer several questions about their experience in the technologies involved in our project. I used the following checklist for the current search:
  1. Experience with React Hooks
  2. Experience with TypeScript
  3. Experience with React.JS
  4. Experience with GraphQL
Next, I receive answers to my questions from each candidate. I pay attention to how they’ve answered my questions — whether or not the answers were clear and precise. If there are problems with communication at this stage, there will be problems with communication when it comes to collaborating on a project.
I add the answers to my Airtable.
I then select the top 5 candidates and ask to do a quick call with each of them. I point out that it will be a video call.

The Screening Call

During the call, I ask a few technical questions about each technology (GraphQL, React, and TypeScript). To get hold of the type of questions you need, try googling typescript interview questions and answers, for example. Or message me via Twitter and I will try to help.
During the call, I pay attention to the following:
  1. Making sure I ask direct questions and that candidate’s answers are clear and direct.
  2. How confident a candidate is when answering my questions (people are usually confident when they know the answer but not so confident when they have to come up with the answer).
  3. Whether they answer most of my questions correctly.
  4. The quality of the video and the internet connection.
Based on these questions, I choose the best developer and give them a small trial task. This should be a task that can be completed within a day or two and produce a clear and visible result. It’s important to check that the developer can deliver.
If there is no result, I stop the contract and hire another developer from my top 5 list and give them the same task.
P.S. When hiring a developer, I suggest disabling manual time tracking so that your developer will track time only via the Upwork tracker.
P.P.S. Follow me on Twitter, where I will be posting more thoughts on finding good developers.

Written by ekhorkov | CEO/Co-Founder at Polecat Development Agency
Published by HackerNoon on 2020/12/09