There just aren't enough developers to fill all the open positions. However, I stand by my position that the solution isn't to import more help. Higher salaries encourage more high school graduates to choose to attend vocational schools for programming and majoring in computer science. More available developers eventually fill all open positions, and salaries come down to the point where students stop flocking to those fields, which forces the entire process to start over. This means that it should take about two years for high starting salaries for developers to result in an influx of developers into the marketplace.
Young people do make decisions about what majors to pursue based on starting salaries.
If computer science pays better than finance, then expect more computer science majors. What we are trying to accomplish above is to create more developers, knowing that X amount of development takes Y number of developers. As the cost of developers soars, so does the value of technology that permits developers to be more effective. This is the same cycle we see with alternative forms of energy. As the price of fossil fuel rises, the cost of alternative fuels becomes more competitive.