Tech seems to be the only industry that thinks that hiring writers from overseas to produce content is somehow going to result in anything viable.
https://www.nytimes.com/2006/11/19/business/worldbusiness/19...
https://archives.cjr.org/short_takes/outsourced_edit.php
https://www.theguardian.com/media/2004/oct/07/reuters.pressa...
more recent: https://www.theguardian.com/media/greenslade/2015/jul/27/jou...
I thought it was a great analogy.
The issue is more precision and lucidity of thought and language, and the ability to communicate ideas and emotion to others from a given culture and socioeconomic background.
Consider that when development velocity grinds to a halt because of "technical debt", this is almost always just a euphemism for developers not being able to read each other's code. (I understand there is an actual idea behind technical debt, I'm just talking about what's almost always happening in practice.)
My point being; there's an efficient way to utilize cheap labor.
Back to the programming reality from the analogy, I've seen outsourcing happen, for businesses that revolve around American customer bases and rules and regulations- now the code is outsourced, but the basic understanding of how business logic related to the real world use was gone. So the offshore team, while technically competent, was not equipped to make decisions about software with the consumer in mind. If you were working on something and it didn't really make sense in a real world sense, as a dev, you could go to your product person and raise concerns. Without the cultural context- those concerns never get raised.
Treat them like 1) there is a language barrier and 2) they will not know there is a language barrier and they will forge ahead in the wrong direction.
Some of the best developers and PMs I have worked with were born in a country you barely know about, it just took a little time to get to know them and their skillset.
That's a tall order, the root of a million missed deadlines is that software is notoriously hard to fully design without writing code.
Are you doing something you've done a hundred times before, or are there some twists?
That is the real work here; discovering acumen. Once you know that, you can hand out work that fits within their wheelhouse.
American developers excel at this because there's less of a communication gap. If an American can not do something he will tell you. If you are wrong about the way you are doing something, an American developer will tell you. Outsourced subcontractors will blindly do what they understood they were supposed to do without questioning anything resembling rationale.
Just know that going in.
You know what else is like that? A computer.
GIGO, etc.
The real problem is the incentive structure, and of course, difficulty of the job that is programming.
Why would the rates be lower if the market is one where demand for labor exceeds supply? It's not like lowering the rate is going to allow them to sell more hours, since they are still constrained by human capacity. If the quality of the work was not good, that's a different issue.
We had a rate card that included both the cost to the agency per hour for a particular role and the agreed rate we had settled with the client. We had a fixed rate for each role/locale even though we paid people different amounts. I knew my own salary and handful for my direct reports and the "cost" side of the rate card was a lot more than I was getting paid. And that cost was the base on which padded to get profit from the client.
And that profit itself wasn't pure profit for the company because a lot of paid for our fixed costs (office space, hardware) and non-billable roles (HR, receptionists). And of course a lot of it ends up in the hands of our holding company and their stock holders.
The funny thing is that some of these companies outsourced to the Ukraine and India and the rates didn't change. I would have thought that we would at least see some of the cost savings.
Both companies that outsourced ended up being complete disasters (we are still cleaning up the technical debt 3+ years later), which happened before I was involved.
Since this is the case, it made no sense to hire any company that didn't hire all developers directly in the US or Canada (which is now a requirement).
I suppose I should thank these companies, because it's the reason I have a job today.