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?
Employers wouldn't be paying it if we weren't worth it.
Obviously this is not applicable to all tech workers, but...
In many cases, there's a fairly substantial difference in expectation of work product, both in terms of quality of work produced, and in ability to execute anything more than rote work. While it's true that those qualities may not matter for those organizations who choose to outsource tech labor, there can be a very quantifiable increase in product quality from workers who are more vested in and capable of producing a higher quality product, which can be translated into demand for higher compensation.
It's kinda the same as the difference between a certified general contractor, and a guy you pick up at Home Depot to do some work for you. You don't expect to pay the general contractor a small amount of cash under the table, and he doesn't have any need to make his rate "competitive", because he'll be able to find people willing to pay for a higher quality of skill, knowledge, and ultimately work product. There's a reason that most tech companies who outsource their high-skill labor to inexpensive countries don't stay competitive long...
That's my experience, anyway.
Sometimes outsourcing to lower cost countries might work, but often it just doesn't work as expected. My employer tried India outsourcing 10 years ago and it was a failure. First, while the direct employment costs are cheaper, there is overhead that is complicated and expensive: protecting intellectual property, management from 12 hours away, project planning, code culture and standards.
IT and software engineering pay well especially in Silicon Valley and other major areas because it's worth it to pay that. Proximity has its own intrinsic value. I work with 50% Indian workers, but they are here in SV and paid well, most 100k+ because that's what the work is worth.
As a guy that owns a small IT security startup and has some developers on contract in India and as many full time North Americans as we can afford right now I would say this:
Creativity. Understanding the why as well as the what (aka seeing the big picture), and a general drive to see the company succeed.
None of my contractors give a shit if my company succeeds beyond their next invoice. None of them really seem to care to understand why we are doing what we are doing, they are only focused on their silo of work. And OMG if you don't give them EXACT to the letter specs, the work wont get done. Likely because of the other two things I mentioned, but also I think it might be a culture thing where they are taught both at home and in school to never question, and just memorize and regurgitate to succeed. Yeah they are kinda like human robots in some cases.
I will always pay more for an innovative self-starter that's in my time zone.
Wages are not proportional to profit you generate. The profitability question is binary. If you generate profit above your cost, you may be employed. How much you are paid depends only on supply of labor and the demand for that labor.
I used to work as a DW analyst in a british bank who off-shored the ETL development to Chennai, India. The manager of the ETL team was earning 1/3 of what I was and I wasn't even a senior member of the Analyst team, there is no way to compete with that unless you yourself live in India.
This is my sig, there are many like it but this one is mine
Some numbers from my personal experience.
1) Salary Growth. In general, the Indian Salaries are increasing by 10%, US Salaries are increasing by 3%.
2) Salary Scalability. In general, Junior staff are about 5 offshore to 1 onshore. Mid level staff are about 3:1. Senior staff are 2:1.
China used to be a good low cost offshore location, however senior staff are now more or less the same cost (assuming remote team management). You offshore to China for reasons *other* than cost reduction. India will ultimately be no different.
Mid to senior engineers will be generally cost neutral within a decade, junior engineers - not so much.
Near-shoring will likely replace the off-shoring - in some cases it already does.
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.
...and hire all foreign staff. When they eventually leave, hire someone else that wants to learn the code base, waste however long it takes them to learn it, and then say goodbye to them when they too go back to wherever they came from.
Or go ahead and outsource the whole thing to half-way round the world, so's you have to talk to 'em at 2 AM when you're tired as F and get stuff screwed up, or alternatively, they're working at 2 AM when the human being is at his worst and they get stuff all F'd up.
We're worth it 'cuz we're here, and won't necessarily be saying goodbye so's you have to retrain a whole new crew every couple-three years. You won't have to repeat yourself to be understood nor listen very, very closely to understand what we're saying either.
But the American business is always going to go for the short-term gain, so go ahead - the people that would have graduated from American universities with software degrees are also smart enough to realize that you're going to skimp on wages, and make them compete unfairly with the rest of the world, and decide to get into some other line of work that is more steady and maybe doesn't even require all that study. There's lotsa jobs with decent, but not breathtaking pay that don't require accumulating a huge debt - maybe they can be OK with being a welder, or a railroad locomotive engineer, or 1 of a 100 different things to do that can't be outsourced and don't commonly involve a lot of layoffs. Hell, some of those jobs even have unions, something that makes it hard to feel sorry for the uppity software bunch that think they're too good to need a union, in spite of actors and pro sports players using them - but nooooo.... software people are too proud to form a union that would sue the asses off some company like Disney that (illegally) hires 250 software people from overseas to replace 250 of their US Citizen software people simply because the furriners will work for peanuts.
If the furriners are at all better at this than than US citizens, then its probably because the smartest US citizens are too smart to put in that sort of time and expense to compete for a job with a US company that's going to s*** all over them and fire them simply for wanting a salary commensurate with living well in the USA for the efforts required to acquire similar knowledge for other more lucrative careers.
So, suck it up, US industry. You created this situation. Just go ahead and suffer when you can't control your cheap labor because... losing your penny-pinching salary isn't worth enough to do what you want them to if they want to go home and you want 'em to stay. Y'all deserve each other.
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.
OK so I don't live close to the bone, but contracting means moving around a bit even within the same sate as contracts change. Renting, cost of living, etc takes my "higher" salary. I could cut out my humble bundles and loot crates, but frankly it's a drop in the bucket compared to general living costs.
Cost of living in places where tech workers in North America are forced to live largely cancels out the higher salary. When it comes down to it, apples for apples, they end up being paid less.
I've worked in tech companies in 3rd world countries. The salary I was earning was like a kings ransom in local terms. I work in North America now and I get a normal salary in local terms but, boy, it doesn't add up to a kings ransom and my quality of life is, if anything, lower. There are plus sides to working in 1st world countries but at the end of the day it feels like you make less.
What it comes down to is that a dollar in one place isn't worth the same as a dollar in another place which anyone with any international experience should already know.
In the free world the media isn't government run; the government is media run.
And it isn't surprising. You can outsource product development, sure. But most tech workers aren't just prepping files for a factory. Most of the work is in constant customization, and understanding the needs of the client/user is just as critical to success as the actual programming skills.
It is highly unlikely that some random programmer in India with a masters degree is going to have a better understanding than I do of the business needs in my community. Just like, as a foreigner I wouldn't be able to offer as good a service to somebody in India, because I don't understand the business needs in their community.
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.
A. I can rig your entire building for gigabit wired and wireless transfer speeds. T568B all day.
B. I can configure your stuff from MPLS to ASA to software-defined stacks.
C. I can get on-site when your remote access inevitably fails, assuming you're not stupid enough to rely upon cloud-only solutions.
D. I actually speak and understand English.
E. I have other skills that your company might want, and I am asked about quite often (Doorbell job after wiring up their patch panels? $40/hr.)
F. I possess got over two decades of experience.
G. My warranties and guarantees on my work actually mean something.
H. I don't read off a fucking script, nor do I ever need to.
I. And the list goes on.....
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
How many great software products have you seen being invented and created in India ? Is the number around null ? Or is it a large NULL ?
There are many reasons why Indians are not really a threat, and it is not only the language problem. It is their culture. Been in a startup in Bangledesh for 3 months, most employees from Indian universities. They work very hierachical, and not independent. It is almost impossible to make an employee choose between a blue and a red ball, we want hios managers approval first. I could not get my employees to to code things using stuff not part of their curriculum. I had to train them in those chapters in their book from university that was not part of their university education. Their attitude is, that it is better do make nothing than to make a mistake. They don't know the word no. They can't say they can't do it, but would rather delay forever.
Now I am in a large company, and the code quality we get out of India, no matter what huge front company we use, is nowhere as good as an average local person with a bachelor in CS can deliver. Their missing ability to think and read documentation, and explore is a killer.
The big threat comes from christian countries, countries with our culture. The threat comes from eastern europe and south america. They think more or less the same way. They can work independent. If they don't get an answer, they will decide on a direction to go. Even if they go the wrong direction, it is stillbetter than looking out the windows until the boss comes around.
And one important fact that you forget is, that brain workers, including IT developers, has a salary way above average salary in whatever country they are from. Personally, I would say it takes 3-5 average indians to be as efficient as an average westerner. that is $10.000-$15.000/month. So there is not good economi in using indian developers if they are available locally.
Outsourcing of jobs is mostly operations, where it is accepted that the level will be much worse at half the cost. And partly development because you can't get the skills locally. Operations today is waiting for the server to burn and then piss on it. Nothing proactively, except from scheduled reboots. So whatever is outsourced to india is not the same thing as the comanies used to get. They get less $ for $. They could save more money by deciding on the same service level with inhouse staff, and fire 90% of IT operations staff, and use external consultant when things are bad. They would even get a better service from that solution. Outsourcing to india is the new black. Everybody does it, nobody is happy, but because everybody does it, it must be the best.
The top US universities produced the best students for decades. The US gov and mil looked after the best with funding.
The US private sector enjoyed contracts.
The US gov pushed for the world to accept US standards and tech as part of free trade deals.
So all that creating for a global economy, funding and skill kept other nations locked out and US products as the only option.
Other nations never had that free flowing cash for science, students, the mil. To them it was limited hard currency, a loan or US charity to only buy a US product.
Their best had to be careful with funds or could only get so much out of education, the private sector or their mil.
The US also enjoyed freedom, freedom of speech, freedom to study, read. Its students had a well funded creative and smart side other nations lacked due to wars, poverty, faith, cults or type of gov.
That all worked well for decades. The changes now are a global workforce and a lack of visa tests.
US universities are no longer getting the best wealthy students, giving loans to the best middle class and testing for free access to the gifted poor.
With ever more university students with average ability taking up limited places or been granted limited places for non academic reasons a change will result.
The few really bright and gifted graduates will command the ability to select work they want. With the rest of their fellow students been well below average they have some option in who to work for and will accept a great offer.
The secret is:
The very best US graduates come with security clearances, trust and the ability to attract gov and mil funding. They have been the best in the world for decades.
But with changes to education, a flood of average students been passed now seeking the same granted access to work only the best will command good wages.
Domestic spying is now "Benign Information Gathering"
The difference in cost of living between my country's capital and New York is not that big.
Consumer prices are 1.5 times higher in New York; restaurant prices are 1.7 times higher in NY; Groceries prices are 2 times higher in NY.
Indeed, rent is much higher in NY (7 times higher) but that's an average and can vary greatly (Central Park view apartments cost a LOT more than periphery places).
In order to keep the same standard of life from my city (considering my current salary here), I need to make 4500 dollars a month as a specialist in NY. The average salary for my specialization in NY is a little bit over 7K dollars a month and could go as high as 11K dollars a month.
Here in my city I make 7.5 dollars an hour, working late shift (because most my customers are from the States). In NY I would make an average of 43.75 dollars an hour (accounting for salary ranges), that's almost 6 times higher than here, and in order to maintain the same living standard I would only have to earn 3.75 times as much.
The difference, mathematically speaking, is overhead. by moving to NY, with average salary, my standard of life would greatly improve. So there's your cost calculation right there.
Source: https://www.numbeo.com/cost-of...
Feel free to compare any USA city with Bucharest and you'll see that the cost of living difference isn't that great.
...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
Wow, just wow. You haven't been down a darker nastier hole than dealing with an Indian IT company. Employees rotate like there are revolving doors installed in every cubical. No matter how good their English, there is a communication's barrier. Contracts are pretty much brought out on a daily basis. Procedure overwhelms any project; yet the procedure simply protects them while providing no value, but then they bill the shit out of you for that time.
Then there is this strange touchiness about any perceived insult. You say something doesn't work and they will either pretend they didn't hear you, or they will list off the resumes of all those involved. "Mamdoop, graduated top of his class, in a program that only accepts 100 students from over 1 million applicants. Are you saying that you know C++ better than he?" To which I reply, the program is crashing, it is crashing because he didn't do any tests at all and any client ID over 100 will crash the software.
Boom contract time: "Your sample set of clients only had 100 clients." This ignores the fact that the contract also stipulated that there will be 100,000-500,000 clients.
And it just goes on and on and on. Then after you finish successfully managing to sue them in an American court, you see that they are using your company name for a positive reference.
Then there is the endless changing of the contract. Somehow the monthly billing of $40,000 goes up to $45,000 and the extra is for "administrative excesses" and you say no, but it takes months for them to remove it, and as the end comes closer it goes up and up and up with subtle threats about the software ever being delivered if it doesn't get paid.
The best is when one of your own employees turns out to be related to the company in India that got the contract in the first place. You are never able to prove that something scummy happened but your employee gets wildly upset when the contract is canceled with extreme prejudice. Like holy shit losing his mind upset.
Somehow they have created a facade of competence without actually creating the competence. A simple test is how many companies in India are actually making viable software products for themselves. Not the government, not for others, but an Indian Facebook. I don't think that it is possible. I suspect that there are all kinds of Vapourware companies, as they would have that nailed down cold; but a company that does something cool, has lots of customers, makes lots of real money, and doesn't have a government department firehosing money into it.
Without that excellence, why would we go there again? This is why Western Programmers make the big bucks; they deliver what was wanted.
Hey, *someone* has to provide the answers for all those barely understandable urgent questions on stackoverflow and mailing lists.
It's cheaper for a two big reasons:
1. India's Rupee is considered less valuable than the USD because the USD is the world reserve currency amongst other currency manipulative tactics.
2. India neglects basic protections we take for granted in the US. No unemployment insurance, crappy schools, and a lack of a requirement to pay for "pensions". Hence it is more "expensive" to pay a US worker.
American companies want to pay workers Indian salaries with a massive currency disparity while not bothering to pay for the things that make America great such as a highly educated work force, paved streets, social welfare, food/drug safety, and other items.
India had no wide-level destruction during World War II. China didn't have a lot of infrastructure to destroy - they were still mostly an agrarian society when the Japanese invaded in 1937. There wasn't a single bullet fired in WW2 on the continent of South America, and yet they still don't have the level of industry or world-changing advances.
You're probably right about the advantage over western Europe, Russia (USSR), and Japan, but it hardly explains the idea of American exceptionalism in the 20th century.
Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
You made a good point.
> but it hardly explains the idea of American exceptionalism in the 20th century.
American Exceptionalism does NOT mean "America is better." Somewhat the opposite, in fact. If the US government and the govetnment Spain both spy on their citizens, the US has failed to live up to it's responsibilities, while Spain has not necessarily failed, according to American Exceptionalism. AE says that due to certain historical facts, the US has responsibilities that other nations don't have.
Most states are also nations, the borders of France (the state) define the area controlled by the French people, the ( ~ ethnic) nation. American Exceptionalism is the historical fact that the US is a state (country) founded not based on a nation (ethnic group), but rather on a set of ideals; and that fact creates different responsibilities. Japan (the state) is basically the area controlled by ethnic Japanese, so they would be expected to preserve and defend Japanese culture. Germany is the area controlled by Germans, so they would be expected to preserve and protect German culture. The US is not a state, not an ethnic group; it was explicitly founded on the ideals that each person is endowed by their creator with certain inalienable rights, etc. The US claims to be "the brightest beacon of freedom", therefore the US should be expected to defend and preserve freedom and liberty. Spain wasn't founded as a bold experiment in individual freedom, so they have no special responsibility to do that- Spain is supposed to be Spanish, that's all. The US government, being founded for a particular purpose, has a special responsibility to honor that purpose. When we fail to preserve and protect freedom, we fail at our national identity, at our national purpose. That's American Exceptionalism.