Outsourcee

This is the other side of the story. The other side of all those jobs that disappeared from the US of A, the ones people debate over endlessly on Slashdot. I'm one of the people who do those jobs. When I read those debates on Slashdot, on CNN, on the Indian Express, I wonder if they know what it feels like to be the guy who's taken those jobs. Here's what it's like...

Name:
Location: Karnataka, India

My writing tries to do the one thing I'd like to be able to do : Express emotion in the restricted vocabulary of language. Besides that, I find I'm an outsider to the human world, constantly trying to catch and analyze thinking patterns, adding them to my psyche when I can.

Wednesday, September 29, 2004

Another one flies the coop

Yet another one of my close friends - who joined the company around the same time I did - left today, to join another outsourcee company. I've lost count of the people who joined my firm, became friends, and then left -for their MS, for other jobs, for startups, to get married and raise kids, one or two for family business, whatever. I'm still here for non-work related reasons, in case you were wondering. This is the new kind of friends circle - individual people changing every year or so, the group never having an employee who's been in the company for many years.
My current groups of friends are all my project mates. They're the ones I spend the most time with, so they're the ones I discuss most of my life with. I dont know which of them are going to be in the company a year from now.
I have another, broader group, people who have remained friends in spite of not even being in my city or country any more. The only interaction with them is through email or IM. Your average IT worker probably types more stuff into IM or email than he does into vi. For many people, whole weeks go by without any interaction with friends except by IM. It's probably the reason why IT sorts are really enthusiastic about some sport - badminton, trekking, cricket - which requires them to spend time with each other.
In spite of all efforts, programmers are probably the groups who spend the least time in social activities. It's very rare to develop close friendships, even rarer to find people who share your interests and who happen to be around for long enough to develop such friendship. So when it happens, it's amazing.

And when it ends, it's hard to imagine what it feels like, for those who dont work in IT.

Fare well, pal.

Thursday, September 23, 2004

IM Vs. Blogging

The past few days have been very interesting. Nearly everyone I know (and others, whom I dont know that well) have IM'ed me, or caught up with me near the water cooler to give me his/her opinions on this blog. I could probably count the time I spent arguing with these guys in days. (If you need to wonder if I might be referring to YOU, then you're probably right)

I'm all for the immediacy of IM as opposing to the static art of composing emails and articles. But guys, if you have something to add to the discussion, give it to me in a form I can put up on the blog! Chat transcripts dont make for good blog posts. A couple of paragraphs where you've put together your arguments is much better, and I guarantee that it'll be published for everyone to think about.

I don't want stuff that agrees with me. Since I'm acting the part of a doomsayer, I'd be more than happy to get positive refutations of my arguments. I would be overjoyed to get convincing details of India's dominance. But please, PLEASE, write it out in an honest way and send it to me in one piece. Eloquence is not a requirement, just honest, logical arguments. From your IMs and discussions, I know you're capable of that much.

Tuesday, September 21, 2004

Divided Loyalties

Sorry for a title that sounds like a Mills & Boon novel, but I could think of no better phrase for a very common situation that occurs in outsourcee companies. I'm talking in detail about one of the factors that prevent employees from "giving their 100%", as I mentioned in an earlier article.

While talking to a colleague today, we got onto the topic of promotions. This was his opinion: "It doesnt matter if the client sues u, if ur boss is happy, ur on ur way." Which is kinda wierd, because if you are writing software, and the person for whom you're writing it doesnt like it, you ought to be in a very bad position. But that isnt, often, the case in an outsourcee company.

Very few companies do proper "360 degree appraisals". By which I mean, appraisals in which the client, the person who is paying for a project, gets to give his opinion on a person who's working on that project. Feedback from the client, if any, comes in the form of mails sent to the team lead, or his manager. Those mails, of course, come only in extraordinary circumstances: either the guy is doing really, really badly, or extremely well. How to interpret that feedback, too, is up to the team lead.

This means that the person who decides a programmers future, his promotions, his pay, is not the person who is most qualified to judge his work : the client. Granted, there may be any number of circumstances where a person does good work, but it isnt visible to the client. But that doesnt make anyone else *more* capable of judging our programmer. So our hero has to make sure he doesnt get into his team lead's bad books, if he wants to get ahead. I've personally seen situations where people did amazing technical work, which was appreciated by the client, too, but because they'd annoyed their team lead for some reason, they were given bad ratings in their appraisals.

I know exactly what everyone's thinking right now: Sucking up to your boss happens in all companies, not just in outsourcee ones. True, it does happen. But look at how rarely, in normal companies, a programmer interacts with a client. The people who interact with clients, Sales types or site engineers, are defined by the work they do. They arent the people who write the code. Come appraisal time, they are judged only by how well they handled the clients. Programmers are judged by how well they coded as per their bosses' instructions. But in outsourcee companies, programmers are judged by how well they interacted with their boss, when the meat of their work came from a different person, the client, and was only superficially handled by their boss.

Also remember that we're talking of programming, where the output of a whole day's work could be 5 lines of amazing code. It could solve all the client's problems, but your team lead, who hasnt spent as much time on the problem as you and the client have, cant see the complexity of the problem.

In short: Make sure your boss is happy with your work. Make sure he knows why you came in late, or why you couldn't deliver on time. It doesnt much matter if your client isnt convinced. Its your boss who is going to be promoting you, make sure you explain everything to him. You have to make sure he knows what you've achieved. Code doesnt speak for itself.

Monday, September 20, 2004

Your typical "Offshore outsourcing" debate

This article - Offshore outsourcing - perfectly illustrates the typical debate on the net about outsourcing. The major portion of the participants are Americans. They'll be about evenly split between "outsourcing is an economic reality, lets face it", and " CEOs are selling our country and living standards down the drain for money". Maybe, if this were on Slashdot, there'll be a few Indians gloating about how much work is inevitably coming to India.
Fear not, Americans! While a lot of the simpler coding jobs are moving to India, I dont see us taking over your country for some years to come. There are several things that need to happen before then. Dont worry, going by the trends, Indians are beginning to realize that just doing outsourced work does not move them into any sort of competition with the companies actually doing the creative stuff.
I've been facing criticism over the past few days for being a pessimistic SoB and using the language Americans use about us : code-monkeys, software coolies, what have you. So let me try to list out the things that'll make me shut up and agree that India's a real competitor in the global arena :

- Software products marked with Indian brands are marketed by Indians worldwide. They may be made by Vietnamese for all I care : the branding has to be Indian and the revenue earned by selling them has to go into Indian products.

- Standards forming bodies like the IEEE, W3C, etc have significant Indian presence. I dont mean NRIs, I mean Indians working for Indian companies, who will use the standards they make in their products.

- Indian Technological patents and proof-of-concepts of these patents are comparable to the best of whatever the best is at the time.

I hope you get the drift.

[ I'm still thinking over this one. Comment away, but realize that I'll be further adding to this post soon. ]

Tuesday, September 14, 2004

Paid-for article on Rediff?

Look through this article on Rediff : India, the world's high-end IT hub too

From the scarce number of companies referred to by this article, and the conspicious absence of the bigger names in the field, the article sounds like a veiled advertisement for this iSoft-whatsis. For my money, they're targeting developers whom they want to recruit.

Mainly, this is an attempt to attract people who have realized the stuff I've talked about over the past weeks, and who are now looking for alternative careers. Jumping to a product company is always risky in the Indian environment, so this company is offering a half-assed compromise between the two : We develop proper products (i.e. here you could become a highly paid pure techie), but these products are developed for some outsourcing company. The idea might just work, but everything is against it.

Monday, September 13, 2004

"Give your 100%"

The comment I got for my last post (What do I want to achieve?) was so to-the-point that I need to reply to it. Read the comment first; I'm not quoting all of it here.

You start with that part of your work where you can afford to compromise on quality and where your business secrets (core work) are not given away. You start the partership. Slowly, if the outsourcee people are good, you start putting more faith into your partner. You start giving more important/core work.

Right. And let me say this : What you're describing is no different from the path which any employee of any company goes through: as a freshie, he's given simple work. Then as he learns about the project, he's given bigger chunks. Eventually, he's working on core parts of the project.
All else being equal, this is what would happen eventually to you, the guy who's working on a clients project while being an employee of an outsourcee company. But is all else equal? I've seen people who have achieved this, no doubt. There are people who have become core contributors to their client's projects, people who are respected by the clientside employees as one of their own. Though the ratio is less compared to that of code monkeys (as you rightly say), it does happen.

Now. Tell me : how much of this progress is due to the outsourcee's help, and how much due to the individual's? I say from personal experience that the people who are core contributors have done it on their own steam. They are driven individuals who have bucked the system of their company and fought to be allowed to contribute more to their client. Solely because they're employees of the outsourcee company, working for a separate client, they are pulled back in several ways from contributing their 100% to the client's project. I think this calls for examples. Here's a few ways in which outsourcee companies pull back their employees:

- The promotion/managership trap. I've mentioned this before. The client company doesnt really have control over the promotion path of the employee, right? All it can do is to give bonuses, and commend the employee in its appraisal contribution. And what happens if the employee gets a good rating from the client? He becomes in charge of a team - he gets a promotion, or a raise, and becomes a manager for the project. The team keeps increasing until he cant contribute any more. One of my friends, who went through this experience, describes it as "5% real work, 95% donkeywork managing kids." He eventually forced his division bosses to appoint a proper manager for his growing team, so he could concentrate on his work.

- "Processes". Note the statistics touted by the Indian outsourcee companies. Most of the CMM level 3,4,5, whatever, companies are in India. This is a level of software processed above what most client companies have. Now, I'm not saying Software Processes are a bad thing. But their primary purpose is to ease flow of information between the client and the outsourcee team. Instead, processes are used as a marketing weapon. A project proposal from an outsourcee company to a potential client will have : "Our company has CMM level 5, so we are better suited for doing your work." I remember, in the days when this trend was just starting up, a startup client split up some work between my group and another CMM level 5 company. We went through an entire design, implementation and testing cycle, in the time that the other company took to follow its processes and get a proper proposal to the client. There are reverse-type examples too: when the client wants to follow some processes and the outsourcee has different ideas. What I'm saying is that processes are supposed to be in tune with the client, and should be used to get the project done better, rather than solely as a marketing tool.

- The dreaded "Company Participation" Question. When all is said and done, you're still an employee of the Outsourcee company, not of the client. You have have given your 100% to the client, and have worked on the core architecture. But what have you done for your own company? Have you participated in the other company-related activities? Your duties, in a typical Outsourcee-type company may range from attending and organizing seminars, joining umpteen 'work groups', helping the HR department out in recruiting people, and God knows what else. It doesnt matter if you actually spend all your time working on the client's work - brownie points are deducted from your rating during appraisal time because you didnt spend some time in "improving" your company.

I can think of more problems. But I think my point has been made. Your own company pulls you back from working on par with those guys in your client company. If you let yourself go with the flow, you end up with the career path I described in a previous post.

And how many people talk about this sort of stuff?

Friday, September 10, 2004

What do I want to achieve?

I'm answering Feedback No. 6 first because it helps further clarify my position:

My take on the subject is that we all have our own destinies. Why do we do these jobs?

Read the Bhagavad Gita...

Has the US forced these jobs on us? Why should the US offer us technically challenging work? Why do we expect them to treat us as first class citizens in the industry? The beggars are seldom the choosers.

Right. I totally agree with you. And this is why I claim that the work we do isnt as good as the client's work.

And considering the bad state of our economy, government, general living standard of country and the attitude of all of us, look at what the outsourcing has done to our life? If outsourcing was not to happen, what would happen to us? What would we end up doing?
What would be our standard of living?

Agreed, agreed, and agreed. I earn more than my Dad did when he had 6 odd years of experience, and people in my company routinely fly to Malaysia and buy expensive Apartments. We are helping the Indian economy to grow, and triggering other sectors as well. But. In this blog, I am not comparing our jobs with the old-economy type jobs in India, but with the jobs similarly qualified people in the "Outsourcer countries" get. This may be an unfair comparision considering the country we live in. But people are making this exact same comparison and saying that we are at the same level as the Outsourcers. See the Feedback No.s 1 and 2 below : They illustrate the common mindset of the Outsourcee public, of the Indian media, of a lot of Indian officialdom, who say: "We are really competing with the Americans on common ground now."

Though I understand that the primary intention of the blog is to paint the other side of the outsourcing picture, what is its main point? What do you want to arrive at?

In a word : the truth. As I mentioned above, Indian public opinion today is that due to Outsourcing, we are rapidly gaining on the Americans. It is felt that a person fresh out of college today in India can expect to get the same kind of career that his counterpart in the US does. People say the outsourcing companies are among the world's top X companies, and the work people do there, the way they are run, is the best possible. The panicky reports in US media about job losses help fuel that feeling.
My contention is that outsourcee companies are a long way away from making serious contributions to World industry. Indian Outsourcee companies are nowhere near world standards - not only in the quality of work they do, but the way they are managed, the options available to their employees. This stuff is subtle. It doesnt show up in newspaper interviews, it doesnt get discussed openly.
When a college graduate joins such a company, he's only seen all the glowing media reports, he hasnt seen all the details I'm writing about. I want people to know the problems they'll face when they make a career in an Outsourcee company.
Recognizing a problem is the first step to fixing it. If enough people read, understand, and participate in this discussion, they are armed to see such problems and think of solutions. I do not claim to be an expert. I cant hand out magic potions that'll make everything all right. It'll have to be a joint brainstorming session.
This requires you, my readers, to ask me tough questions, and force me to clarify my points, and for you to spread the ideas to your friends so more people understand what I'm talking about. So shoot!

Thursday, September 09, 2004

Feedback (so far)

Feedback No. 1:

The entire article is working on a premise that only low end work is outsourced.
This is changing sooner than you can think.
The company where I work, has completly outsourced new development to BSL.
Windows XP home edition is developed in India.
Oracle 10g (Parts of it are developed in India).
So that argument is flawed.
We are getting there in terms of being customer centric and writing good code but we have some way to go.

Feedback No. 2:
[Building on FB1]

Yep,
We, in India,are developing the Turnkey Solution for Kuwait Stock Exchange and Muscat Stock Exchange and all companies that qualified for the last round were Indian.....:)

Feedback No. 3:

Q for outsourcee ...

What is the effect of all the noise on an outsourcee? On morale? Including call center ones?

When we had people going for Y2K problem, many people were critical and called them 'code coolies'. Those people have now spread out and are doing themselves and India good.

How do outsourcee feel when called code coolies? Does it makes you feel let down or push back at these people or don't care?

If the feeling different than when people in US are critical? Does it makes you feel important or push back at these people or don't care?

Feedback No. 4:
[More general questions, typical stuff asked by Americans]

Are you a swaet shop worker?
Does your employer squeeze your nuts dry?
Are you allowed right to talk back?
In US it is all about freedom, why you let them oppress you ?
Are all computer programmer high caste people?

Feedback No. 5:
[An Indian working in US asks :]

1. i wonder if i come back people will bitch about me .. like i say something and they will be .. sala US say aaya hai ... thnks he is hero
2. My old company, MNC-with-Indian-branch, was like that ... we had to fight bak not to be treated like 'naukar' .. it had a strong lala company attitude we had to fight ... now people tell me that attitute is spreading ... really?

Feedback No. 6:

Just got a chance to read your outsourcee blog. Its wonderful. I wish I could write and maintain my impressions about my job like you do. I'm sure your impressions about your job will change over time as your job profile itself would change. But this is fantastic. Keep it up.

My take on the subject is that we all have our own destinies. Why do we do these jobs? Has the US forced these jobs on us? Why should the US offer us technically challenging work? Why do we expect them to treat us as first class citizens in the industry? The beggars are seldom the choosers.

And considering the bad state of our economy, government, general living standard of country and the attitude of all of us, look at what the outsourcing has done to our life? If outsourcing was not to happen, what would happen to us? What would we end up doing? What would be our standard of living?

Though I understand that the primary intention of the blog is to paint the other side of the outsourcing picture, what is its main point? What do you want to arrive at?

A Belated Definition

I was going to give replies to all the people who've asked me questions and given suggestions, but then I realized I havent defined 'Outsourcing' for the purposes of this column. I hang my head in shame and offer these few lines as repentance:

Outsourcing: This is when one company contracts another company to do the formers work. Usually, the former (hereafter referred to as the Outsourcer, or client) pays money to the latter (the Outsourcee) in lieu of the work.

The scope of this column is limited to the outsourcing done for intangible 'software'. That means I'm not going to talk about outsourcing of manufacturing work, like how Nike shoes are produced in China. I'm going to talk about computer software, about legal documents being processed, about Call centres, about X-rays being scanned by doctors, and so on. Software of all kinds.

I'm not talking about a company setting up a branch in another place because its cheaper. As long as the work stays within in the same company, it isnt outsourcing. In case this definition gets shady, I'll use the following test: Whose name is on the final product? If at all times, the persons who worked on the product are employees of the same company whose name is on the product, then it ISNT outsourcing.
[Thinking of more caveats and clarifications overnight - comments are invited]

Now, given this definition, lets tackle the questions we have. I am posting the questions, suggestions etc which I have so far, in my next post. Replies and related questions are invited. I am going to be editing these posts over the next day or so, answering them as best as I can.

Thursday, September 02, 2004

The career path of an outsourcee

This post builds on the type-of-work post I wrote earlier.

The kind of work that comes to outsourcee companies is typically the lower end kind of work, which doesnt teach you much, and which people on the client's side want to skip in favour of better work. The moment 'good' or interesting work comes up for the client company, it will be taken up by the people there, and the uninteresting work they were doing earlier goes to the outsourcees. Or else, when the load is suddenly too much to handle, new people are added hastily to the outsourcee team, and the new guys have to learn the code on the fly.

What does this mean for the average outsourcee? It means:

- Depending on the need of the moment, a new college graduate can get assigned to the same project, and same work, as a person with loads of experience.

- Client companies are reluctant to give technically demanding or "deep" work to the outsourcees. They also know that the team could change, expand, or shrink at any time, so they dont want to be left with incomplete work.

- Generally, the work that is outsourced is work that can be picked up with a month or so of starting. So, within a month of joining, the fresh college graduate is working along his experienced colleague and delivering at almost the same pace.

- The type of tasks that require experience and system knowledge are very few, and you're lucky if you get that stuff. So, if you have a bunch of fresh college graduates, you will be able to deliver maybe 80% of the work thats given you. The remaining 20%, maybe, requires knowledge of the platforms or of the domain. Some of it, too, can be done by bright performers out of those same college kids.

Now think about this: Take two people, once who is fresh out of college, and thus will take up a junior post (i.e. less money), and another who has been working for several years, and is a 'senior programmer', (i.e. more money).

When recruited as team member, both these people are going to get the same kind of work. The experienced guy will pick it up in a week. The kid will take a month. But at the end of the month, they're almost on par, because the work doesnt require much experience.

Now suppose you only had to recruit one of them? Which one would you take?

The fresh graduate, of course! Because he's doing the same work for much less money! And the months' pick up time is easily taken care of by marking him as a trainee and making him billable after a month.

So now, why would any 'consultancy company' want experienced people on its payrolls at all? Think a while about it.

There are many such companies today, which have a bulk of their employees fresh out of college. Companies proudly declare themselves to be "young" companies. The press releases say," The average age of our employees is just 24 years!" implying that it's a dynamic young environment to work in. And like factories, these companies go through sets of employees, working with them for a few years, then refusing to pay more to them as their experience increases, so that people leave automatically.

So where do the experienced people from such consultancies go? To the only posts which are open to them : Managers. Today, in any outsourcee company in India, experience is equated with managerial skills. A person with 3 or 4 years experience is supposed to handle teams of 5-10 people, a person with 7-10 years of experience handles departments of 25 people, old fogeys with 15 years of experience handle entire divisions and are responsible for business development.

It takes a moment to see how big a farce this is. How does programming for 3 years qualify you to manage a team of eager college graduates? How does managing a couple of such teams prepare you for handling business relations with customers?

In traditional companies, managers are people who have management degrees. Engineers are people who have technical degrees. People do cross over, but it is not a compulsion. You can become a pretty senior, well respected engineer. Not so in outsourcee companies.

Because the work itself is not that complicated, there is no technical-level promotion path. There are no system architects, or product design in-charges, or technological consultants in outsourcee companies. There are only two types of work: Entry-level work, i.e. programming, the work you learned in college; and management of bigger and bigger teams, which you are supposed to magically pick up. Hardly any manager is supposed to code, so you are shut out of the field which you are most interested in.

If you're lucky, and have some aptitude for management, you wind up managing a huge division of coders. If not, you code for a few years, then as a promotion, become a manager of a project team. Then you do so-so with this team, trying to micromanage each team member and solving their technical issues. The team never grows because of your efforts. If it does, it's because there is lots of code-monkey type work at the client's end. Once the project stops, or you get sick of it, you start again with another project.

This, incidentally, explains why Indian outsourcee companies are getting stuck in a rut. It takes people with company-building visions at the top, to move the company forward. Often, the head of the company is such a person. But everyone under him is a techie who worked his ass off in bigger and bigger projects until he got to a "business development" type of position. Thankfully, some of the companies are realizing this and recruiting people with some management and brand-building experience to figure out what to do next.