Last month a man was caught outsourcing his entire developer job to China.
Here we explain how you can do it effectively, efficiently and without getting fired!
For starters, outsourcing has existed since the early 90s with the intention of getting a job done for less cost, to free up internal resources for other work or gain access to specialist skills outside of a company.
In the case of developing, outsourcing to India or China is a cost effective way of getting all the donkey work done for you, so an IT professional can better justify their salary to their employer by spending all their time on the more advanced developer work – which only someone with their experience/knowledge/genius is capable of.
But how do you outsource?
You know you need to find yourself a Chinaman who can get the job done, but where can you find these talented people?
Odesk, Freelancer.com and LinkedIn searches are all ways of finding tech professionals in other countries. Different people charge different rates for a variety of different services. So picking and choosing the right person can take time as well as a bit of trial and error.
Sometimes they’ll have recommendations from other members, but more often than not, they won’t. So don’t outsource huge projects or pay everything up front just in case.
As with any freelancer, you’d want to start them slowly with a small project and build up gradually as needed.
You’ll also need to communicate with them regularly to ensure smooth running of the work. Or just for peace of mind that they’re actually doing the work! Skype is great for this.
Why China and not India?
Historically, China has always been one of the cheapest countries to outsource work to. However India has enjoyed a rising average income thanks to work being outsourced from the West.
As a result, many Indians are now enjoying a much better lifestyle and charging higher rates as a result. So India may not always be as affordable to outsource to – especially when you’re likely to spend a lot of time controlling the quality of the work you are receiving.
In my experience, ensuring the work gets done by your outsource is easy, but making sure the work is of good quality can be challenging, which is where having that relationship with the person doing the work is essential.
One of the most common problems in outsourcing development work is the naming of classes in foreign languages. Meanwhile, English spelling mistakes are equally common.
For example, we had one script written for us which was meant to summarise common data.
However, summarise had been misspelt “summerise” by our man in China, causing all sorts of problems.
And this is before you even get into the English and American spelling differences between Summarise and Summarize.
So you’ll always need to check things like this to maintain quality control on returning work. Otherwise you can end up having to do the whole thing from scratch yourself while trying to appease an angry boss who paid for someone in China to do it in order to utilise your time more effectively.
Some freelancers aren’t above a spot of corporate espionage, so imagine how tempting this must be if your client is thousands of miles away, on the other side of the world?
For this reason, you should never give direct access to your workplace virtual private network. In fact, this is how the guy who outsourced his entire developer job got caught, because his company thought there had been a security breach.
He couldn’t have been that good at his job, because if you’re going to outsource to China, all your need to do is get your man in China to connect to a UK virtual private server via your own proxy before they can connect to your workplace virtual private network.
This way they won’t trigger any alerts in network security and their access should be restricted to just the areas you need them to work in and no others.
When you look at the salaries of all the different developer jobs and what they entail, there’s no excuse for someone with this skill set to waste weeks writing something as basic as HTML code or simple scripts. For this kind of money they should be working in Python or Ruby. So it makes sense to outsource the simple dev stuff to China for less money.
However, like any freelancer or employee, an outsourced person needs you to spend time, planning and managing their work.
Obviously you should test the water and give them a chance to prove themselves, but if you find that you spend more time managing them and controlling the quality of their work, it might be worth just knuckling down and doing their work yourself.
Because if you want something done right, more often than not, you’ve got to do it yourself.
But for everything else, there’s outsourcing!