As a computing specialist who makes a very generous income from a large US employer, I am an expert in a specific technology. I've also been in the position of trying to hire developers with similar skill sets. As a result, I might bring a slightly different perspective.
I am a US citizen. As you point out, I don't need to dress "business casual" and I can (and do) work remotely, and the pay is good.
But in some specialties, developers are scarce in the US. They're probably also scarce worldwide, but the greater wages available here could entice them to immigrate.
In my niche in particular it's hard to find good developers for anything like reasonable wages. And in my specialty, it's not possible for a typical "generalist" to just hop in and learn quickly; for what I do, you'd need a broad background in C, C++, cross-platform issues, Windows, Android NDK, and Unix-ish development environments, as well as real-time/game experience. Someone missing any of those would have a steep learning curve.
I hear stories of developers making $500k+ per year, or getting job offers worth millions. At that level, then yes, I think we could stand to see a bit of downward pressure on salaries. I'm not quite there myself, though at my salary's current rate of growth I could see hitting that threshold in ten years or less.
That said, I do actually agree that H1B workers are often illegally used to pay below-market salaries. [1] I don't know how to combat this other than through better monitoring and stronger enforcement of the law. (For example, if an employer is found to be paying less than they should, forcing them to retroactively pay the difference in wages+penalties to any affected employees would be a strong motivator to pay them enough.)
Currently, H1B workers need to be paid 100% of the "prevailing wage"; maybe a higher threshold like 110% (or pick a number that makes sense) would convince critics that these workers are really hard to find in the US? Because if you can't find someone locally for 110% of the "prevailing wage" then that's a compelling argument that they aren't here.
[1] "Employers affirm in the labor condition application that the wage offered to the applicant is at least as high as that paid by the employer for the same type of job, and the number equals or exceeds the prevailing wage for the job in the same geographical area" http://www.immihelp.com/visas/h1b/h1b-visa-requirements.html
[edit] added comment about "hire a generalist" not being good enough
> I hear stories of developers making $500k+ per year, or getting job offers worth millions. At that level, then yes, I think we could stand to see a bit of downward pressure on salaries.
Why? If some developer jobs are as hard as brain surgery, why shouldn't those developers be paid as much as brain surgeons?
Not capping wages also encourages employers to rethink their employment strategies. Maybe that sort of employee should be promoted to partner. Or maybe longer-term contracts should be signed to so that employers can expect a reasonable payback from helping the employee over the learning curve. Or maybe they can rethink their development process to allow more remote workers (thereby increasing the talent pool to draw from).
If developers are scarce, the solution is to allow wages to rise and let the businesses figure out how to compensate.
A quick Google finds $439k as the average salary for a neurosurgeon. That's more than I make, but I've heard of salaries at some companies (COUGHgoogleCOUGH) going higher than that.
There's far less emphasis on in-house training for specific skills than there once was. My mother, for anecdata, came out of a computer science program in the mid eighties with her education financed by her employer. Companies today don't see employees as long-term investments, and that's one of the prime reasons for the lack of people with the specific skills that those companies need. Highly specific skill sets aren't really encouraged by the academic system, and as a result people with your specific skill set on the job market become a proverbial dropped twenty dollar bill: you'll never find one because someone else has already snapped it up.
Of course, treating workers as long-termers means changing the incentives. The current set of incentives are oriented around cheap perks to lure in new workers, rather than the more expensive measures necessary to keep people around for the long haul, like pay raises to keep salaries industry-competitive or other serious rewards for long term service. (one could imagine a partially paid sabbatical year or something...)
>Companies today don't see employees as long-term investments, and that's one of the prime reasons for the lack of people with the specific skills that those companies need.
I've personally interviewed multiple dozens of graduates from top-notch computer science programs. Of those I've had the opportunity to interview, only a very small percentage (1-2%, give or take?) seem to even have the right aptitude to learn the more advanced skills.
Sure if you're hiring for web development you can train anyone with even mild programming aptitude on your stack in a month or two. But there are quantum levels of aptitude: If you just hiring someone because they're competent in one task with the intent to "train them" on another, there's no guarantee that you'll hit that 1-2% who can hack it.
It's far safer to find someone who has (at a minimum!) proven they can do something of similar complexity. And guess what? The kinds of skills I'm talking about can be self-taught (that's where I got them!), so it's the potential employees who need to take their future into their own hands and just learn the niche skills that interest them. (Or better, the ones in high demand.)
>My mother, for anecdata, came out of a computer science program in the mid eighties with her education financed by her employer.
I don't believe thats a 100% apt comparison. In the 80s, tuition at MIT, a private school, was less than 10k/yr (according to wikipedia). Considering to do the same now would cost nearly 5-6x as much, its no surprise that corporations haven't continued those programs.
I don't see how corporate profits are related at all. Metaphorically, just because I get a raise, doesn't mean I'm going to start spending $100 on a loaf of bread.
In the past the cost to send someone to college was "x", and the benefit to the company for doing so was "y". The rising costs of tuition has now caused "x" to surpass "y", making that avenue uneconomical. Corporations aren't public entities and shouldn't be expected to continue programs that result in a net loss.
> At that level, then yes, I think we could stand to see a bit of downward pressure on salaries.
Why??
If you're a lawyer specializing in sovereign debt restructuring and charge $2000 an hour, we don't hear about downward salary pressure.
I've never heard anyone complaining that petroleum engineers are too expensive, even if it takes them a Master's degree and an extremely costly speciality to understand their profession.
If we're playing the all-out capitalist game, then as a salaried employee you should go for all the leverage you've got, because your employers are doing the same through these and similar maneuvers.
It hurts innovation. People that good will be locked (with golden handcuffs) into large companies that can afford them.
Start-ups rarely can offer large fractions of a million dollars a year in salaries. Maybe they need to bring the entire initial development team on board as co-founders; I don't know. But right now getting good people to work with you in a start-up is harder than it ever has been before.
Sucks to be them then. If there was such a shortage we'd see more companies offering actually competitive salaries in the software industry.
Software engineers might be well paid on average but they're not better paid than many other professions requiring similar levels of training. If this is such an issue, companies should spend resources training staff for the roles they need. Like they used to.
I am a US citizen. As you point out, I don't need to dress "business casual" and I can (and do) work remotely, and the pay is good.
But in some specialties, developers are scarce in the US. They're probably also scarce worldwide, but the greater wages available here could entice them to immigrate.
In my niche in particular it's hard to find good developers for anything like reasonable wages. And in my specialty, it's not possible for a typical "generalist" to just hop in and learn quickly; for what I do, you'd need a broad background in C, C++, cross-platform issues, Windows, Android NDK, and Unix-ish development environments, as well as real-time/game experience. Someone missing any of those would have a steep learning curve.
I hear stories of developers making $500k+ per year, or getting job offers worth millions. At that level, then yes, I think we could stand to see a bit of downward pressure on salaries. I'm not quite there myself, though at my salary's current rate of growth I could see hitting that threshold in ten years or less.
That said, I do actually agree that H1B workers are often illegally used to pay below-market salaries. [1] I don't know how to combat this other than through better monitoring and stronger enforcement of the law. (For example, if an employer is found to be paying less than they should, forcing them to retroactively pay the difference in wages+penalties to any affected employees would be a strong motivator to pay them enough.)
Currently, H1B workers need to be paid 100% of the "prevailing wage"; maybe a higher threshold like 110% (or pick a number that makes sense) would convince critics that these workers are really hard to find in the US? Because if you can't find someone locally for 110% of the "prevailing wage" then that's a compelling argument that they aren't here.
[1] "Employers affirm in the labor condition application that the wage offered to the applicant is at least as high as that paid by the employer for the same type of job, and the number equals or exceeds the prevailing wage for the job in the same geographical area" http://www.immihelp.com/visas/h1b/h1b-visa-requirements.html
[edit] added comment about "hire a generalist" not being good enough