This is my personal thoughts, opinions and musings place. I will also rant about things, especially politically-correct things that irritate me. And sci-fi. Did I mention sci-fi? There'll be lots of sci-fi stuff here. And movies, too. Mmmmm... Movies

Saturday, January 07, 2006

Of outsourcing to India, and the search for the almighty rupee!

One of the more interesting phenomena of the modern age is outsourcing of work to other countries, especially software development to India. In this article I will attempt to summarize my experiences with and opinions on this subject. Since I am a computer programmer, I will present that side of it.

Software development is a ludicrously complex and time-consuming activity, and complexity and amount of time increase logarithmically as numbers of users and amount of data increases. It is not an easy profession to be in, regardless of which particular industry you work in. Hours are often ridiculous, as are demands by the user community. It is, however, a highly intellectual job, and one that can be very satisfying.

Because it is so complex and time-consuming, many companies, especially the larger ones, decided to outsource their IT departments to save cost. Usually that worked out quite well, because the company's own programmers would often be transferred directly to the new outsourcer to provide an immediate core of competence. Then came moving from one outsourcer to another, and often a whole new team would show up, learn the entire system in three months and then completely replace the previous team. That's how I got my current job, by taking it away from another outsourcer.

We eventually lost that contract due to unfortunate timing with the customer almost going tits up. The work went to another company in Canada, which sent it all to India within the year. And that's when the trouble started.

Most of us moved on to different positions within our company, and never really gave the lost contract much thought. I, certainly, never thought about it, until I heard from an old friend who had been hired by that old company to fix the disasters created by the India team. None of us had to worry about it for about two years, at which it was announced that half of our current contract would be going to India.

It took about three months from the date of the announcement for me to learn that the problems associated with the previous India team were not just a hiccup in the generally smooth transitions, but appear endemic to the software development industry in that country.

Apart from being grossly incompetent, I found them to be rude, abnoxious, arrogant, lazy, unwilling to listen to those with experience, and above all else, convinced of their own superiority. You're taking my job, the least you can do is show some sensitivity. And sending me highly insulting emails when I'm trying to ensure you're properly completing a monthly process(one that you have not yet completed successfully by yourself) is not very likely to endear you to me, especially when those emails are CCed to every manager under the sun.

As for competence, I'm not talking about lack of knowledge of the system they were taking over, nobody knows that when you first start a new job. That's something you learn eventually. No, what I'm talking about is basic software development skills, analysis, design, troubleshooting, investigation. None of those things they were able to do, even the supposedly more experienced developers they eventually added to supplement the kid that was sent.

At one point in the past, I showed an intermediate programmer a process he had to do every once in a while, on an almost-random basis. It wasn't a process I was particularly familiar with, mostly because it happened so infrequently. Almost immediately he discovered a flaw in the documentation I gave him, and was also able to suggest improvements to the process. When I tried to explain this same process to the India team, it was like talking to a brick wall. However, since they didn't even know how to rename a file, perhaps I was asking too much of them.

Nor does the language difference help matters. I've now realized that when people say that Indians understand English, what they really mean is that they can read and write English, but pronunciation and spoken English confuse them terribly. That sounds racist, but the funny part about all this is that they don't even understand each other when they speak in English. Though, I must admit that speaking the way they do makes it easy for them to manage recalcitrant customers, who just give up when they don't understand what the argument is all about.

What it all boils down to is that nobody sends work to India because they're so good at what they do, but because they're cheap. Though I'm not entirely sure what's so cheap about them. They earn a third of my salary, but it took five of them to do the job I did by myself with the occasional help of an intermediate developer. And considering the months it took them to fix problems that used to take a day or less, I'm less and less convinced that there's much in the way of cost saving by outsourcing to India.

Language barriers, lack of general software development experience, extremely high turnover, twelve hour time difference, extreme culture clash. These do not make for high quality application and user support.

Do you want to know more?
/ /


At Tue Jan 10, 12:46:00 AM AST, Blogger The Talking Mute said...

No matter how we bitch and complain, "Bangaloring" will be the "in thing" of the 21st century.

It is just like those cheap electronic products that are made in Taiwan. People know that they are cheap and useless and yet they still buy it.

At Thu Jan 12, 01:28:00 PM AST, Anonymous Realmspace said...

Every try to talk to a Microshaft rep from India? THey are like Sympatico techs, they read and follow, to the letter, their speil. Not a one can think outside the box, it's insanity.


Post a Comment


Links to this post:

Create a Link


Copyright © 2005 Yury D.   All Rights Reserved