The work we do
By the standards of the company I work for, I'm an old fogey. I've been working at programming for nearly 7 years now. I'll try to explain the way the work has evolved over these years.
1998 was about the end of the period where the whole concept of outsourcing was just taking off. My company has been around for about 15 years now, but the 90's was a period where American companies did their outsourcing for one of two reasons:
- The founder/influential-person of the company was an Indian, and he wanted to give something back to his country. The quality of the work varied. Usually this reason was coupled with one of the other two.
- The company was a garage-type company who was really strapped for cash. It got some funding by way of VCs, but wanted to make that money last. Oh, and someone in that company was either Indian or knew Indians. This sort of project was the most fun to work on, because substantial portions of the heavy-duty, core technical work came here. But you never knew how long it would last, because funding could run out anytime, and the products were hardly ever marketed very well. People on the other side were basically trying to get a new product idea working.
- The company was a large company which wanted to have "24-hour operations" i.e., when problems arose at night time in the US, they'd have a bunch of guys here in India to handle it. This work was the most frustrating kind of work, because it usually involved babysitting critical and delicate applications. And the outsourcees had to really put in a fight to be considered capable of taking on bigger roles.
But overall, if you'll look over the work that came here, you'll see that the work that the US workers, did, and the work that the outsourcees did, was about the same quality. Generally, the outsourcees were treated as part of the company, and were often called over in times of crises. Several ended up joining their clients, since they already knew all about the code.
Fast forward to today.
The years of 2000-02 are considered the worst ever for the software industry. We'll go into the reasons later. But the net effect was that work was hard to come by for American programmers, and by extension, for outsourcees. Any company that didnt have a sound, sustainable business model went out of business. The bad times went on till almost the end of 2002, when American CEOs began to look at outsourcing in a different light. It could be a way to help them out of their crises. And the net result is :
90% of the work that gets outsourced today, does so for one reason alone: MONEY. There's a mental calculation that goes on in everyone's head: This job is done by persons who take $X as salary. There are people in India who can do this job, at $Y. And there are hidden costs, like so :
- The Indian guy, who is after all cheaper, is going to do this job at half, or one-third the speed of our American guy. So, is $Y, multipled by 2 or 3, still less than $X ?
- We could outsource the immediate manager for this team of outsourcees. He too would be cheaper, and could handle part of the day to day pressure. This guy, though, would come in addition to the manger we already have in our company.
- We have to stand those Indians' accents. We have to bear their weird working culture. We have to figure out their emails. [ This is usually why the contact person at the client side, for most outsourcees, is an NRI-type ]
If all these costs are bearable, the outsourcing project starts up. The process has been well documented by now; there are magazines, websites, consultancy groups, who profess to show the innocent unwary American where he could make mistakes while giving work to the wily brown guys.
The effect of this process? The outsourcee is not a proper member of the company he works for. If he's lucky, he is called a contractor and gets a listing in the HR directory. If not, he reports to a local manager who is the 'face' of the outsourcee team for the client. So he is hardly ever involved in the planning and customer-requirements stages of the product. All he gets is a bunch of small tasks doled out by either the client-contact-person, or his manager. He never knows more than the current set of targets. In fact, he doesnt need to know much about the domain he's working in - he is just a code monkey.
Another effect is that now there's a big difference in the attitude of the client towards the hapless outsourcee. The work that gets outsourced is now driven only by money, vis-a-vis the relative ease of picking it up and doing it quickly. Hence, "dirty work", which people dont like doing, is the first to be outsourced. The donkey work of manual testing, fixing nasty bugs that dont teach you anything, writing testing frameworks, running performance tests are 90% of the work you'll find done at any Indian 'IT consultancy company'.
Dont get me wrong: Outsourcing, in the long run, is a step up for the average Indian programmer. He gets to work with companies that are leaders. In the near future, the smart people who learned enough from the outsourced work will start up technology firms, and make products that really compete. But that is something that'll happen in spite of the management of the outsourcee companies, not because of it.
More on who is to blame, exactly, in next post.
1998 was about the end of the period where the whole concept of outsourcing was just taking off. My company has been around for about 15 years now, but the 90's was a period where American companies did their outsourcing for one of two reasons:
- The founder/influential-person of the company was an Indian, and he wanted to give something back to his country. The quality of the work varied. Usually this reason was coupled with one of the other two.
- The company was a garage-type company who was really strapped for cash. It got some funding by way of VCs, but wanted to make that money last. Oh, and someone in that company was either Indian or knew Indians. This sort of project was the most fun to work on, because substantial portions of the heavy-duty, core technical work came here. But you never knew how long it would last, because funding could run out anytime, and the products were hardly ever marketed very well. People on the other side were basically trying to get a new product idea working.
- The company was a large company which wanted to have "24-hour operations" i.e., when problems arose at night time in the US, they'd have a bunch of guys here in India to handle it. This work was the most frustrating kind of work, because it usually involved babysitting critical and delicate applications. And the outsourcees had to really put in a fight to be considered capable of taking on bigger roles.
But overall, if you'll look over the work that came here, you'll see that the work that the US workers, did, and the work that the outsourcees did, was about the same quality. Generally, the outsourcees were treated as part of the company, and were often called over in times of crises. Several ended up joining their clients, since they already knew all about the code.
Fast forward to today.
The years of 2000-02 are considered the worst ever for the software industry. We'll go into the reasons later. But the net effect was that work was hard to come by for American programmers, and by extension, for outsourcees. Any company that didnt have a sound, sustainable business model went out of business. The bad times went on till almost the end of 2002, when American CEOs began to look at outsourcing in a different light. It could be a way to help them out of their crises. And the net result is :
90% of the work that gets outsourced today, does so for one reason alone: MONEY. There's a mental calculation that goes on in everyone's head: This job is done by persons who take $X as salary. There are people in India who can do this job, at $Y. And there are hidden costs, like so :
- The Indian guy, who is after all cheaper, is going to do this job at half, or one-third the speed of our American guy. So, is $Y, multipled by 2 or 3, still less than $X ?
- We could outsource the immediate manager for this team of outsourcees. He too would be cheaper, and could handle part of the day to day pressure. This guy, though, would come in addition to the manger we already have in our company.
- We have to stand those Indians' accents. We have to bear their weird working culture. We have to figure out their emails. [ This is usually why the contact person at the client side, for most outsourcees, is an NRI-type ]
If all these costs are bearable, the outsourcing project starts up. The process has been well documented by now; there are magazines, websites, consultancy groups, who profess to show the innocent unwary American where he could make mistakes while giving work to the wily brown guys.
The effect of this process? The outsourcee is not a proper member of the company he works for. If he's lucky, he is called a contractor and gets a listing in the HR directory. If not, he reports to a local manager who is the 'face' of the outsourcee team for the client. So he is hardly ever involved in the planning and customer-requirements stages of the product. All he gets is a bunch of small tasks doled out by either the client-contact-person, or his manager. He never knows more than the current set of targets. In fact, he doesnt need to know much about the domain he's working in - he is just a code monkey.
Another effect is that now there's a big difference in the attitude of the client towards the hapless outsourcee. The work that gets outsourced is now driven only by money, vis-a-vis the relative ease of picking it up and doing it quickly. Hence, "dirty work", which people dont like doing, is the first to be outsourced. The donkey work of manual testing, fixing nasty bugs that dont teach you anything, writing testing frameworks, running performance tests are 90% of the work you'll find done at any Indian 'IT consultancy company'.
Dont get me wrong: Outsourcing, in the long run, is a step up for the average Indian programmer. He gets to work with companies that are leaders. In the near future, the smart people who learned enough from the outsourced work will start up technology firms, and make products that really compete. But that is something that'll happen in spite of the management of the outsourcee companies, not because of it.
More on who is to blame, exactly, in next post.
1 Comments:
I quite agree on software programmers being 'code monkeys'. They never have the big picture, and that makes everyday tasks so meaningless. Yet, the money rules and we come in everyday to fix that bug, to complete those test cases.
Thanks for giving a brief insight into days before 2001. Guess we came in when the party got over!?!
Cheers,
Aditya
(Aditya DOT Singh AT Google's Email Service DOT com)
Post a Comment
<< Home