Oh not this stupid argument again. Many problems he mentions aren't specific to India, you'll find them across all developing economies (We had most of the same issues contracting work to a Chinese and Brazilian company).
At the end of the day, you get what you pay for. And some companies are clearly okay with said cheap work. There's a reason the IT industry in Hyderabad/B'lore is booming. Want solid contracting work without slackers? Sure, you can still find plenty of those too in India (thoughtworks?) but pay up (albeit less than what you may have to in the valley). The reason you're outsourcing core-work/parts of it to India should be that you can't find enough talent locally; not for getting it done cheaply or because your in-house developers think the work is 'beneath' them (I've seen this happen way often, dev with inflated ego doesn't want to test. Wants to do a cold hand-off and expects the cheap developers to be on his level and take dirty work off his hands. Starts cursing). So, there's probably room for both (cheap and expensive) industries in India. Unfortunately, you might have to expend more effort before you find the company that fits your needs.
Articles like these insinuate nothing but Xenophobia and racism. More often than not, Indians are always on the receiving end of it despite contributing so much to the software industry in general. The author from Ukraine of all places probably wants soviet like discipline and work-ethic for USSR salaries? Yeah, ain't gonna happen comrade. The employees on the other-end aren't stupid either. They have many friends in the US making bank working at Google/FB. Why would they work their balls off for peanuts?
I definitely agree the title of the argument is jumping to conclusions, but the problems are very real from what I have experienced.
paying more (to Indian (as in, in India) developers) doesn't alleviate those problems. people have really stretched what xenophobia and racism means anymore.
Why should they work for peanuts when their friends are working at google and FB making bank? because peanuts where they are is a very high standard of living, and lets face it, they do not have the skills or they would be working at fb and google making bank as well. One should never do a poor job just because they think they aren't compensated enough.
As I understand, it's more of a cultural thing. I live in a Middle East country where a lot of low to mid-level workers are from India. If you want to get anything done it's full of bureaucracy, things are done to the minimum standard of working (a socket in my apartment came off the wall, the handyman came to fix it and used a bit of brown tape - job done!), and people are always looking for ways to one-up themselves.
A company I'm working for is currently trying to build up a team in India (for lower costs), and all the problems we are facing are those described in the article. Given my experience with how they are in my country, combined with the company most likely paying the minimum, I'm not really surprised.
On the other hand I have a friend in the UK who has a couple of on-site developers from India working for him and he says they are great. Of course, I'm sure not all Indians work the way I have described, but I wonder whether for these guys they have picked up the Western way of working from living there.
(Apologies if I come off as harsh or offensive, I'm not saying the Western way is better than the Indian / Asian way it's just different - which is where these outsourcing issues come from, as people expect outsourced developers to work the same as a local developer)
>>The reason you're outsourcing core-work/parts of it to India should be that you can't find enough talent locally
Sometimes, but not always. A lot of companies outsource because they feel software is just not a part of their core business. Very similar to the way why some companies outsource payroll.
this problem is specific to India because India is center of IT outsourcing and this problem is unique to IT. Contracting work to China is mainly manufacture sector which real product are being shipped. quality and standard are well defined in advance. customer can simply reject goods if they don't pass quality test. can you do that in software outsourcing?
when we talk about this problem we don't need to mention other contribution done by Indian developers. Let's just focus on one problem. I am sure there is thread for discussing Indian contribution in software industry. Actually author kindly mentioned he also met some very good developers both in US and India to be politically correct.
"Your post contains more xenophobia than the article"
This statement seems completely unfounded to me. I feel the OP makes valid points, any professional developer that delivers high quality work is not going to be cheap. If you want high quality solid software you have to pay for it. Developers who have been around long enough know this and charge accordingly. If its cheap you're only getting one of two things, a good developer who doesn't know what they are worth (probably because they don't have the exp yet), or crap.
Not sure why the author seems to insinuate that the problems he/she has described are somehow specific to India. We had a disaster when we outsourced a large piece of design work to Denmark. We found out that the outsourcer in Denmark was themselves outsourcing chunks of work to Ukraine. Our bias assuming that an expensive Scandinavian outsourcer would be magically better than a cheaper Asian alternative led us astray. A mistake we won't make again. The real solution is doing proper due diligence and proper contract maintenance clauses that ensure the outsourcers goals are aligned with yours. That takes work, not just tossing a spec sheet across the wall.
We outsource successfully. But we have a 1 on 1 relationship with each developer outside our company. So no fooling us about whom it is doing the work.
It takes real work to manage any developer. Its an illusion to think outsourcing solve all the problems. We think of it as simply a recruitment tool really. Not that we hire all the developers we work with. But the outsourcing company is only there to bring in talent as needed. That talent still needs to be managed.
>But we have a 1 on 1 relationship with each developer outside our company
This is the main issue. Not whether the outsourcing is done to India, the Philippines, or even in the US. The model of shipping off your large projects to another company is going to be very problematic.
One on one relations with a good developer are going to be the way to go. A lot of smaller startups that outsource do this.
I don't think he says the problems are specific to India. He is just presenting India as a case study, perhaps because it the most popular outsourcing destination.
Outsourcing industry has a huge conflict of interest with the customer. Customer wants minimum number of high-quality engineers to complete work in the minimum possible time. Outsourcing companies want the opposite. They don't hire high-quality engineers because a) they eat in to their profit margins because of high salaries b) they get things done quickly which reduces their invoice.
They just want to deliver the "good enough" level of quality to ensure customer retention.
The interests of outsourcing companies and customers are totally orthogonal. And we all know this always end bad.
I wish I could read the article, but it is asking me to log in, so I am skipping it.
But your comments remind me of what I hear for a lot of Americans (and Indian expatriates) who tend to be negative about Indian workers, when often the root cause of their complaints are cultural differences, and the ways that it impacts the work.
I have had great relationships with outsourced teams. But I did not get them just from hiring someone and expecting it to work. I spent a lot of time with my people, getting to know them, talking about how we wanted to work together, bringing them over here so the teams on both sides could know each other. I got to know a bit about their culture and how that impacted their work, and learned to work with where I could, and helped them make some changes to work better with us, where appropriate.
You would do that much for anyone on-site, so not doing it for remote workers is doing them a dis-service.
Personally, I got good results. And invitations to their weddings, which made me really feel like we were a team, and not just using them as a tool to get some work done.
Maybe I just had good luck. Maybe the rest of the industry is different. But I cannot support the comment that it "always ends bad". That does not have to be the case.
I certainly don't think the problems are cultural. I believe it's the inherent business model which is not aligned.
You are happy with your outsourced teams but I would love to know how do you compare your outsourced team with your US one? I believe that their are super quality engineers in Asia who can give you US standard of work but you will never get access to those guys as long as you are going through an outsourcing company. In a team of 10, maybe you'll have 1-2.
You may not think so but you can actually afford to hire 10 senior high quality US standard guys in your outsourced teams. And it would still be 20% of your US cost yet your partner company's interest is not in it. They'll always tell you it's hard to hire, market competitive or difficult to retain etc.
Who are these "experts"? Why they are so cocksure that the problem with outsourcing is related to any ethnicity? Oh, they are Slavic "managers" of a lowest rank..
Outsourcing could become a problem in situation when a "man in the middle" is incompetent and incapable to perform these tasks himself, so he obviously cannot estimate correctly any time-frames or evaluate sub-contractor's performance, and, most importantly, have no idea which tasks in a "project" could be outsourced and how to split them correctly into sub-tasks and between people to work in parallel.
What is the problem really? The answer is greed, mediocrity, incompetence and inflated self-esteem.
I would love for someone to step up up and directly address the core argument of this article, that is, Indian outsourcing is doomed.
Indian outsourcing, not outsourcing, not Indians, Indian outsourcing.
After a short 10 years observing, managing, or cleaning up after outsourced developers in Mexico, Costa Rica, Ukraine, India and CONUS (I'm in the U.S.) the data points I have are very consistent.
1. Outsourcing is hard
2. The greater the time zone difference the harder it is
3. The greater the culture difference the harder it is
4. The lower the average skill of available programmers the harder it is
You do the math.
From a U.S. perspective Indian outsourcing cannot possibly continue at its current level without innovation. That simple assertion the author made, IMHO, is both valid and correct.
I can't claim my experience is comprehensive enough to satisfy the apologists here but my God man find me a majority of CTOs, product managers, and senior developers who have an overall positive view of Indian outsourcing.
The last, and most controversial thing I'll say is this: The best Indian developers aren't in India. The great ones are getting visas to Europe, N. America and Australia. Hell there are 50 or so right now on my project that transplanted their families for only a 1 year project. They, and their families want to be in Europe, N. America, Australia.
I really should not be commenting on this - it feels like feedin the trolls. Ah well. So here is my "15 years of experience and no data points" commentary
Indian Outsourcing has a history that made it the way it is today - and it has nothing whatsoever to do with the quality or skill level of (averaged) developers. The article smacks horribly of what I call "loud old white manager of forty Indians" syndrome.
India in the 60s and 70s tried to cut itself off from the outside world and political strategy effectively strangled any native IT industry in it's crib. So Indian hackers did what hackers all over do - got round the problem, either by emigrating or by flying out to find clients. Outsourcing was for a while quite literally the only game in town for IT.
It worked really well - and therein lies the rub. If you want to maintain a good client relationship with a Fortune 500 company mostly you do it at the middle manager level.
Fast forward to 2014 - Now it is clear that software is eating the world, senior managers are going to replace middle managers with some combination of simplified process, automated decision making and "empowering" frontline workers. And yet those middle managers are the ones outsourcers have spent decades learning to work with.
This has left a mark on the Indian university system - with a lack of professors (remember the good ones left) the schooling was left to commercial companies - and it is only slowly recovering from this bias - "don't challenge the loud old white guy" and "learn Java" are two axioms that (good) universities would not teach but outsourcers have built in.
So there is innovation and hacker culture in India. But it is not as celebrated as "going to work, having a proper job and working for a named Fortune 500 company". Every hackers mother prefers the second one, and India has an unusual situation that the majority of IT education prefers it too.
Apart from this quirk of history Indian outsourcing and project management is down the line the same as every where else - gosh! Training at the expense of the client ! Rapid turnover on internal projects! Badly spec'd out projects with minimal business justification turn out badly!
This is not an Indian problem. This is our industry's problem - and treating it as anything else is ... Wrong
As an Indian software developer who has some exposure to the outsourcing industry, I have to say that I can't disagree with anything the article has to say.
I agree with other commenters that OP has conflict of interest since he is an outsourcer as well. He hopes to establish that this other outsourcing destination is not as high quality as his own.
That's an easy argument to attack on both "conflict of interest" and "racism" grounds, and many in this and other threads have made that rebuttal.
It dismisses though the reality that most of what he says in his post is true, as anyone who has actually dealt with this scenario honestly knows.
If outsourcing, there are advantages to having compliant workers who never contradict you. It's very comforting and you can feel good about yourself until the deadline arrives and you receive non-functional junk. But that's OK, you're saving money, just send it back for another round, or ten or twenty, of rework.
Dealing with guys like the OP is much harder. He's Ukrainian. He's much more likely to tell me if what I propose is a stupid idea or I am an idiot. If I was insecure or incompetent, that could really damage my self esteem. On the other hand, he's much more likely to deliver a working product in accordance with what I had in mind on the agreed upon date.
Depending on whether I am some middle manager at a big corporation for which product quality and success is not very important, or if I am the owner of a company that is trying to rework industry, I may find it rational to choose one rather than the other.
Sure, but that's because most companies above a certain size are old, and department names are the last to change. Younger companies have 'people and culture' or similar.
Every problem he mentions, except the timezone difference, is exactly the same when you're outsourcing to large IT consulting companies in the US. The only difference is the US companies charge 5x-20x more for their crappy deliverables.
How many people here have worked with a major IT consultancy in the US? How many were satisfied with the process and result? I would be astonished if even 5 out of 100 projects outsourced within the US turn out so well that customers say, "That was great, we can't wait to work with those consultants again."
As a veteran of half a dozen such projects using half a dozen different IT consulting firms, my experience was they were all terrible experiences, with rampant price-gouging (novice programmers billed at $300/hour, "senior" people at $600-1,000/hour), conflicts of interest, poor communication, etc., and the work products in every case were massive total failures (and no, they do not give refunds).
I don't put much stock in this article as a specific critique of India, but as an article about outsourcing in general it's dead-on accurate.
As some people here have already commented, the trick to effective outsourcing is building solid personal relationships. I have worked with people in India, Vietnam, Russia, China, Ukraine, and Hungary. In most cases I keep track of people and share life events long after work is over (or between projects).
Did anybody else find it odd that every occurrence of the world "people" is a link? Is that some SEO link-building stuff? And if yes, do you consider that OK?
There are known causes of failure in software projects many of which overlap with project failure in general. As there are two companies involved, a post-mortem of failed projects must include problems on both sides.
On the purchaser side:
- poor specification is a major project for both internal and external projects
- abdication of responsibility for resource appropriateness. Yes, you are responsible for ensuring the vendor's engineers are a good fit for your project.
- failure to manage the project. PM of external resources is a specialized PM skill.
- changing objectives: this flows from poor specs, and results in changing targets
- communication failures: nuff said
- no QA: Yes, you must quality check work of external vendors. It's amazing how often this basic step is skipped.
On the vendor side:
- everything above, plus
- failure to include specification as a line item in budget
Most of these arguments can be made about any country and any type of contractors, from car mechanics to house builders. Bad cost estimates, Cost overruns, work not completed to satisfaction of the buyer, work completed but with poor quality are all in general aspects of any kind of outsourcing. There's a saying if you want something done and done well do it yourself. Whoever you hire may not be able to satisfy all your expectations. Adding to the confusion sometimes people who charge a lot do a lousy job and people who charge less end up doing better work. Such is life.
I worked with one of the top 5's and the biggest issue was the hierarchical culture that seemed to give managers more status and money than coders.
I think this meant there wasn't a lot of incentive to become a great coder so people worked very hard to take on management responsibilities and not as hard at becoming great coders.
I'd really like to hear from people with more experience if this was just true of this one consulting company(one of he top 5) or was this true of many companies.
(first posted from cell phone, edited for readability)
This phenomenon (career advancement = promotion to middle management) is also the case at the client companies, which is part of the reason why outsourcing is tempting to them in the first place. The never ending desire to commoditize their inputs.
At most of the companies I've been in the U.S. the difference in pay between senior coders and middle management was slight to non-existent but if you look at Accenture's Indian salaries associate manager makes 50% more then team lead, and makes almost triple what a senior software engineer makes.
While this phenomenon exists in the U.S. it seems to me it is an order of magnitude smaller then it is in India.
Yes, more and better work can be done by less people - it's axiomatic in software. It just takes longer - and often looks like people sitting around thinking and experimenting.
Which depends a lot on everything. As an extreme example a bunch of junior people might develop a feature for a few sprints using TDD, XP and whatnot and not getting it done while a single expert might implement the feature simply and elegantly in a few days and a lot less code.
My favorite example of this are two blog artifacts: The first of which describes an attempt to write a Sudoku solver using TDD, and as a counterpoint Peter Norvig's simple and elegant sudoku solver in python (as previously discussed in HN):
As someone who hasn't really managed to get into TDD (despite a few attempts), do you think this is generally the case? I do feel that TDD encourages a sort of shotgun approach to development, where you just try things until it works, rather than think the problem through thoroughly. Any opinions from people who have done both? I personally find fiddling with tests interrupts my flow of thought too much, so I would rather do it at the end.
I call this the rewrite fallacy. I honestly cannot think of a decent piece of work that I did that did not involve two three or a dozen rewrites - either from scratch (rare) or just piecemeal replacements until I reached a design I was happy with, that fit my domain and was appropriate.
Sometimes the rewrites were on the same project, sometimes the rewrites were on previous projects and I jus looked like a genius coming in to do something I had already done before , but I am always surprised if I can get things right first time (right enough is a professionals baseline, but actually right? Hardly ever).
So, no, I honestly think that thinking through a design, working out and testing out ideas and architectures is a necessary part of development - call it discovery, call it the first iteration, call it perfectionism, it's needed.
Tests should come as part of that. Slowly as you realise the approach you are choosin might actually be the right one and then increasingly as you fill out the space.
From my experience TDD is kinda newspeak in the sense that it does not help at least in the first stages of design. From what I've managed to gleam as valuable way of working is test driven implementation. I.e. when implementing something akin to a simple datastructure I can test the interface functions as I write them which verifies the interface is not silly and that it works.
Another place where implementing tests concurrently brings value is using the tests as a form of documentation.
I would not call TDD a design methodology beyond the fact that usually implementing interfaces (and verifying it works) is good practice while speccing it.
Tests bring lots of value to a codebase beyond the fact that it sounds impressive to have a 95% coverage. From what I understand of the pathologies of software development having the TDD tagged as methodology is to allow the programmers implement tests in peace, politically shielded from the more gung ho elements of the stakeholderkin.
Summary: IMO if production code has no tests something is wrong. But I would say the most value tests bring is in verifying the algebra of the interface, protecting against breaking commits and documenting the inteded usage through examples. I would not say writing unit tests is a particularly powerfull design methodology but playing with code is, and calling what the developer is doing as 'TDD' gives the developer the mental piece to do exactly this.
I have no doubt that the author has experienced these issues and also agree with him on some points. However here's where the error lies - drawing conclusion from your personal experience and extrapolating it to the entire sector worth perhaps 100 billion dollars and predicting it's impending doom. That's just not how reality works. There will be dozens if not hundreds of examples contrary to your experience.
There may be declines, there will changes, restructuring, recalibration, pains, growth etc. Life and business will go on albeit with changes. A broad vision always helps keeping things in perspective in drawing such conclusions.
Not this again!
The fact that the article shows only the under developed images (like the over crowded vehicle and the snake charmer) makes me sad. These articles and the tv shows have completely wrong images of india in their mind. You can argue why is it a big deal, but when you see the typecast running in all the articles these days it hurts mostly because it so far from the reality. I have not seen a snake charmer my entire life after staying in the country for 25 years!
The problems he mentions might be true I dont have any experience but I bet its common and holds true for the entire outsourcing business.
I have worked in outsourced projects for a big company in the past and our team got the work done. I have since then started my own company and have been working for US customers from India. My current customer is a startup from Philly for which I have been working for about 3.5 years. So, No. Indian outsourcing is not doomed. There are thousands of small companies like mine making customers happy at an affordable price.
And what's with the pictures of a snake charmer and a crowded jeep?
Being an Indian, I agree with that. Sometimes, when asked "how do you justify the X salary you are demanding" I find very few who have any answers (except the occasional: 'How he/she belongs to IIT' as if being an IITian gives you the right to earn without work)
Some parts of this post are true, some are straight wrong. To let you know I worked for a Major Indian IT services firm for over 5 years.
>>with no innovation and nothing to offer other than questionable rate savings.
Most of the big IT services firms have very elaborate and very active community of people who innovate all the time. In fact if you are working with any moderately big outsourcing firm, they will likely have training programs for nearly all trending technologies out there. There are local in-company LUG groups, all kinds of technology interests groups, even labs who work on core CS research. You just don't hear about them, because unlike the product folks they don't blog every second minute about how great they are. You will be surprised by the sheer depth and diverse range of areas people are working in these companies.
>>Remember all those schools that promised to turn anyone with or without ...
This has been happening in India from probably 1980's or may be even since the independence. That doesn't change anything. India is a place where people will do anything, and I actually mean anything for opportunities. This might look strange to a lot of people. But there are many of us, for whom merely getting a foot in the door means bailing out of a few generations of misery. There fore people will do anything to first get some education, once done anything for a job. Once in a job anything to get a good life. Its not odd, for people to work crazy hours their all life just to get a decent life for themselves and their kids. People in the west may call lack of sleep as spoiling health or whatever, here its almost a virtue.
>>With about 12 hours difference with Pacific Time there is simply no reasonable time for you to talk to your team in India. When they are finishing their work day you are not even ready to start, and when you are ready to leave office they are not anywhere to be found.
In early part of my career, I've slept in the office dorm for days in stretch only because I had take status calls from UK/US. I know innumerable amount of people who still do. Any company with a reasonable brand, and a good vein of professionalism will do. It all depends on whom you are doing business with.
>>Employees in India are extremely difficult to motivate. You’ll notice that weeks and months go by with very little progress being made. Indian outsourcing employees seem to have a natural talent for working hard while producing little.
If anything this is probably the most wrong statement in the entire blog post. In IT services companies you will run into projects which are basically 'mission impossible'. For almost negligible budgets, you will be pushing 18 hr work days to achieve almost the impossible. Most of the them succeed, a few fail. There are instances where people will be up all the night because some UAT needs to be done, or because a regression testing needs to be finished. Again continue to work the very next day to fix a few bugs and get stuff shipped only to be asked to be available that same night for a status check call, I've seen people do this kind of stuff for months. I've seen people burn out, get kidney stones, develop blood pressure related ailments, lose weight drastically- All kinds of crap because over the past year they just have been working like machines. Amidst all this some projects do fail, but its rarely because people are lazy.
I'll try to reply cautiously, but I don't think your picture of innovation is accurate. To start with, the big-5 IT majors find it very difficult to attract talent. Even back when I was in college ('98-), the IT majors were a fallback option for most people. In fact, the best students didn't even bother applying there. This has only gotten worse now, from what I hear.
It is also my opinion that there isn't a lot of innovation happening in these places. You could see some of the work being published (in their blogs) but the quality of work (or innovation) is nothing to write home about. Many of them are simply rehashed whitepapers on topics widely discussed on the internet.
Having said that, I don't think Indian IT is in any sort of danger, in fact things are getting better. Interesting work is happening, just not in large IT companies. There are way more talented, passionate, excited tech folks here than at any time before.
>>In fact, the best students didn't even bother applying there. This has only gotten worse now, from what I hear.
Largely because these companies pay less, not because quality of work in product companies is higher.
I worked at a onsite location for a company which is one of the largest internet companies. We were all hired to work there after elaborate interviews. And we used to be repeatedly told they hire only the best, from the best universities and all that. Yet when we worked together as a team, most of these kids hired from IIT's who really believed they were some special snow flakes and all they really got to work on was HTML and some small time shell scripts. These kids had never seen what it meant work on a P1 bug after clocking full nighter, never had any exposure command line kung fu, they didn't know what it meant to having spend a full weekend writing a 2K line perl script because someone at the top wanted a prototype/reporting application done by Monday, heck for all the algorithm geniuses they were considered they could barely do any genuine work of significance to the real world. All they were really interested is in learning the next set of interview questions that were in trend so they could get some one in their alumni have an interview arranged for their next jobs.
The irony is we did bulk of the really algorithmic work there was. We set up a good deal of hadoop infrastructure and platform, we wrote a great deal of what were the complex workflows. And got a lot of systems and applications set up. Yet we were thought of as some kind of lesser children.
I'd really judge the best students/best professionals by the work they do, not the college they belong to, or their degree or their college network.
Show me what work you've done. Everything else is just hot air.
I'm preparing for my campus placements and I feel so frustrated by having to solve algorithmic puzzles because that's all that companies ask in interviews, everything else is secondary. I have so much interest in OS and networks but so few companies are there that offer challenging or exciting jobs in these fields in India. Most of the work is testing and validation and all the design and architecture work is done in the US division of the companies.
This leaves students with no other option but to study what is required for the interviews and get trapped in the eternal interview-study-promotion-interview loop. The lucky ones go to US.
>>It's not about India, it's about the companies and the mentality.
It's not about companies either. Its largely about which project you are going to work for. I'm pretty sure even at Google there are a lot of 'keep the wheels running' kind of projects. And there might be a lot of politics too.
Nonetheless, I am curious. Can you give examples of what (you consider are) innovations that you've seen? For what it's worth, I am aware that some of the bigger Indian outsourcing companies have initiatives for innovative and research-oriented work, but I have not seen what they actually produce.
Code quality is largely dictated by the client. And at times people who basically 'sign off' your code, Pretty much every project will have their own checklist, there won't be a common checklist because of legal copyrights and contractual things preventing things getting shared out of your project. So it depends on what the client demands. But there are very strict SLA's though(Based on what the client wants). I never recall a single instance when we shipped anything without unit test cases, UAT's and elaborate regression testing.
Automation is a trendy and people get awarded prizes all the time for writing tools that save time and improve quality.
At the end of the day, you get what you pay for. And some companies are clearly okay with said cheap work. There's a reason the IT industry in Hyderabad/B'lore is booming. Want solid contracting work without slackers? Sure, you can still find plenty of those too in India (thoughtworks?) but pay up (albeit less than what you may have to in the valley). The reason you're outsourcing core-work/parts of it to India should be that you can't find enough talent locally; not for getting it done cheaply or because your in-house developers think the work is 'beneath' them (I've seen this happen way often, dev with inflated ego doesn't want to test. Wants to do a cold hand-off and expects the cheap developers to be on his level and take dirty work off his hands. Starts cursing). So, there's probably room for both (cheap and expensive) industries in India. Unfortunately, you might have to expend more effort before you find the company that fits your needs.
Articles like these insinuate nothing but Xenophobia and racism. More often than not, Indians are always on the receiving end of it despite contributing so much to the software industry in general. The author from Ukraine of all places probably wants soviet like discipline and work-ethic for USSR salaries? Yeah, ain't gonna happen comrade. The employees on the other-end aren't stupid either. They have many friends in the US making bank working at Google/FB. Why would they work their balls off for peanuts?