More and more companies are turning to freelancers to reap the numerous cost benefits of on-demand labor. Last October we released the results of “Freelancing in America: 2017” (FIA), a joint study between the Freelancers Union and Upwork which found that freelance workforce growth has outpaced overall U.S. workforce growth by 3x since 2014. If this pace keeps up, a majority of the U.S. workforce will be freelancers by 2027.
Naturally, the location-independent nature of web development means a large number of these freelancers are coders. Looking for a way to leverage this agile new workforce for your web development leads? In this article, we’ll take a look at how you can hire a top-rated freelance web developer.
Challenges of finding the best coder
Before we begin, it’s important to understand the basics of web development. If you’re already familiar with the industry, feel free to skip this section to Step 1 of our guide.
Web development can generally be divided into two parts: the front-end, client-side facing portion of your website or app that users can see and interact with, and the back-end, server-side technologies that manage your data and power your application from behind the scenes. Who you hire depends largely upon what you’re trying to do, and more specifically, the frameworks and programming languages you use to accomplish those goals.
Hiring people is hard. Hiring a programmer is even more difficult. And if you’re looking to hire the best, well then you’re in for a real challenge. There is no silver bullet for hiring the best coder, but there are things you can do, no matter how limited your technical background, to help you recognize an ace programmer when you see one.
Step 1. Get organized by defining a project scope
The freedom that comes with hiring a freelance coder can be a double-edged sword. Less paperwork, lower costs, and access to a global talent pool can be nice, but if you’re unorganized things can quickly go south. Before you even start the hiring process you need to define a clear project scope:
- Project Description
- Project Duration
- Milestone Payments
- Development Methodology
It is important to go into the hiring process with a clear set of expectations about the type of work you expect to get done, how much it’s going to cost, and how long it’s going to take. This will streamline the hiring process up front and ensure you attract the right developer for the job.
Step 2. Write a targeted project description
With a clear scope in hand, it’s time to turn it into a project description. Expert programmers are a hot commodity, which means they have options and can often afford to be picky about the projects they choose to take on. Whether you need a Ruby coder or a .NET developer, to attract top talent to your job posts it’s important to demonstrate that you’re organized and easy to work with. Developers like to see projects with clear timelines, workflows, and deliverables. Be detailed enough to communicate whom you’re trying to hire and what you’re trying to accomplish.
Specificity is the key to a solid job post. You want to target the specific frameworks, libraries, programming languages and other technologies required to perform the job you are trying to fill. For example, if you require a top-notch React developer to build the front-end of a high-performance social media app, your title might look something like this: “Looking for an Expert React.js Developer to Build Features for a New Social Media App.” Whether you’re looking for a full-stack web developer, a software engineer, or an expert in React, we’ve got plenty of articles in the hiring headquarters devoted to crafting the perfect job description.
Step 3. Shortlist submissions for real programming skills
So you took our advice and wrote an awesome targeted job post for the specific niche of web developer you’re looking to acquire. Now you’ve got an inbox full of proposals you need to sift through for the cream of the crop. How do you create a shortlist for the actual interview process?
Besides the typical screening techniques for skills, credentials, professionalism, and job experience, here are some additional points to review:
- Portfolio. The best method of measuring programming talent? Evaluate the things they’ve actually built. Top-rated freelance programmers will generally have a portfolio highlighting past projects. Sometimes this can exist in the form of a dedicated personal website, but you can also check out their Upwork profile and search reviews and work done for past clients.
- Web Presence. Speaking of portfolios, you can learn a lot about a developer from the trail of breadcrumbs they’ve left on the internet. A quick google might turn up a personal blog, open-source projects on GitHub*, or answered questions on Stack Overflow. Maybe they have a high score on Hackerrank or Coding Dojo. They may even participate in coding charities and hackathons in their free time. The idea is to do a simple background check for anything that might tip you off to someone special.
- Simple Coding Tests. Simple coding tests like “Hello World,” FizzBuzz, and Conway’s Game, can be a great “pre-screen” you can include in your job post to make sure applicants at least know how to code. Sites like Codility and Interview Zen make it easy for hiring managers to set up their own screens.
*A robust GitHub account should never be used as the sole indicator for a programmer’s level of expertise. The platform was not intended to be used as a portfolio for code, but as a repository for open-source collaboration, which requires a lot of free time on the part of the developer. As a result, code may not have the context available to explain why a project looks the way it does. There are also many programmers that do not have the time to take on side projects or are legally prohibited from sharing code from past projects. Always take into consideration the other qualities a potential applicant brings to the table.
Step 4. Interview
With a solid shortlist in hand, it’s time to start the interview process. The interview is your opportunity to get to know the candidates and determine who will ultimately be joining your team. Prepare a series of interview questions that will help you assess how well each candidate will be able to perform the details of the job description.
Ask the candidate about past projects and work experience to gauge their problem-solving skills. Coding chops aren’t the only thing you’re looking for; you’ll also want to make sure this is someone who is responsible and will work well with the rest of the team.
Step 5. Give the freelancer a test project
Even if a candidate has an amazing portfolio, a solid web presence, has nailed your coding test and passed your interview, there’s still the possibility that it’s not a perfect fit.
Both employers and independent contractors will likely agree that one of the best things about freelancing is the flexibility. Having the flexibility to hire someone for a paid “audition” project that also gets real work done for your project can be a great way to mitigate the risks of a mismatch.
Select a small project that can be completed in one to two weeks, something that involves real work that will lead to real results, like a task from your Scrum Board that you were already planning on assigning to one of your employees. Turn it into a separate audition project, possibly at a lower rate, and let the finalists on your list know the terms of completion.
If it doesn’t pan out, pay them for their trouble and move on with the hiring process. If they produced outstanding work and were a pleasure to deal with, then congratulations—you’ve found your top-rated freelance web developer and should hire them onto your main project.