Friday, August 3, 2012

Pros and cons of international outsourcing when you are self-employed

While the idea of outsourcing work to other countries -where the staff costs 3-18x cheaper than here- may sound very profitable, you must be aware of a few things that may help you doing it right.

I am dealing with outsourcing management since 3 years now for my own web development business, and this is only since the last few months that I feel comfortable with this business model. Making better markups is always interesting, but by no means it is the easiest way. You must actually work a lot for it before it can work seamlessly for you. I have staff located at Ghana, India and Brazil, and at the beginning I had other staff in Turkey and India; none of my original workers are still in the team. I had to fire members, and I also lost members.

Last year I got a huge corporate website development contract, and I quickly realized that I could never accomplish all the work alone for many reasons; the deadline was tight, I was not knowing PHP, Ajax, MySQL, Google Maps API and Paypal API, staff over here in Quebec are charging me way too much (so much that in fact, I would not have done any profit at all with the job if I hired one good and reliable coder in Quebec), and well, my goal was not only to make money, but to make money while keeping a maximum of free time for my own projects.

I accidentally discovered, a website where people from all around the world are listing what they are willing to do for 5$. I was suprised to read that there was a lot of offer about programming. So I created an account, and posted the job in order to get quotes on Private Messages for larger-than-5$ jobs (I was breaching Fiverr's EULA, but I didn't cared since I could open a new account under a new name later). After only a few days, I finally found an India coder, Yoge, that seemed talented and that was willing to do the whole job for me at a very cheap price. I gave him some other, unrelated small works to first evaluate his knowledge. In parallel this allowed me to build a good team workflow, which was absolutely necessary because we had many hours of difference due to our respective location on Earth.

He was in fact very talented, so a few weeks later I briefed him about the exact work to do on the huge contract and he started working on it immediately.
Everything was perfect; he was a great, talented and honnest person. On my side, I was proud to now be a boss and to dispatch work to my staff.

7 months later, he tried to get a new full-time job in India at the giant IT corporation Mahindra Satyam, one of the top 10 industrial firms based in India.

I supported him morally in this move because at first he was not self-confident. He promised me to continue my contract on evenings and sometimes over weekends, at a slower pace, and this was correct for me. After that contract, I would simply have to find another full-time coder to replace him, and we would continue developing our common projects together during his spare time.

When he came back from his second interview, he told me that the corporation were impressed by the quality of the work he did for me and the user-friendlyness of our user interface (UI). 

When he came back a few days after, he announced me that he finally got the job he wanted; I was incredibly deceived for myself, but very happy for him. I suggested him to continue to pay his full (normal) salary for about 20-35% of the original working time until our contract was completed. That had no impact; He then never came back online.

He always dreamed to go working over there, and now that he did, he most probably had to do a lot of overtime for them, proving himself for the role, thus having no more time for me and our planned projects. Since we were now very good friends, maybe he never had the guts to come back online telling me the hard truth. But there are rumors about Mahindra Satyam inquiring about their new employees' current IT activities and making them sign an agreement that does not allow their staff to work for another company (because they are in contact with high-end technology and industrial secrets). This is in fact a common practice in IT development centers, industrial development centers, and also in the video game industry. Uhm :(

I now had a contract finished and paid at only 80%-85%, with only 2 months remaining before deadline, nobody to complete it, and way too much stress to study and learn 3 languages and 2 complex APIs.

I decided to go back on Fiverr and hire a new coder, Ernest. He is from Ghana. He is providing better overall polish than Yogesh (he is also providing solid CSS and graphics), and he is reliable, even if a lot more expensive to hire. He is still in my team by this date. However, in this case, he hardly understood Yogesh's way of coding, so he preferred to start back the whole project from scratch. According to him, it would not have taken much more time than studying and understanding Yoge's code, and he would have much more comfort this way. As comfort of my staff is a priority (I often do a lot of sacrifices to give them this level of comfort), I accepted and he started. On my side, I got an extension of many months for the deadline. I have been very lucky. We are currently working on new projects together.

There are many factors you need to take in consideration when you need to outsource important work to the international scene. Based on my experience, here are a few points I think you can't survive without, beyond their pure talent to accomplish the task you give them:

1-Take into consideration the time difference between you and your employee. If you have many employees, ensure there are all close enough from each other to be able to supervise them all when you're not sleeping. Having one in Brazil and one in China is not a good idea if you live in Quebec, you are better finding two from China or two from Brazil, or near, so you can sleep many normal hours without interruption;

2-Take into consideration their communication ability, as well as yours. Many workers are very talented, but don't speak or write comfortably and correctly in your native language. Being comfortable with verb tenses is something of high priority. If the worker tells you "I do this today", while he means "I've done this today", you most probably won't ask him to show it to you, because he is or will do this. Both parties will lose time, and sometimes one will become confused. Same effort must come from your side. You must be patient, precise, and use words and sentences not necessarily in the correct way, but in the way you know he will easily understand. You are not there to be an English or French teacher, you are there to understand each other and make business. Do it only if you have the time and if your employee is really willing to learn your language, else he could find you annoying and this may lead to bad relationship;

3-Share your vision. Be precise, and remember it to your employee constantly to keep him motivated and tuned about any change that occurs or might occur in the future;

4-Compliment them when you are happy with a result or their personnality. This will improve your human-to-human relationship;

5-Be a boss, be a friend and be an human. If you are not flexible enough with unplanned situations, chances are they will start looking elsewhere to establish their future. Being a boss sometimes help respecting deadlines, being a friend makes things fun, and being human makes thing pleasant and comfortable;

6-Always do your very best to pay them as planned and on time. If you respect your payments, you can expect the work to get done on time as planned;

7-Test them with real-world exercises before hiring them on an important job or project. This will avoid you hiring somebody that is claiming to be talented enough than he is in reality. As an example, many web developers are simply modifying templates or CMS platforms like Joomla, Magento, WordPress or E-Commerce. This is good to have a glimpse of their full potential;

8-Don't forget that international contracts/agreements can be done, but can very hardly be protected by your local laws. You must rely a lot more on each one's trust, so there are many benefits in taking some time to know each other well;

9-Help your workers as much as you can. Assist them. Show them that you are a teammate, and not only a boss that give orders. This is very important and helps a lot keeping your worker(s) motivated, because they don't feel like they have all the weight on their shoulders;

10-Listen to your workers carefully. They usually do most of the job, and they know things you don't know. In this world, one can grow much higher and faster by recognizing that there is always somebody, somewhere, that is better than ourself in what we do. If your worker is suggesting you a replacement solution, take the time to evaluate the pros and cons with him. You remain the boss, but your workers are the production. With no production, you are the boss of nothing. Many new bosses are not respecting this, they are so proud that they are counter-productive. Many experienced bosses know that avoiding this, is in fact the secret key to success;

Everybody are most probably dreaming of leading their own business someday, and dreaming of generating money without the need to be on site or overnight. But the hard truth is that being a freelancer and/or a boss is not given to everybody. Some people have more luck, contacts, ideas, ressources or investments than others. But the key is to be ready to work hard and to manage risks like you never did before.
Hope you will use those advices as precious complimentary tools in your quest for an independant career.


  1. Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which I need, thanks to offer such a helpful information here.
    seo backlinks

  2. I have been searching the Internet for fun and came upon your website. Fabulous post.
    trusted backlinks