This sad for the Indian IT ecosystem, but the world has been evolving into a more protectionist place for a few years now, and the trend isn't going to stop. Indian outsourcing companies need to evolve into SaaS and cloud companies to compete globally. They are already doing this to some extent. That needs to accelerate. Sadly though, this is not going to help the vast majority of their employees, particularly middle-management folks, whose primary skill -- project management, won't be in very high demand, as the deep hierarchies of these companies are replaced by flatter structures more suited to product companies. They need to re-skill skill themselves. And that is going to take a huge toll on them financially.
I worked with an Indian SaaS/outsourcing provider. Worst experience of my life.
Imagine sending build artifacts to be deployed and finding extra files in them. Of course this was all undocumented and untracked, so it was a great exercise in decompilation.
Also Indian IT companies are overstaffed with followers and understaffed with leaders. Even ICs in a good product company like Google or Apple are entirely capable of self-managing 90% of their work -- you only need to tell them something like "implement smooth scrolling on the iPad mini that matches the iPad Pro." They will come back and evaluate the problem and approaches and say that the current system calls don't support an exact match but that reducing to 30fps can get a match or the OS team can do additional work to expose a lower-level graphics primitive to make an exact match. You'll never get that from your typical Infosys grunt. The vast majority of the Indian engineers with that skill level are either employed in the US on H-1Bs or in India at the FAANG India offices.
No, there are a lot of good Serbian developers for example but they all work in outsourcing since the FAANGs don't have offices there. So there are a lot of very talented Serbian devs who do contract work. But in India there is a robust export and domestic market for engineers and a HUGE services market so the services firms are mostly populated by crap talent. It is an India specific problem.
One of the suggestions I keep making to prime ministers office is to open up lateral recruitment is government much more and deploy these people with mid management experience to tackle some of the issue in government delivery. Lot of these people have expertise in managing mid to large scale project, are far more professionally trained, experienced, with exposure to more developed economies. It will help Indian government a lot if it can leverage this talent pool effectively.
I worked for an oil and gas company in Houston about 5 years ago, and the IT organization was primarily Indian contractors working through a couple companies. I recall Infosys and Larsen and Toubro.
One of the IT contractors supporting the SAP system confessed to me how horribly L&TI treated him, and how if he spoke up about it, they could force him to return to India. He was making $18 an hour btw, although I’m pretty sure his billable rate was far larger. One of his Indian friends found out what he’d told me and ended up yelling at him in their native tongue because he wasn’t supposed to speak up, apparently.
I’m sure tons of talent from India absolutely is deserving of their work visas, but there were companies clearly gaming the system.
This has been a long time coming. INFY and others like them have been slave-driving their staff with huge markups for eons. I’m glad the chickens are finally coming home to roost.
I’ve worked in wholesale finance for decades and seen how these guys are treated both on- and offshore by their employers. It’s frankly despicable.
Let’s hope the market in India finally pivots and smaller, more nimble shops take more and more market share.
That being said, I wonder how much of this is embedded in cultural norms that will not be easy to shake. For example: saying yes to your client’s every request, even if it’s stupid, is not something that comes easily, I suspect, if you’re ingrained to just say yes...
That particular cultural norm (or way of doing business, in deference to 'flarg' who is better acquainted with this than I am) has got in the way of producing quality work several times in the past, and ruined the productivity we were trying to get from outsourcing in the first place (it was not my decision, I just had to try and make it work).
"So you understand what you have to do?"
"Yes"
"And you have all the documentation and information you need?"
"Yes"
"OK great, let's get this thing going, get in touch if you need any help"
Two weeks later -
"How's progress on the project?"
"I have not been able to start the work because I could not understand..."
Please create a step by step project plan in {tool name}...
Another issue is waiting two weeks. Never, ever, wait two weeks. With any outsourced team you need much more frequent check-ins otherwise you run the risk of being blind-sided by huge project delays.
We assumed that we were dealing with a (semi-) autonomous developer or team of developers, who would ask for clarification or assistance if needed.
We made ourselves available, we didn't expect miracles (it was big product with a team you had years of knowledge about it attached, though they were working on a small, isolated area), but our expectations were just out of line with what we got.
In the end the developer turned out to be able to do the work, though did not excel. The biggest hurdle to cross was this mismatch of expectations.
I've explained this multiple times now at large (even fortune 500) organizations. I had a project where they kept asking 'can you finish this on Monday?' or 'we need this by Monday, when can you finish it?' Every time, they'd confirm it would be finished on Monday, but it never was.
When we changed tactics to just asking for an estimation without any direction from us, we would get much more realistic estimates. Took a lot of work to convince our project manager though.
This isn't an honesty thing. Many cultures (both in terms of social culture and work culture) have a strong aversion to saying no. Some languages barely have a word for it.
Even when those aren't issues yes/no questions rarely have the precision that you want, often you can phrase a question to seem like it only has a binary answer, but the real answer is way more complicated. Basic project management principles come into play here. As other posters have commented, asking what someone will be working on first, setting up tracking tasks etc.
If you ask an American "How are you?", they will respond "Fine, how are you?".
If you ask a German "How are you?", they will tell you they caught a flu and they bumped their toe on the way to the bathroom.
As a German, it's hard work for me to respond appropriately to the American question. But I understand that I don't blame the American for being dishonest.
It's even harder for me to work with the Indian "yes", but I understand they don't mean to be dishonest.
That is your problem: You have not taken the time to understand other cultures.
You believe they are not being honest but they ARE!!
If they can not do the work, they tell you, but in their own language, not directly but in subtle ways.
They are expressing it, and in their mind you understand them, because they are actually saying it. It is just that you are deaf to their language, you are not looking to the nuances, and just ignore those signals they are emitting.
I'm just a lowly eastern-European contractor banking on real estate prices in Silicon Valley remaining ridiculous on one side, and Indian contractors[0] remaining unreliable on the other.
[0] Those of them who have lower rates of course. Reliable Indian contractors have proper rates - and good for them.
This gives me nervous twitches and flashbacks to my time dealing with Cognizant for IT services and development while contracting for a large energy company.
The level of incompetence was at a level where you kind of look around and wonder if you are on some kind of hidden camera tv-show.
Never again will I work with a client that has outsourced anything that touches my work to Cognizant, Infosys or Cap Gemini.
Could you elaborate on this? I do not have extensive experience with or cultural knowledge of India, so I would be very interested to know about the cultural background for your statement. Maybe it can save me from inadvertently being rude to someone in the future.
Things have changed with newer companies especially those which are building and selling their own products. Though work life balance is still poor but at least people are not saying yes to everything just to appease.
Ex-Infosys guy here. It's just the mid-level managers are clueless. So their best shot is appeasing clients.
I was lucky to have a manager for a while who knew his stuff and he did push back on irrational demands pretty systematically.
Is that like .004% of indian IT workers? Fuck em we've been facing those numbers yearly for 15 years because of cheap outsourcing. Why is this even here?
Average productivity of an Indian IT services employee is as low as $15000 a year. With no uptick in productivity - the only way you can improve margins is to cut the flab - which is there in senior and middle layers. So senior and middle managers who have made themselves redundant without upskilling are now game. Average work life duration of an Indian IT employee might be less than 20 years currently.
Trying to understand "average productivity" here. The 15K is what an average IT worker produces per year - for example if they were billed out for 1500 hours at 10$ per hour?
That is true. Most companies have bench+overhead and billed resources may be 60% or less of total work force. Average billing works out to $10-15 for the low value high volume work these IT services firms do and that has not changed over the last 20 years or so. What has changed is a bloated middle/senior management which is a drag to the above business model. They did try to move up into consultancy and productised services - which did not really work.
Excuse me if I take that ToI article with a pinch of salt. Venture capitalists will throw money at anything they think they can make a buck on, e.g. WeWork.
Is it a bad take (or a sweeping generalization) to say that the quality of work done by IT service companies in that part of the word is consistently below-par?
its not just about money, its also about time. You can get good returns on junior team members but you need to put in the time to coach/teach/guide/manage just like anything else.
more money just means that you're paying someone else to put in the time. Which is cool, different models work in different scenarios.
That doesn't work when you outsource to Infosys or Cognizant - the people you just spent two weeks coaching and training will be gone next week, replaced by brand new blank-slated, interchangeable cogs.
These large Indian outsourcing companies are nothing but a big scam that has cost us millions in productivity, not to mention stress and frustration for not being able to get things done.
If by bad take you mean unfounded conclusion then yes, because you've provided no evidence or argument to support the conclusion.
If by bad take you mean unpopular conclusion then maybe; it depends on who you share the unfounded conclusion with and whether they have information or biases that support or contradict your conclusion.
It’s truth. Nothing more than that. Same is true for most developing countries.
The top developers in India and other similar countries have no reason to work there with shitty salaries and sweatshop projects when they can get visa and much better salary in almost any other place like US, Europe, China etc.
So they’ll end up leaving and those mega enterprise outsourcing-corporations will pick from the ones that stay.
> they can get visa and much better salary in almost any other place like US, Europe, China etc.
In Europe I'm already seeing some pushback against this. In some companies there are so many Indians that it's starting to affect the culture, so they're moving towards hiring more local juniors to train them, because there's less of a language/culture barrier.
Not all Indians, not Indian developers/consultants, not all Indian companies - but large IT service companies in that part of the world? They all suck, yes.
A lot of really, really smart developers in India. I employ some of them myself. :)
It is not really a slowdown. Companies are more than ever eager to hire anybody to do IT projects. The trouble is the level of service provided to customers by vendors from India is pretty shitty and that's why companies are migrating to other countries for IT resources.
I work in banking and payment sector and I had a chance to observe this on a dozen projects.
In one instance Cognizant offered to completely automate a significant application used by hundreds of thousands of customers throughout the world. They were supposed to containerize half a dozen services, Oracle database, configure it to run on AWS and also automate environment creation.
The team put by Cognizant had not a single person knowing how to do basically anything. They spent entire project schedule and more just learning the basics of how to get around. Instead of automating anything they negotiated to be allowed to just order vms on EC2 and install applications there, manually. It took them three weeks to figure out how to copy 400GB database backup (they had space, accesses and networking, they just couldn't figure out how to copy the file). Then they spent another two weeks unable to restore the backup.
The trouble is that for a long time they have been cranking junior devs with no quality culture and no real interest in what they are doing and now this is starting to hurt them.
I work in similar capacity, I have seen similar time and time again. So called "Devs" and "SME's", that basically know absolutely nothing and need to be trained.
The thing that's consistently baffled me with projects like this is why technical milestones aren't encoded in contracts.
In your example, if they can't demonstrate a PoC container or automated environment creation in x% of the schedule, the contract is terminated. With similar milestones throughout the project.
It's like traditional PM project pacing goes out the window when dealing with contractors.
It's not a secret these shops put the least capable people on contracts they think they can get away with, so why not better incentivize them to bring a more skilled team?
I witnessed an outsourcing process first hand, where Cognizant was supposed to come in a handle X, Y and Z tasks (pretty much all IT services) in a large energy company.
By the time it became clear, that they were not able to deliver on their promises at anything that resembles an acceptable level, most people with actual skills were no longer around (FTEs and contractors).
My second best suggestion would be to let an outsourcing partner take over small areas and do a gradual transition as you monitor their performance and quality. The problem is, that these companies have specialized "window-dressing" consultants, that are actually smart and have real skills. As soon as the contract is won, the people with skills are moved to the next contract, that needs to be won - and they are replaced by extremely low-paid resources without qualifications. By the time the company realizes this, it is too late.
I felt quite sorry for these under-qualified people. Imagine going to work every day, barely eeking out a living, while being completely unable to deliver on what you are supposed to do, all while being shouted at by some local slavedriver/manager with a large moustache - for doing your best.
...So the reason I said "second-best" is because I do not believe there is any reason to do business with the Indian outsourcing companies at all, unless you are an exec whos bonus depends on "outsourcing x % to low-cost countries" - and you do not give a fuck about the company as a whole.
> I witnessed an outsourcing process first hand, where Cognizant was supposed to come in a handle X, Y and Z tasks (pretty much all IT services) in a large energy company.
By the time it became clear, that they were not able to deliver on their promises at anything that resembles an acceptable level, most people with actual skills were no longer around (FTEs and contractors).
These days aren't we all trying to move towards more agile working practices? The problem is that fixed cost is pretty much at odds with this.
I've worked on projects where we came to a compromise and had a fixed cost per story point, and the in house PO had to agree with estimations, but the vendor quickly started taking liberties and massively overestimating everything. When we called them out, they started compromising on quality instead leading us to code review everything. The overhead ended up being so large that we might as well have in-housed the project.
Actually, I think fixed cost projects are better. With fixed cost projects you negotiate price for the expected outcome and it is much easier to show if the success criteria were not met.
With time and materials projects it is almost impossible to get good results from the vendor. The vendor meets his goals when they deliver the team and they can't be held responsible for results, typically. If you are not happy with the people they delivered you can of course protest but then you just get different people and the people you protested will find place in another project and it does not matter much to the vendor.
Fixed cost works on relatively simple, low risk, low innovation projects but not so much when there are lots of unknowns and emerging requirements. An example of low risk would be building a marketing website and high risk would be creating a new system from scratch to replace poorly defined business processes.
You don't really want to outsource innovative projects. You want to keep your best staff with you and have it work on most important projects and outsource the least important but highest volume of work.
From my experience only: the idea to outsource to under experienced developers is done by upper management who want credit for saving the company tons of money. Then they leave the company in a year or two after claiming great money saving victory and moving on to their next scam C-level job. If you build in milestones, then it's a chance to prove that the executive made a bad decision and wasted money on a useless transition. I've witnessed this in 3 different companies.
> I work in banking and payment sector and I had a chance to observe this on a dozen projects.
I work for one of the big IT firms and we have many off-shore workers in India, but we're also bringing a lot of them on-shore now. Especially in finance, some customers are starting to demand people who speak the native language because they no longer want teams fully staffed with Indians. I feel like there's a change coming and it's going to be good for local developers, but it's going to be pretty bad for Indians counting on continued growing demand from the west.
Cognizant is quite possibly the worst of these outfits. I've never seen such incompetency, and they are just rude and awful to deal with. They'll do shit like schedule a meeting at 3AM for 7AM the same day, and get pissy when nobody attends, or send fourteen emails a day demanding that the needful be done, and status be provided.
I deal with these kinds of Indian outsourcing companies all the time, as a software vendor, so I'm used to them, but Cognizant is really just another level.
Genuine question: do any companies actually in India outsource operations to these kinds of companies? Or are their customers entirely gullible Western companies?
The Indian government gives them contracts. A lot of big Indian companies also get droves of them to do repetitive work with no visible path of career progression
S1. I met a guy who was really passionate about blockchain and python. At some point, he joined a startup. They were using react-native. Within 2 months he left the job. They treated him really poorly, and no one was there to help him. Now he is preparing for gov jobs.
s2. Another young gun, who works in TCS it's been 6 months since he is last wrote a single line of code. At some point, they will throw a project at him and assume he is a top java hacker. That will solve all kinds of crazy problems.
It took way longer than it should have, but recently it seems like companies have caught on. I've worked with more off-shore developers in the Dominican Republic / Belarus than India in the past 2 years.
Never understood the need for such large, low individual cost, tech teams anyways... almost always seems like a better idea to pay 2 people 200k a piece to work on something than hiring 8 off-shore developers / managers for 50k each.
87 comments
[ 3.1 ms ] story [ 174 ms ] threadImagine sending build artifacts to be deployed and finding extra files in them. Of course this was all undocumented and untracked, so it was a great exercise in decompilation.
> good developers capable of self managing work at Google or Apple
> the only Indian developers at that level work at FAANG
It's almost like good engineers are attracted to the companies that can afford them, regardless of their nationality.
No iPad Mini ships with ProMotion hardware, FWIW.
One of the IT contractors supporting the SAP system confessed to me how horribly L&TI treated him, and how if he spoke up about it, they could force him to return to India. He was making $18 an hour btw, although I’m pretty sure his billable rate was far larger. One of his Indian friends found out what he’d told me and ended up yelling at him in their native tongue because he wasn’t supposed to speak up, apparently.
I’m sure tons of talent from India absolutely is deserving of their work visas, but there were companies clearly gaming the system.
If I asked people whom I worked with to guess my salary, they couldn't even come close. I made about $180 per month with 48 hour work weeks.
I’ve worked in wholesale finance for decades and seen how these guys are treated both on- and offshore by their employers. It’s frankly despicable.
Let’s hope the market in India finally pivots and smaller, more nimble shops take more and more market share.
That being said, I wonder how much of this is embedded in cultural norms that will not be easy to shake. For example: saying yes to your client’s every request, even if it’s stupid, is not something that comes easily, I suspect, if you’re ingrained to just say yes...
You need to phrase things differently: "What will be the first thing you'll be working on?" instead of "Do you understand?", for example.
Describe your next steps...
Please create a step by step project plan in {tool name}...
Another issue is waiting two weeks. Never, ever, wait two weeks. With any outsourced team you need much more frequent check-ins otherwise you run the risk of being blind-sided by huge project delays.
We assumed that we were dealing with a (semi-) autonomous developer or team of developers, who would ask for clarification or assistance if needed.
We made ourselves available, we didn't expect miracles (it was big product with a team you had years of knowledge about it attached, though they were working on a small, isolated area), but our expectations were just out of line with what we got.
In the end the developer turned out to be able to do the work, though did not excel. The biggest hurdle to cross was this mismatch of expectations.
When we changed tactics to just asking for an estimation without any direction from us, we would get much more realistic estimates. Took a lot of work to convince our project manager though.
Even when those aren't issues yes/no questions rarely have the precision that you want, often you can phrase a question to seem like it only has a binary answer, but the real answer is way more complicated. Basic project management principles come into play here. As other posters have commented, asking what someone will be working on first, setting up tracking tasks etc.
It's ironic you're lamenting Indian cultural inflexibility, while simultaneously imposing your own by refusing to simply reword a question.
Engineers get results with the world they're given, not the world they wish they had.
ftfy. Sorry for imposing my own twisted, vile view of the world: expecting people to be honest.
We each have a right to our own perspectives on the world.
Evidence I see points to better engineering results from countries that don’t “culturally” lie.
If you ask a German "How are you?", they will tell you they caught a flu and they bumped their toe on the way to the bathroom.
As a German, it's hard work for me to respond appropriately to the American question. But I understand that I don't blame the American for being dishonest.
It's even harder for me to work with the Indian "yes", but I understand they don't mean to be dishonest.
You believe they are not being honest but they ARE!!
If they can not do the work, they tell you, but in their own language, not directly but in subtle ways.
They are expressing it, and in their mind you understand them, because they are actually saying it. It is just that you are deaf to their language, you are not looking to the nuances, and just ignore those signals they are emitting.
Then comes the blaming and the pointing fingers.
I'm just a lowly eastern-European contractor banking on real estate prices in Silicon Valley remaining ridiculous on one side, and Indian contractors[0] remaining unreliable on the other.
[0] Those of them who have lower rates of course. Reliable Indian contractors have proper rates - and good for them.
(I think I screwed up but you get the idea!)
That would probably be equally evil and effective.
The level of incompetence was at a level where you kind of look around and wonder if you are on some kind of hidden camera tv-show.
Never again will I work with a client that has outsourced anything that touches my work to Cognizant, Infosys or Cap Gemini.
It is so rude for them.
You are not telling them what you believe you are telling.
I wonder exactly what he or she had been doing for those two weeks, just staring into space? Were you being billed for that time?
This is not limited to the IT industry. Never ask “is this the train to New Delhi?” for example...
Synonyms for "no" include:
I see
Ah
Ah-hah
Of course
That is difficult
Interesting
Yes
Genuine question, trying to understand. :)
Value bloat is what people want, and NASSCOM does just that.
Take that news with loads of salt.
If you need talented people you have to spend more money. It's as simple as that.
i'd go even more broad:
its not just about money, its also about time. You can get good returns on junior team members but you need to put in the time to coach/teach/guide/manage just like anything else.
more money just means that you're paying someone else to put in the time. Which is cool, different models work in different scenarios.
These large Indian outsourcing companies are nothing but a big scam that has cost us millions in productivity, not to mention stress and frustration for not being able to get things done.
Once you're forced to spend more than x amount to secure talented workers, surely you might as well employ domestic programmers/DBAs/whatever?
If by bad take you mean unpopular conclusion then maybe; it depends on who you share the unfounded conclusion with and whether they have information or biases that support or contradict your conclusion.
The top developers in India and other similar countries have no reason to work there with shitty salaries and sweatshop projects when they can get visa and much better salary in almost any other place like US, Europe, China etc. So they’ll end up leaving and those mega enterprise outsourcing-corporations will pick from the ones that stay.
In Europe I'm already seeing some pushback against this. In some companies there are so many Indians that it's starting to affect the culture, so they're moving towards hiring more local juniors to train them, because there's less of a language/culture barrier.
A lot of really, really smart developers in India. I employ some of them myself. :)
I work in banking and payment sector and I had a chance to observe this on a dozen projects.
In one instance Cognizant offered to completely automate a significant application used by hundreds of thousands of customers throughout the world. They were supposed to containerize half a dozen services, Oracle database, configure it to run on AWS and also automate environment creation.
The team put by Cognizant had not a single person knowing how to do basically anything. They spent entire project schedule and more just learning the basics of how to get around. Instead of automating anything they negotiated to be allowed to just order vms on EC2 and install applications there, manually. It took them three weeks to figure out how to copy 400GB database backup (they had space, accesses and networking, they just couldn't figure out how to copy the file). Then they spent another two weeks unable to restore the backup.
The trouble is that for a long time they have been cranking junior devs with no quality culture and no real interest in what they are doing and now this is starting to hurt them.
In your example, if they can't demonstrate a PoC container or automated environment creation in x% of the schedule, the contract is terminated. With similar milestones throughout the project.
It's like traditional PM project pacing goes out the window when dealing with contractors.
It's not a secret these shops put the least capable people on contracts they think they can get away with, so why not better incentivize them to bring a more skilled team?
By the time it became clear, that they were not able to deliver on their promises at anything that resembles an acceptable level, most people with actual skills were no longer around (FTEs and contractors).
My second best suggestion would be to let an outsourcing partner take over small areas and do a gradual transition as you monitor their performance and quality. The problem is, that these companies have specialized "window-dressing" consultants, that are actually smart and have real skills. As soon as the contract is won, the people with skills are moved to the next contract, that needs to be won - and they are replaced by extremely low-paid resources without qualifications. By the time the company realizes this, it is too late.
I felt quite sorry for these under-qualified people. Imagine going to work every day, barely eeking out a living, while being completely unable to deliver on what you are supposed to do, all while being shouted at by some local slavedriver/manager with a large moustache - for doing your best.
...So the reason I said "second-best" is because I do not believe there is any reason to do business with the Indian outsourcing companies at all, unless you are an exec whos bonus depends on "outsourcing x % to low-cost countries" - and you do not give a fuck about the company as a whole.
This is happening to my group right now...
I've worked on projects where we came to a compromise and had a fixed cost per story point, and the in house PO had to agree with estimations, but the vendor quickly started taking liberties and massively overestimating everything. When we called them out, they started compromising on quality instead leading us to code review everything. The overhead ended up being so large that we might as well have in-housed the project.
With time and materials projects it is almost impossible to get good results from the vendor. The vendor meets his goals when they deliver the team and they can't be held responsible for results, typically. If you are not happy with the people they delivered you can of course protest but then you just get different people and the people you protested will find place in another project and it does not matter much to the vendor.
I work for one of the big IT firms and we have many off-shore workers in India, but we're also bringing a lot of them on-shore now. Especially in finance, some customers are starting to demand people who speak the native language because they no longer want teams fully staffed with Indians. I feel like there's a change coming and it's going to be good for local developers, but it's going to be pretty bad for Indians counting on continued growing demand from the west.
I deal with these kinds of Indian outsourcing companies all the time, as a software vendor, so I'm used to them, but Cognizant is really just another level.
S1. I met a guy who was really passionate about blockchain and python. At some point, he joined a startup. They were using react-native. Within 2 months he left the job. They treated him really poorly, and no one was there to help him. Now he is preparing for gov jobs.
s2. Another young gun, who works in TCS it's been 6 months since he is last wrote a single line of code. At some point, they will throw a project at him and assume he is a top java hacker. That will solve all kinds of crazy problems.
Never understood the need for such large, low individual cost, tech teams anyways... almost always seems like a better idea to pay 2 people 200k a piece to work on something than hiring 8 off-shore developers / managers for 50k each.