Over the last two decades in my career in the technology industry, I’ve experienced both sides of the gig economy. I’ve been a freelancer, and a technology leader hiring freelance developers. Back in my developer days, I worked as a freelance developer to expand my skillset and knowledge. And since becoming an engineering manager, I’ve been in a position to hire freelance developers for the companies I worked for.
In this article, I want to share my insights about hiring freelance developers. I’ve learned some best practices for finding and hiring the best freelance developers in the gig economy.
As engineering leaders, it’s important to understand and take advantage of the gig economy. It has emerged as one of the most significant developments in the way we work.
The outsourced workforce is going to be part of the future of work, whether you like it or not.
Hiring Freelance Developers
When should you hire a freelance developer? If you haven’t hired freelance developers before, you might be asking why you need them. These are some common reasons companies hire freelancers:
- Access to a variety of skills, across different tech stacks and niche — such as iOS mobile development, ecommerce website development, and so on.
- Freelance developers are more readily available. A freelance developer is usually available within weeks.
- Freelance developers are more affordable. Their hourly rate may be higher compared to a permanent developer. It’s generally going to remain more affordable. There won’t be extra spending like insurance, 401k, or superannuation.
- You may not need a long-term, permanent developer. A company may decide that there’s a project that can be done once and won’t require continuous maintenance or work. There might be a project that requires a specific skill — setting up DevOps infrastructure or refactoring an old tech stack.
- You have a distributed team. This has grown in relevance over the past year, with a large rise in remote work.
Evidence suggests that affordability is at the top of the list for smaller companies, even if they’re not fully distributed.
When Not to Hire Freelance Developers
Hiring freelance developers may not be the right move, for the following reasons:
- You may prefer to work with people in the same office/timezone. Data shows a large population of freelance developers in Eastern Europe and North America, followed by Asia and Middle East.
- You may not have confidence in the skills and/or quality of freelancers.
- There may be intellectual property and security issues.
- Using freelancers may have a negative impact on the potential value of the company for startups trying to get funding.
- For startups trying to get funding, using freelancers may have a negative impact on the perceived value of the company.
Important Factors When Hiring a Freelance Web Developer
There are multiple important factors to take into consideration when hiring freelance developers. Understanding and applying these best practices is crucial to producing successful outcomes for a company employing a freelance workforce. To be successful, engineering leaders need to think holistically to bring the organization and technology together.
Think value over deliverables
Before hiring, think about the value you’d like to get from this person. For large organizations, short-term contracts (anything less than three months) don’t add a lot of value.
It takes a while for people to get the hang of various technologies, codebases, tools, and processes. For small to medium organizations, processes and codebases are not as complex and shorter contracts work better.
This also depends on the nature of the work. For example, whether the developer is working on a specific project or whether they’re doing ad-hoc, business-as-usual tasks.
Set correct expectations
Get the most out of freelance developers with a well-defined list of tasks or projects. Developers can only perform tasks efficiently when they know what you expect.
You’ll also be able to measure whether the developer is meeting expectations over time.
Enforce standards in the hiring process and on the job
It’s not enough to just tell freelance developers about your organization’s coding standards and conventions. It’s important to review the work that they’ve done so they follow standards and conventions accurately. Therefore, code review is essential, especially for the first few tasks they work on. This needs to be done to ensure the developer conforms to the coding standards of your organization.
Eliminate any possible bottleneck
If you’re providing tools of trade to do the job, such as a workstation, ensure they’re fast enough so they don’t become a bottleneck in getting the most out of developers.
If possible, ensure you’ve set up all required software on their workstation before they start. Setting up a development environment and other apps is a major timesink.
Free them up to do something more productive — such as learning about your company’s codebases and coding standards, understanding current architecture, and so on.
Be pragmatic: is a freelance developer justified?
Before hiring a freelancer, consider the time someone from your organization will need to spend on getting these developers up to speed.
This relates to my first point about thinking value over deliverables or the project. If an existing employee or employees (for example, developers, product managers, designers, analysts) need to spend a few hours every day with freelance developers to get them up to speed, and those freelancers will only be with the organization for a month, then consider whether it’s really worth hiring them at all.
Invest in tools and processes
If your company doesn’t already have tools and processes to support remote and async work effectively, you absolutely must invest in them. The future of work is here to stay, and it’s a good time to set up processes and tools such as ticket tracking, workflow management, time tracking, communication tools, and so on.
It’s also worthwhile to have standard procedures for the team so freelance developers can read up on these resources to onboard effectively. For example, these standard procedures might detail how to start a sprint, how to run a retrospective, how to triage bugs, how to manage incidents and outages, how to roll out a feature, and so on.
You might want to provide your freelance developers with the same home office setup guidelines you offer employees. This can ensure they stay productive, happy, and healthy for the duration of the project. Be careful to ensure you provide the recommendations as a suggestion — dictate to your freelancers too closely and you’ll find they start to meet legal tests for employee status.
When there are best practices and templates to follow, freelance developers will know what’s expected in each situation without having to check with you often.
Alway Hire the Right People
The best freelance developers for your company are the ones that are the right fit, and only you as an engineering leader can assess who are the best. So my advice is short and sweet: always hire the right people for you, by understanding and applying the best practices that I’ve shared in this article.
While they are freelance developers and may not be with the organization for a long period, follow a similar selection process that you have for other full-time employees in terms of assessing their technical skills, as well as their willingness to be a good team player.
After all, those freelance developers will still need to perform their jobs well, and they shouldn’t be getting a special pass because they’re freelancers.
Frequently Asked Questions
Upwork will give you access to the broadest amount of talent. Fiverr, with a fixed rate approach, isn’t ideal for these situations.
Toptal and companies like it, with vetted talent pools, are a good choice for development work. But you might find approaching freelancers directly via recommendations or reputation to be the best option.
Freelance developers cost between $25 and $300 per hour on average. Developers with name recognition can charge even more.
Will you need the developer’s skillset only for a particular milestone or limited period of time? Consider whether you can onboard a developer properly at their hourly rate and still spend less than a full-time hire. Include benefits and other costs in the comparison. If you can, hire a freelance developer.