My experience is five of them could not replace me. They didnt have the skills. Maybe this has changed in the past year or so.
However the main difficulty with outsourcing is probably that the company want so save the hassle of recruiting and having employees and procures crappy programming sweatshops rather then having proper employer-employee relations.
If the goal was not to save "hassle" and cheaping out on already cheaper programmers hireing in LCOL countries would probably be a much different experience.
Also most of the big companies have their largest R&D centers in India (Microsoft, Google, Amazon, Adobe,..., Uber, etc.). It is ridiculous to say that those offices are doing any less work than their USA offices.
Don't expect smart folks from India to work for $20 or even $50 an hour. You will get what you pay for.
My experience is that if you can pay 0.5 x <your salary> to an Indian developer I am sure you can find someone who can totally replace you.
Most of the times companies who want to "offshore to India" want to pay no more than 0.1 x <their local developer salary> and then cry when they can't deliver.
Indian tech companies are offering really competitive salaries nowadays. I have even started to see some Indian companies hire/outsource to Europe because it's cheaper.
In my experience of looking for remote engineers, top talent costs the same pretty much everywhere and the great engineers in India (Russia, Poland,..) demand a pretty similar salary in USD when asked to perform the same tasks.
I think parent is under the impression that run of the mill engineers offshore SWEs can perform the same as a Googler.
I get around 1/3rd of what I would receive in the US, work with a globally distributed team, and I'm quite satisfied with my salary and the company quite satisfied with me.
Regarding the competencies of developers in India, I don't doubt your experience but I know that there are plenty of skilled developers working at Google, Linkedin, Amazon, Microsoft and countless budding startups in India.
Edit: The above numbers were 5 years ago, might be closer today, but still.
On a work visa you can only live so long in the US before you have to leave for one full year or morr. Greencard is a lottery, you aren't entitled to one.
I'm a Vancouverite who has worked in the US (flying to customer sites) for 15 years now. A coworker moved to the US, didn't get the Greencard lottery, had to move back.
That's wrong.
Other than that, the answer to "why don't Canadians drive 3 hours south" is "they do". The brain drain from Canadian tech is real.
The same job?
Sure.
Getting the same results? That's why every offshoring project I've seen was a complete success...