Ask Slashdot: Why Are American Tech Workers Paid So Well?
Slashdot reader davidwr is "an American-born, American-educated mid-career IT professional." But he's still curious about why American geeks earn more than their IT counterparts overseas:
If I'm a mid-career programmer looking for a job, why should I expect to be paid a whole lot more than my peer in India when applying for a job that could easily be outsourced to India? If I do get the job, why should I expect to keep it more than a year or two instead of being told "your job is being outsourced" before 2020? Is my American education and 5-25 years of experience in the American workplace really worth it to an employer?
Should we, as an industry, lower our salary expectations -- and that of students entering the field -- to make us more competitive with our peers in India and similar "much cheaper labor than first world" economies? If not, what should we be doing to make ourselves competitive in ways that our peers overseas cannot duplicate?
What's the secret ingredient that justifies those higher salaries? Leave your answers in the comments. Why are American tech workers paid so well?
Should we, as an industry, lower our salary expectations -- and that of students entering the field -- to make us more competitive with our peers in India and similar "much cheaper labor than first world" economies? If not, what should we be doing to make ourselves competitive in ways that our peers overseas cannot duplicate?
What's the secret ingredient that justifies those higher salaries? Leave your answers in the comments. Why are American tech workers paid so well?
For my dollars, I'd much rather work directly with people who are a committed part of a team. It's tough enough to achieve that with direct hires; I don't think you can do it with outsourcing.
I think part of this relates to the nature of software. People always talk about writing software - but that's the easy part. The hard part is *expanding* and *maintaining* software. And generally speaking people who have a history with the code are going to do a better job of it: faster, and more precise. You can also have a much tighter development loop between developers, testers, and users if you have them all in-house. I used to have my developers spend some time using the tools they built with the people who actually used them for the job (I did this myself as well). You learn practical details that are hard to communicate any other way. And speaking of communication: I had a few outsourced workers (forced on me by upper management) and communication was always inferior.
I'm not saying that there's no use for outsourcing, or that it's always the wrong choice. But my experience is that proximity matters. And history matters. And personal familiarity matters. So one needs to factor all that in when making the choice. And yeah, I think I got about 4x the quality and productivity out of my in-house people as my outsourced people.
North American companies are absolutely idiotic about this. They will happily employ remote employees from India who (obviously) never come into the office, ever for a discount. Typically the quality of work output is low as is the knowledge level. At least that's been my experience.
Yet those jobs aren't offered to Americans, and I don't get why not. If you have low skill with computers, but an aptitude to learn, you could do the same quality of work that's being outsourced for $20 - 30k a year. So why not offer the job over here with the same standards? (100% work from home, no expectations that you'll work any standard hours, ever. And if you get the project done early, enjoy the vacation time.) You would be surprised at how many people would take such a job and find it is enough to keep them going and give them the experience they need to enter the field. Sure, if you live in NYC $20k means you'll be dead inside of 12 weeks, but move to Mississippi and it's enough for a single guy to live frugally for the year while he ups his skills.
In fact, honestly, I don't get why companies don't offer work from home for most tech jobs. You get to pay lower salaries for the same work because people don't have to live in extremely expensive cities and you get to save further on not having to have an office.
The United States is known for the hard work of its people. The rest of the world has criticized the US's lack of work/life balance (many say the US spends too much time working, more than anywhere else.) Assuming this is true, it would be a reason that US workers are worth more - in general harder working people are more productive. I would say this is especially true in Information Technology, particularly software development where the amount of time required to stay current and keep up with changing technology is enormous.
As others have posted, the ultimate answer that the marketplace dictates the value, and the labor market place currently values American tech workers highly.
There is simply a completely different type of employment culture in India than in the US. In the US we are used to interacting with a self-selecting group of immigrants who work really hard and often put up with a lot of stuff under H1 or other visa programs that American citizens wouldn't tolerate from employers.
Back in India though, there is a culture of treating employees like shit, and consequently a culture among employees of working as little as possible. Employers also don't screen candidates well for off-shore call centers and the like because if they are working on a large contract, all the accountability is based on metrics that can be manipulated and the US based business that contracted them probably only cares about reducing their costs.
My Indian and other immigrant coworkers work their asses off. The support teams I deal with in India can't even be bothered to show up to a phone call and are usually incapable of anything more than opening up a ticket with the software/hardware vendor directly.
I currently supervise a team in Bangalorre, along with a couple of junior developers here in the US. The US developers, though only a year or two out of college, easily outperform even the "mid-level" developers from India. The price our company pays for Indian developers is about 1/3 the cost of US developers, but so far, we have not been able to make the math work. Even 3 Indian devs cannot produce the same quantity and quality of output as a single junior US developer. This is a pattern I've observed numerous times at different companies.
This disparity has not been missed by accounting departments. Bringing offshore tech jobs back to the US has become so commonplace that it has come to be called "reshoring." I don't think US tech salaries are in any kind of jeopardy.
Here it goes: "An old man is lying on a bed in his room. It's year 1917, the Socialist revolution is in full swing. His grandson runs excitedly into the room and proclaims: "The Bolsheviks are winning, there won't be any rich people anymore!" To which his grandfather replies: "Weird, back in our day we revolted so that there wouldn't be any poor people, not to get rid of the rich".
Which is a long way of suggesting: maybe a better question to ask is why the non-US programmers are paid so poorly. TBH I don't think US programmers are that well paid, outside of relatively few outliers. They tend to live in the areas with some of the highest cost of living in the world. That's out of necessity: all the high paying jobs are there. I'd say a good fraction of US high tech professionals is what real middle class is supposed to look like. Not rich, but with a roof over their head and non-zero savings. I don't consider that a privilege. I consider that a bare minimum.