While food, rent, etc. are much cheaper here than in the U.S., there are a few things software developers need that cost the same, or even more, if you are living in India.
* Paper books are cheaper (local low-price editions).
* eBooks cost the same.
* Hardware is more expensive because of levies on imports. For example, the 15" MacBook Pro costs almost USD 1660. (In the U.S. it is $1200.)
* Software licenses purchased over the Internet cost the same. (Examples: TextMate, UltraEdit, etc.)
* Software licenses purchased through local resellers, subsidiaries, etc. are more expensive. (Examples: Delphi, and probably others).
* Web hosting (if you decide to host with a reputed service provider in a 1st-world country) costs the same.
So, even if the basic cost of living in country B is X% lower than in country A, the difference in the cost of living for a software developer will be significantly less than X%.
In a competitive labor market, a dev should be paid close to the marginal value they generate. And I should generate close to the same value wherever I'm working. (with, maybe, a 20-30% premium for working local do to increased efficiencies).
That's not how the real world works, though. People (usually) get paid the minimum they'll accept, as long as that value is less than or equal to what they're worth.
If a Polish developer has a choice between working for a company in his own country for $x, or for a foreign company for $2x, he'll take the second offer, even if that same company is paying American developers $8x.
If you were right, then someone else will realize there's cheap/good labor available, and poach him at $3x. Then, someone else will steal him at $4x. And so on, until he's making close to what the American dev makes.
Tech hiring is extremely competitive. If there were easy-access to a large, skilled labor force for one quarter the money of the currently available labor market, don't you think tech firms would jump on the opportunity for cheap labor? I know when I was hiring I would have.
Sure, to some extent. However you have to remember the following points:
- Not all employers want remotely based staff
- If the wages are significantly better than local jobs, the developers may compete with each other by offering lower wages
- It may be harder to find remote staff than local staff
- While it's easy to say "pay him more and he'll move to us", it's worth remembering that workers in any industry don't always chose jobs based on salary alone.
- If companies continue raising salaries to poach staff, what happens when the cost becomes equal to that of local workers? They chose local workers. So while the salary may not be as low as it might be, it won't reach the same levels as local staff.
But would you be happy knowing you're working as a cheep code monkey? Working for a company abroad, I'd expect salary to be close to their local level. I don't think serious developers would work for 1k/mo in the US and even if that would be "ok" salary in PL, I would expect more from the employer.
If you pay the minimum, then that's what you get in return. (or as smanek put it - you generate the same value - why should you be paid less)
Given that top engineers in SV only make $200k or so, there are still inefficiencies to be exploited. smiles