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.
As having worked in tech in another country, and moved to the US to work in tech, it's 100% to do with the US understanding the value of the engineers. Among my other expat acquaintances, it's not just my old country, either.
A couple of good engineers can pull off the next google, instagram, Facebook etc. Folks in the US know this and harness that power. Other countries see an computer engineering degree like an accounting degree. Until other countries clue in, the US will continue to be a power house.
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.
After all, it's even easier to outsource being unproductive.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
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.
Disclaimer: I am a lucky white dude that grew up in the United States and I have worked with a few teams in India and tons of people that moved to here from India and other countries, and I have nothing against them and have several Indian friends. They are just like you and I, they want to work hard to provide for their family and make a better life for themselves. Don't hate the individuals for just trying to work hard and get ahead in life. If you want people to blame and be angry at for job loss, direct your anger at the companies that take advantage of these people. There are tons of IT contracting firms, tons of startups that source talent solely this way, and tons of companies that source talent in varying degrees this way - they all get large numbers of IT workers over here on w2s, pay them horrible wages and make them work long hours in horrible conditions because they know that employees on w2s can't do a single thing about it. Because of the way the w2 is designed, the workers are unable to do anything to fight back - they are not allowed to find another job and they are not allowed to speak up. If they say anything or complain, they will be sent home and replaced with someone that won't speak up, they seriously have zero voice in this country. I love how people like Zuckerberg say there is a talent shortage in this country with the current w2 system and that they need more w2 workers over here. Tech workers are not a commoditized work force of assembly line workers, we are more like an athletic sports league where talent comes in varying degrees. Instead of paying decent wages to attract the top talent that he wants, he wants to get that high class talent at a cheaper price. It is not widely know, but I have worked at a startup that uses a very specific w2 worker formula that is replicated at numerous startups throughout the valley (they had a touch time finding a good systems engineer that fit the mold because the role really isn't taught in the talent pool they pulled from). The engineers were almost all (like between 95-98%) foreign graduate students that just graduated from college and that were hired on with w2s. This pool of workers were highly skilled and extremely hard working, and generally they had zero sense of how much money they should be making and what is standard practice in the industry regarding the number of hours they needed to work and how hard they should work. The owners work them ridiculously hard, 70-80 hour weeks every week, and they made them do things like work 18-20 hour days on a deployment day and require them to be on time in the morning the following day, else they would be yelled at. In this very profitable company, not a single engineer would receive a bonus and almost no employees would receive a raise to their already meager salary. These kids were taken advantage of and they were worked to the bone, and there was not a single thing they could do about it. They couldn't switch companies or complain or else they would have to go home. This is a very common practice, and this is the reason Mark Zuckerberg wants more below market rate employees on w2s. The talent is here, they just don't want to pay full price (and that "full" price isn't even full because of the depressive effect these types of practices have on the market, and don't get me started on other shady practices common in the industry like under the table agreements between companies to not hire talent away from each other). But I digress...
In addition to quality of work, there is the communication issue. I think it can be a big factor that plays into quality of work also, but yea people don't ever really focus on it or talk about it much, but communication inside of engineering and communication between engineering and other departments is a really big pain point that gets really stressed when outsourcing. Sure there is a ton of simple tech work that can be outsourced, but anything that involves working with other teams in the company can be really tough to outsource. Not exactly office space type "I'm
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.
Well, IT workers might be paid more than developers because they need to be in closer proximity to the clients for many of the IT tasks. But developers are generally paid much less than equally-intelligent and equally-educated professionals in legal and medical fields. Despite all the fear, Indian post-secondary education is not as good as US private university education when it comes to either applied math or CS. There is a lot of factors which cause this, not the least of it is that the best students from India come to the US for their university studies. But this is just one of many factors which influence this. What drives the wages lower is that there is a constant churn in development just like there is physical production. Some of the work simply requires citizenship or ability to impose legal requirements (which can be expected to be followed by US residents), or something similar. Any work which cannot be justified in this manner has already gone to India. Inability to hold people accountable to what they produce does carry a price with it. In many instances, that price is the difference in labor cost. Whatever arbitrage opportunities existed in the labor market, they have already been taken advantage of and, therefore, have diminished to virtually nothing. There are other factors. You might as well ask why Australia ever beats India in cricket given that India adds an Australia-size population every year. If building something in India were as simple as building it in the US, India would simply be a wealthier country than the US and the difference in labor cost would be absent. Wealth doesn't come from money. It comes from being able to buy something useful with the money you have.
Any guest worker system is indistinguishable from indentured servitude.
My workplace is dabbling a bit with outsourcing aswell. It's a scalability attempt, we simply cannot find enough people to keep doing what were doing with the amount of work we are expected to do in the future. We make marketing websites and apps for a wide range of inhouse products. One department is outsourcing to India, they keep doing what we have always done, just with more hands and more management. Another department is changing the techstack, trying to scale differently, make the tech require fewer hands, use the same content across devices, componentify code. Essentially move our approach to a more stabile platform that enabled configuration. Not sure which is going to "win" but i know our colleagues in the other department would rather come work with what we are doing, rather than micromanage the indian teams.
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.
Cog making is fine and good anywhere, but, honestly, many bosses want to be able to hold someone's feet to the fire. Someone in the room. Someone in the room with people in their room. If you have a product that requires specific communication and intense deadlines, being able to look someone in the eye is most of the justification for a premium. Managers don't get paid for results — they get paid for the appearance of results. They justify your expense to justify their own expense.
Hey, *someone* has to provide the answers for all those barely understandable urgent questions on stackoverflow and mailing lists.
Post subject is the words you must utter for the Herd to have a vague inkling about what you are saying.
Dying empires always choose diversity which produces worse not better results, but enables them to import cheaper labor to their countries and, trading on the good name of those countries, to sell it at a higher rate.
It is how professional organizations make their money. If you are the client of a top firm, you expect that experienced personnel will be handling your case, but in reality it will be tackled by their newest low-level hires but billed as if top performers were doing it.
In the same way, companies in the US and EU use outsourcing to make profit. They get a name for providing a good product or service here, then take on tons of new business and hire it out to cheaper labor pools, with the excuse that their existing staff are "supervising" the process.
At this point, it is clear that both the US and EU are in terminal decline and so you are correct: we will not "wake up." You only get a society full of special snowflakes when it is oversold because it has lost what made it great in the first place.
Alternative Right.
It's completely anecdotal, but I am often very well paid for programming tasks. Several times I have had to resolve issues with code from Russia and India. And I dealt long ago with code from Japan. In each case it is easy to see the style that matched the source country. Japan was very linear. Modules thousands of lines long. Functions hundreds of lines long. Russia was very well structured but lots of edge case issues, lots of dead code. India, cut and past heaven. In a project with nearly forty view controllers over half of them had about fifty shared lines. About thirty of those easily moved into a parent class, and twenty or so moved to the networking layer. The networking layer itself had twenty or so methods that were duplicates save a couple bits that became a dictionary of parameters. In each case after refactoring the lines of code were significantly reduced, save the Russian code which we actually modified after refactoring to handle edge cases. No one did extensive parameter checking. No one had unit tests for functions. No one looked at security as a concern.
I was actually told that I was as productive as four Indian programmers. I also had a cost of three times what they paid the somewhat premium Indian outsourcing company (not the Indian programmer, his company's fees) ...
You can get outsourced code written cheaply. You get what you pay for. And you may be getting a lot less. The Indian firm I replaced counted all the cut and paste lines of code in their monthly productivity reports. The actual new lines was significantly less.
Want quality outsourced code, I can help you set something up in Ukraine. With American design and project control and leadership. It won't beat the low end Indian, Chinese, Estonia, Poland, or Russian outsource prices, but will be a better value. And the code repository sits in the US. I can also arrange guaranteed US based development teams. Oh, and we do forensic software and hardware pre-discovery research.
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.
Around the year 2000, Indian developers could expect about 1 lakh/year income for each year of experience they held, with a significant number of said developers having 5 or fewer years of experience - except, of course, when being shopped as H1-Bs to US employers wanting 10 years experience in Oracle 11 in the year 2000.
That's roughly one eighth the pay rate for an equivalently-experienced US developer. Under $10,000 a year in most cases.
Try living as a professional in the USA on under $10K/year, even 17 years ago.
So how did they do it?
Simple. In India, home air conditioning is a luxury, not the essential that Southern locales in the USA consider it to be. Firstly, because the equipment itself is no cheaper over there than in the US, secondly, because residential electrical service back then was extremely unreliable.
And not just air conditioning. Refrigerators were the "in" thing for the up-and-coming. Look at an Indian cookbook sometime. Most everything in it is either something you'd eat immediately or something that doesn't perish if not refrigerated. Ghee, for example, removes the components of butter than go rancid.
Electricity was so unreliable that the tech employers would maintain their own private power plants.
Another thing that tech companies over there would do is run transportation for their employees. This actually was done in my town back in the 1960s, but not any more. Indian tech employees are far less likely to own a car.
Then there's food. Indian diets are much less meat-heavy and frequently vegetarian. Rice and dal cost a lot less than hamburger and steak.
And don't forget social nets. The Indian social net is you die in the streets. You can have a free college education, but you have to pay for all the schooling that gets you there yourself.
Last, but not least, it's a veritable Libertarian paradise as far as regulations go. Not that everything's unregulated, but for a fee, it often can be. No pesky pollution regulations, little oversight to make sure that the food isn't contaminated, toxic fumes wafting from the nearby Union Carbide plant, stuff like that.
India has advanced considerably in the last 20 years, but it's still a lot cheaper to live there than it is in the USA. As long as you're willing to make some concessions.
Actually, since Indian developers aren't stupid, whatever you may think of their work as coolie labor, they've pushed up salaries considerably. Still much less than US levels, but significantly. So their side of the coin has been "why should we be paid so little when other countries pay so much? Should we as an industry raise our salary expectations?"
So when you need to be able to pay 20 grand after taxes to live near where you work just for the basics, you start to get annoyed that someone living in a cesspool thousands of miles away for pennies on the dollar is arrogant about stealing your job.
The arrogance is all here in the US. We act like we are entitled to earn the highest wages in the world as if it is some sort of divine right. In reality we've had a good run and many have forgotten that we only got those high wages because we out competed everyone else. If we are idle and complacent then wages in the US will fall back towards the mean as surely as gravity. There are lots of smart folks in China and India and elsewhere and there are more of them. China has 4 people for every one in the US and India is the same. All other things being equal China and India should be able to generate the most technical talent just by sheer weight of numbers.
One thing people in the US tend to forget is that the USA was one of the few countries that didn't have to rebuild from scratch after WWII. We got a 30 year head start on the rest of the world because we were protected by two oceans and didn't have all our infrastructure destroyed in the fighting. Now that the rest of the world has rebuilt we've had to compete on a more equal footing and the results haven't always been favorable.
I work with Indian developers every single day. Some of the Indian developers are in India and some are in the US. Generally the very cheap developers/QA Indian professionals aren't very skilled and talented and often impede progress. Generally the talented Indian developers/QA get/demand raises and eventually earn as much as their American counterparts.
I work with American developers every day. Generally the very cheap developers/QA professionals aren't very skilled and talented and often impede progress. Generally the talented developers/QA get/demand raises and eventually earn as much as their talented Indian counterparts.
You can find American developers that will work for minimum wage, you really can, just put an advert somewhere. You will get what you pay for, you might find a trainable gem, but as soon as that gem matures into a skilled and talented developer that gem will demand more money. Indian developers are no different.
I know a brilliant American developer here in Atlanta that just got a raise from $9 per hour to $11 per hour. He is great at MySQL, Mongo, PHP, Node, Angular 1, and Angular 2 - full stack. The dude is a straight up genius. He was hired for small contracting company in is Junior year of high school and now he is Freshman in college. You better believe that lots of recruiters are watching and waiting for the moment when they can place somewhere for $25 an hour....
The difference is that American companies want to hire cheap developers from India not from the US. So more Indian junior developers mature into talented developers and fewer young Americans developer mature into talented developers; but once anyone (Indian or American) prove themselves to be good they bolt for greener pastures... well unless they are bound via something like H1B... but that's a different conversations.
So the question implied that you can get highly talented, highly skilled, well trained, highly motivated... developers from overseas for cheap; that's is not that case. It is true that you can get cheap developers from overseas and you can get cheap developers in the US.
Your question could be better asked this way: If China and India are so cheap, and talent readily available, why haven't all IT jobs simply been outsourced to China and India?
That does not appear to be happening - frankly the reverse is happening. The US appears to be drawing much talent from those areas with programs like the H1B visa.
Why would a top-tier IT worker want to pack their bags and head to the US? Simply put, the US is a more attractive place. Thinks like excellent schools, good roads bridges, decent electrical grid, police, fire, and the worlds biggest military for protection make the US a decent place to live and raise a family.
Companies and workers WANT to operate here in the US. If they didn't - the H1B visa wouldn't exist.
The reasons they want to operate here cost money - and that means corporations and individuals alike must pay the tax bill to fund those things.
TL;DR: The US is nice and costs money to keep nice - therefore salaries must be higher to pay for that.
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.
Neither were India nor China..
China was absolutely devastated by Japan. India was a part of the British Empire at the time and suffered accordingly. There was a huge famine in India during WWII which killed about 3 million people.
It only really affected Europe and northern Africa, and several island nations in the pacific.
WWII devastated infrastructure around the entire western pacific rim. Japan, Korea, China, Vietnam, Philipines, Burma, etc. Of course Europe was hugely damaged as well. India wasn't a big player in the world economy at the time and didn't get investment because the British Empire was falling apart.
It isn't just the skills, it is also the environment. Take Facebook as an example. Suppose that you code for Facebook and they are making record profits. Could you leave Facebook and go to MySpace and generate the same profit for them? Not likely. Facebook could replace you with somebody equally skilled and still generate the same profits while your skills could completely fail to produce results elsewhere. The value is not in YOUR skills, but in the name brand that Facebook commands. A mid-level employee at Google could not go to AOL and have them turn the same profits per person either.
Similarly, I design chips for a living. I have worked on some projects that generated a nice sum of money. However, I could not take my skills and guarantee that same profit for another company. My current employer has big-name brand recognition and a reputation. Those things account for a lot.
I am also crippled in that I cannot even easily start my own business. Even though I could likely design an entire chip from start to finish with my skill set, it would take me several years to do so without help, and the license costs for the tools would be in the seven-figure range each year.
This reminds me of the old Communist theory. Yeah, the proletariat actually MAKES the products, but the proletariat can't do a damn thing without the engineering, plans, factory, tools, and distributors of the bourgeois.
"-1 Troll" is the apparently the same as "-1 I disagree with you."
What exactly do you think that economic term, "supply and demand", means that's in some way different from what you described? It sure sounds to me like you could have copy-pasted your post from Economics 101, page 3 "Supply and Demand".