RE: One reason is the employers are offering salaries sharply lower than what the same job paid only five or six years ago
In 1993, I was a software developer programming in C/C++ under a Windows 3.1 environment with Microsoft’s first version of Visual Studio. I was on CONTRACT then at $50.00 an hour.
Today, I see the same contract position for .NET C# developers using Visual Studio 2010 in a Windows 7 environment at barely $55 to $60 an hour.
According to this inflation calculator:
http://www.usinflationcalculator.com/
$50.00 should be $88.00 today based on average inflation.
What accounts for the effective DECREASE in salary rate for the same skill?
I would say — COMPETITION.
We now have TENS OF THOUSANDS of software developers (many on H1B visas ) from overseas who can do the same job we can who are willing to work for lower rates.
being a C++ programmer and a C# programmer is not the same skill. C++ has a much steeper learning curve. Finding skilled C++ workers is not easy, even foreign born ones. I do agree, though, that competition does play a significant role for salaries.