I ran across this article from TechCrunch, which states that there is a software engineer shortage despite favorable characteristics for programmers salaries (low unemployment and potential for huge gains).
As a programmer by trade, I find this articles really annoying. Ignoring for the fact that start-ups are probably in a valuation bubble about to burst (e.g. Instagram is a huge outlier); what they are really saying is that "there is a shortage of talent ... for what I am willing to pay". According to econ 101, if you need more supply just increase the price. What these (start-ups I am guessing) really want it some rock star to implement their ideas for peanuts. However, reality bites them in the butt once they realize they are competing with Google and Facebook salaries, so they complain they "can't find anyone" and should increase "H1-B" visas (i.e. cheap labor).
The real story is that most programmers won't be working at a hot start up or see a big pay-off and the lessons of the early 2000's are still fresh in people's minds. Moreover, most Americans don't find programming sexy - it is too socially isolating and logically complex despite the cool factor of web/mobile start-ups. Therefore, the only real way to attract more talent is better salaries and treating software engineers more like lawyers and less like construction workers.