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.
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.
0 Comments:
Post a Comment
<< Home