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.
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:
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.
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:
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.
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:
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.
Also published at: https://medium.com/@ekhorkov/how-to-select-good-developer-on-upwork-885d58a42a6f