I hear the same complaint over and over again: “I can’t find great developers on Upwork!”
Entrepreneurs claim that most of the developers they hire are low quality and produce terrible results. That the developers they hire have difficulty completing the projects.
And let’s face it:
Upwork is mostly associated with offshore-outsourcing and hiring developers in India, which is a difficult pill for many people to swallow.
But the truth is, you can use Upwork to hire developers in the US, or Australia, or Europe.
In this article, I’m going to show you exactly how I’ve been able to hire great developers on Upwork so that you can do the same thing.
Let me warn you, hiring a developer on Upwork is going to take some work. But if you follow these steps, you’ll hire a high quality freelancer who will deliver a beautiful project for you.
Related video: A tutorial on the strategies that I have used for finding a high quality designer on Upwork
Three Key Advantages of Using Upwork to Hire a Developer
Before I get into how to hire a developer on Upwork, I first want to tell you why you should use the platform.
Gain Access to Global Talent
Not every software company is going to be created in the shadow of Stanford University where Silicon Valley plays host to a high concentration of software engineers.
If you’re the CEO of a software company, there is no need to move to San Francisco or Boston to gain access to highly talented software engineers. That’s because the first advantage to using Upwork is the access to a global talent pool.
“Traditionally, the biggest friction for businesses in the labor market is the difficulty of finding an available worker with the skills needed. Online workplaces are removing this friction by opening up a flexible, global talent pool – helping the best-matched businesses and workers find each other when demand exists.”
Ramesh Johari, Stanford Professor/oDesk Research team
Online marketplaces give businesses of all sizes access to global talent pool. No longer are entrepreneurs confined to hiring the best talent in their geographical region. They can hire the best talent they can afford at a global scale.
This means that if you’re an entrepreneur where access to software developers is very limited, you can still hire a great developer because you aren’t limited to your geographic region.
Promote Workplace Flexibility
Workplace flexibility is when employers grant their employees ability to spend at least part of their work week away from the office. This allows employees to choose when and how they work.
According to Hok.com, about one-third of all knowledge workers in the private and public sectors are working remotely. (Source: GSA Building Services, ‘The New Federal Workplace,’ June 2009.)
Further research on Hok.com indicates that thirty percent of employees with flexible work arrangements report feeling very engaged in their jobs compared to 10 percent of workers who feel engaged with no workplace flexibility.
Because workplace flexibility is the primary modality of Upwork, it is an appealing place for freelancers and knowledge workers, like developers to seek employment. And that allows you to tap into a huge community of developers who want to work from home.
Upwork Takes a Low Margin of The Developer’s Wage
Businesses can pay freelancers either by the hour or on a per project basis.
For hourly projects, the freelancer bills the business once a week, and Upwork sends a secure payment to the freelancer. For fixed-price projects, Upwork will release funds to the freelancer after they meet pre-set milestones.
Upwork deducts a 10% fee from the rate that the freelancer charges the business. For instance, if the business pays a freelancer $100, Upwork will receive $10 and the freelancer will receive $90.
There are many different agencies that have high quality developers such as Toptal, but those agencies, are usually taking 30+ percent, which is a large margin.
And because you’re hiring developers at lower margins, less money comes out of your pocket.
2 Disadvantages of Upwork:
I’d be lying to you if I told you that Upwork was the cure all for all of your hiring needs. Like every other purchasing decision that you’ll make in your business, there are some trade-offs that come with using the platform.
A Lot of Mediocre Candidates
One of the disadvantages of Upwork is that there is a high ratio of mediocre candidates compared to high level developers. In other words, you can’t just post a job and hope to immediately find a high level developer.
You won’t find many developers that charge a minimum of $70 per hour from the United States or other developed countries that you know routinely produce high quality software talent. Though, there are some.
However, there are a lot of high quality developers from developing countries such as Russia and the Ukraine. Whenever someone tells me that you have to hire highly paid developers from Silicon Valley to build your software, I always think about the founders of Google, who are from Russia. You can find a great developer from nearly every country.
Not Suitable for Office Jobs
As I’ve said before, one of the primary reasons to use Upwork is that you’re able to hire developers from around the world. Typically, these developers enjoy the flexibility that comes from working from home and are resistant to coming to an office to work 9-5 every day.
Posting the Job
Now that you know the benefits to using Upwork to hiring a great developer, let’s talk about the first step in the process: Posting a job.
Identify a Specific Technology
One of the biggest mistakes that I see when people post a job is they do not indicate which technology they need their project built with.
For instance, they will say something like “I want a developer to build my application.” Unfortunately, this gives you absolutely no chance to find a specific high quality developer.
Once you know what kind of technology you want to build your software on, then you can use that information to locate your developer. You can create a post that says something like “Need a front end developer who specializes in HTML5.”
By describing this type of listing, it’s assumed that you’ll understand the capabilities of the technology and you’ll be able to converse with a developer. You’ll also have more insight into what to look for and what to avoid throughout the hiring process.
The only time you don’t need to be extremely specific with the technology is if you’re looking to build a simple WordPress website. Here’s a guide if you want to create a website by yourself.
The truth of the matter is, if you’re not quite sure which technology you should use to build your software, you should investigate that before you post your job.
Find Developers at Reasonable Rates
Here’s what so many entrepreneurs think:
“I’m going to build a kick ass software. It’s going to have all the bells and whistles. And I’m going to dominate the industry.
I’m going to go on Upwork and find some developer in India willing to work for $3 per hour.”
Newsflash, It’s not going to happen.
Sure you can outsource your development.
And you’ll be able to get a nice software.
But you have absolutely NO CHANCE of hiring a quality developer for $2 or $3 per hour to build it for you.
If you want a good quality developer, you’re going to have to start at $15 per hour. And most of the really high quality developers are going to cost you a minimum of $25-$30 an hour.
Do you Post a Project or pay Hourly?
It all depends.
I know, it’s not the magic answer you were looking for. But let me explain:
In my experience, if you post a project, meaning you want to the developer to give you a cost for the entire deliverable, then you’re going to pay the developer a much lower hourly rate.
That’s the good news.
However, if you’re looking to build a very complicated site or application, posting your job as a project will be hard to do.
I’ve found that when projects take a while, the developer starts to get annoyed. He or she will almost always underestimate how long it will take to complete. And at some point the developer will come to the realization that they aren’t getting paid fairly for the work they’re producing.
While you, as the entrepreneur will expect the developer to honor his word, the truth is, he’s only human. And eventually, your project will take a back burner to other projects and you won’t receive consistent and reliable results from your developer.
When I know a job is going to take a long time, I will always post it as hourly. That way the developer feels that he or she is being adequately paid throughout the duration of the job. They will remain happy. And they will deliver a great product.
How to Invite Candidates to a New Job
Now that you’ve posted your job, you can’t just expect all the great developers to come to you.
It just doesn’t work like that.
Here’s why: The only people who are actively searching for jobs are the ones that have time to search and apply.
So the very best developers might not bother to look for your job, let alone apply for it. They probably already have a lot of work on their plate.
As you might expect, this is going to take a bit of work.
Just like when you’re creating your job posting, you want to search for very specific technologies. For instance, let’s say you are looking for a php framework for some front end work. If you search for php developer, then you’re going to get a wide variety of candidates.
However, if you know that you’re looking for a Symfony developer, then you can search for people who have knowledge in the Symfony framework.
Then you can filter down by rate, experience, and customer satisfaction to get the candidate that will most suit your budget and your business.
I have found that when I do post a job as a project, I’ll get less people interested during the search and invite process because they know that it will be difficult to satisfy the customer on a project based transactions for the reasons stated above.
Now that you’ve narrowed down your search with a specific technology and Upwork’s filters, you then need to invite a lot of people.
The problem is, if you invite just two or three people, they might not be available. And not everyone is interested in your job. You need to take massive action, which means inviting at an absolute minimum of 20 people.
You want a big, broad, rich group of applicants in your queue.
Choosing a Candidate
Now that you’ve invited 20 or so candidates, the question is: “how do you select the best one?”
In this section of the post, I’m going to introduce you to three strategies for choosing the best possible candidate.
Let’s suppose for a second that you aren’t a developer yourself.
You’ve been researching the technology that you want to use to build your software or website, but other than that, you know very little about software development.
The question is, if you don’t know much about being a software developer, then how will you know a good one from a bad one?
That’s where HackerRank comes in.
HackerRank is a site where you can ask your candidates to take quizzes and answer questions and build mini projects using knowledge that they are expected to know.
Each candidate will then be scored and you can hire the candidate with the highest score.
That way, even if you don’t know a thing about coding, you can still hire a qualified individual.
Go Beyond Ratings
When you’re hiring a developer, you should look at their ratings on Upwork. After all, this is essentially their customer satisfaction score.
However, you need to go beyond the ratings.
There are two reasons why:
- Developers with high ratings will most likely have a lot of clients. This means that they will not be nearly as dedicated to you as you would like them to be. You’ll constantly be working around their time. So, if you’re looking for someone to hire on a full time basis, then don’t hire someone based on their ratings alone.
- Many very good developers don’t spend any time on Upwork so they may not have any ratings at all. That doesn’t mean they aren’t good. it just means they aren’t active on the platform.
The only time you should hire based on ratings alone is if you have a short term project that you don’t really care about. You just want it done.
If that’s the case, then it is OK to hire based on ratings alone. You can be fairly certain that the person will deliver with decent results.
Selecting Multiple People
The most effective way to choose the right candidate is to hire multiple people. I know this is going to sound like it will burst your budget, but in the end, it will save you a lot of money by ensuring you avoid a bad hire.
Since this is my favorite strategy, and the most effective way to hire an outsourced developer on Upwork, I’ve dedicated an entire section to it.
That’s what we talk about next…
Hiring Multiple People
So why do we hire multiple people?
The reason is because hiring a developer from Upwork who will work remotely is completely different to hiring someone in an office for a long term position.
The person working remotely can be on the other side of the world. And you have no idea what their situation is.
They may be working at another job. They may have no commitment to you and will leave your company without a word of notice. They may get sick.
The fact is, there are a lot of reasons why it won’t work out with your developer. Unfortunately, if you only hire one developer, there is a high probability that you won’t get your job completed.
So your job is to overcome this challenge.
The good news is, you can afford to overcome this challenge because you’re getting a potentially great developer at a very affordable price. Let’s face it, if you’re in the United States, there is no way you’re going to be able to hire a developer in your city for $15 per hour.
Look, I’m not naive to the fact that several of you reading this are thinking to yourself “Where am I going to find the money to do this?”
And you’re right, I totally sympathize with you. If you don’t have the budget to hire multiple people, then this isn’t the right strategy for you. (You should use HackerRank to find good, reliable developers.)
However, if you have the budget, then this is an amazing way to find someone great. I will literally hire two or three people for the same job and evaluate who completes the job the fastest with the best quality.
That’s the person that I will keep on the team long term.
Alternatives to Upwork
Let’s say you don’t find exactly what you’re looking for on Upwork. Here are a few other places to look for a great developer using the strategies outlined in this article.
What it is: Outsourcely is the world’s easiest way to find, hire and work with reliable, vetted remote workers from 132 countries that are looking to build long-term sustainable relationships (not short-term freelance projects). Hire directly and pay zero fees.
How it works: Search remote workers by skill or post a remote job. Then connect with candidates immediately using real-time private chat, browser to browser video & voice calling, video & voice messaging or just regular email. This makes hiring fast and easy.
Best of all, Outsourcely is giving all TimeDoctor customers a 30% discount. Just enter “staff30” to get 30% off all plans.
What it is: Freelancer.com is a global outsourcing marketplace very similar in function to Upwork, which allows potential employers to post jobs that freelancers can then bid to complete.
Here’s how it works: You post a job and freelancers make bids to complete. You can then compare and select bidders. You pay once you’re satisfied with the work.
What it is: Freelancermap.com is an international platform that connects freelancers, consultants, and contractors in the fields of SAP, software development, web development and design with global clients seeking to hire them.
Here’s how it works: Clients post their requirements and freelancers can upload their profiles and apply for unlimited projects for free. At freelancermap there is no bidding and therefore, there are no commission fees if a freelance is hired. Freelancers can use the platform completely for free within the basic membership and get in touch with as many clients as they want.
The popular social media platform that is a great way to network and find developers.
Using Upwork to find a great developer is no easy task.
You can’t expect to post a job and wait for some great developer to come running to do the work for $3 per hour.
It’s just not reasonable to expect that.
However, if you’re willing to put in the time and energy to find a great developer complete a software project, be it a website or a web or mobile app, then Upwork is a great platform to do this.