And I have worked with 10 westerners who also can be easily replaced by 1 Indian who will do the work in a much better manner.
Just because you might have had exposure to some idiots does not mean you label the whole bunch as incompetent.
Just because you might have had exposure to some idiots does not mean you label the whole bunch as incompetent.
It's a cultural difference: in India, people become engineers because it carries prestige. They don't code because they love computing (this is measurable: ask how many outsourced engineers have GitHub accounts). The lack of actual interest in their profession demonstrates itself in their work.
The best Indian programmers I've met have either left India or weren't born there in the first place, in either case I'd consider them westerners.