I wonder what do software engineers from Silicon Valley feel when they hear that Google and NASA hire remote developers from Eastern Europe. Should they start getting worried?
Probably not — but news of this kind are still indicative of the state of the industry of software development outsourcing. And these news prove that 2016 was a great year for both software engineers looking for remote employment opportunities and companies willing to hire them.
In the summer of 2016, both LinkedIn and Atlassian’s Jira launched tools that allow companies to search for ‘working nomads’ among the platforms’ users. In the same year, a startup calledGigsteremerged to enable hiring remote staff directly from Facebook and Google. Besides, 2016 is the year when the phrase ‘gig economy’ officially became a buzzword.
With so many big things happening in the market of remote location jobs, doesn’t it seem like software outsourcing providers will face greater competition from independent freelancers in 2017? Maybe outsourcing companies are the ones who should start getting worried?
And again, the answer is ‘probably not’.
The thing is, there is a huge difference between hiring remote software developers from outsourcing agencies and offering gigs to freelancers. Let’s take a closer look at these differences. Below you will find a summary of what freelancing platforms and outsourcing companies have to offer to entrepreneurs and companies.
Hiring remote developers via freelancing platforms
Platforms like Upwork and Freelancer are the first things that come to mind if you consider hiring freelance programmers. These two platforms and similar services (including the ones from LinkedIn, Atlassian, and Gigster) revolve around a simple principle: they syndicate as many freelancers as possible.
By making millions of global freelancers compete with each other, they drive prices down allowing you to hire remote software engineers at lower rates. Hiring process is automated, so, theoretically, it doesn’t take long to find a freelance programmer ready to take on your project.
All this makes freelancing platforms great for hiring remote developers for small jobs. Whenever it comes to more complex projects, however, there are several risks that can easily become deal-breakers:
- Freelancing isn’t exactly popular among experienced senior developers because of the price dumping and the lack of challenging long-term projects.
- Vetting is either nonexistent or ineffective. Even though ‘elite’ platforms like Toptal advertise vetting as their feature, both software engineers and entrepreneurs often find their vetting process questionable.
- Distributed teams of freelance programmers are a pain to manage. Far too often, you’ll end up with several contactors living in different time zones, speaking different languages, and being generally incapable of productive teamwork.
- Freelancing platforms don’t do much to guarantee successful project completion. For instance, should the remote developer you’ve hired drop out for whatever reason, don’t expect that you’ll be offered a substitute.
To top it all, working with freelancing platforms has an unpleasant side effect: there’s a ton of extra work that you have to do yourself.
With freelancers, it’s your job to tell the difference between competent and incompetent candidates. It’s also your job to interview the competent ones — and this includes persuading them to take the interview in the first place. It’s also your responsibility to manage their work once you’ve hired them, so you also have to be their HR, motivator, career consultant and cheerleader if you wish to retain them long- term
Oh wait, there is no happy hour or cheerleading because there is no team… so best you can do is talk with them on video and hope that there is no local dev shop that invites them to a fun corporate party.
What you can expect from outsourcing companies
The sheer number of pain points mentioned above is a good reason to consider other ways to hire remote software developers. Significantly more so if your project requires a dedicated development team rather than an individual programmer.
Let’s take a look at how workforce providers of this type are different from freelancing platforms.
Skilled developers with ownership mentality
We’ve mentioned that experienced developers often choose outsourcing companies over freelancing. But why so?
From the perspective of a customer, outsourcing companies might seem largely similar to freelancing platforms because either way, you hire a remote developer. But from the developer’s perspective, the experience is totally different. This experience is a lot closer to having a reliable full time job with an office, fixed schedule, and long-term projects.
Unlike freelancers, developers from outsourcing companies don’t have to spend time looking for customers, and they don’t have to combine multiple gigs or worry about customer being able to pay the bill. As a result, devs from outsourcing companies can focus on what they do best — programming. As a rule, they are encouraged to learn new skills, and they have more experience with challenging long-term projects.
When hiring a freelance programmer on Upwork or Freelancer, you rarely know if you’re paying the right price. There’s just too many people with different hourly rates, and there’s no way to tell if these rates correspond to a particular skillset or experience. So in many cases, you end up relying on your gut feel.
When you work with a good company, remote developers would be co-located and working in the same office. Even with great video and constant Slack chatter, there is no substitute by huddling next to a whiteboard and brainstorming a design idea or a complex problem. Humans are social creatures and we work better in teams.
Recruiting — snap your fingers and you get a good candidate who’s interested in your work. HR — dedicated local expert in human relations whose job is to keep the motivation high and surface potential problems early, resulting in lower attrition and higher productivity. Technical leadership that helps with architecture and specialized knowledge, finance, accounting and all kinds of other support.
When it comes to hiring remote developers from outsourcing companies, things are different. Most providers are transparent about the location of their dev centers, which means you can easily compare their rates with average salaries in the same location. To do this, you can use market research data from a trusted source — like this survey of software development salaries from O’Reily Media.
With more transparency, outsourcing companies become a preferable option whenever you hire remote developers for larger projects that involve greater investments.
Knowing how your software solutions providers build their vetting process is a crucial. Namely, you’d want to know if your provider selects its devs based on their ability to solve real-life problems.
Now, what makes outsourcing companies different from freelancing platforms, is the fact that that they don’t have use the one-size-fits-all screening process for recruiting devs en-masse. Instead, they target niche specialists with production-focused tasks.
Dedicated development teams
Searching for a freelancer yourself is fine if you want to hire an individual remote developer. But what if you really need several engineers?
Building dedicated software development teams is, actually, a must-have feature offered by many outsourcing companies. This option provides you with a team of developers specializing in a particular tech stack. The fact that these people will speak the same language and work from the same office contributes to more efficient teamwork.
As Accelerance’s Steve Mezak puts it, every great software outsourcing provider has ‘shadow workers’. This concept includes developers from the same outsourcing firm who are not involved into your project. In case something unexpected happens and the remote developer you’ve hired drops out for whatever reason, these people will be able to take on your projects as substitutes.
Besides, the concept of shadow workers implies that programmers employed by the same company act as a community. They share knowledge and consult each other on various work-related matters, which has a positive influence on their overall productivity.
While there are quite a few reasons to hire remote developers from outsourcing companies rather that freelancing platforms, there is one last factor to consider. When working with software outsourcing providers, you’ll need to spend more time before your newly hired programmers can get down to work. Basically, you’ll need to invest some time into market research and meetings before you sign the contract.
Consequently, you’ll probably want to hire freelance programmers for short-term jobs — like building or updating a your website, or something similar. Actually, there are lots of small dev studios operating via Upwork and Freelancer accounts, and chances are you’ll end up hiring one of those rather than an individual freelance programmer.
Still, whenever long-term cooperation is involved, hiring a remote developer from an outsourcing company seems like a more sound decision.