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.
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:
Evidence suggests that affordability is at the top of the list for smaller companies, even if they’re not fully distributed.
Hiring freelance developers may not be the right move, for the following reasons:
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.
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.
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.
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.
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.
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.
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.
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.
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.
Isabel Nyo is a technology leader with almost 20 years of experience in the tech industry, with startups to Fortune 500 tech companies. She is the author of The Engineering Manager’s How-to Guide, Nail That Interview and Career Guide for Software Developers. She provides career advice and resources for software engineers and engineering managers via her website.
A practical guide to leading radical innovation and growth.
© 2000 – 2022 SitePoint Pty. Ltd.