I am trying to write this question in a non-argumentative way, but it is quite emotionally charged for some, so please bear with me. In the U.S., we hear constantly from CEOs that they cannot find enough qualified software engineers. In fact, it is the position of the U.S. government that demand for software engineering talent outpaces supply. This position can be clearly seen in the granting of tens of thousands of H1B visas, but also in the following excerpt from the official 2010-11 Bureau of Labor Statistics Occupational Outlook Handbook:
  Employment of computer software
  engineers is expected to increase by
  32 percent from 2008-2018, which is
  much faster than the average for all
  occupations. In addition, this
  occupation will see a large number of
  new jobs, with more than 295,000
  created between 2008 and 2018. Demand
  for computer software engineers will
  increase as computer networking
  continues to grow. For example,
  expanding Internet technologies have
  spurred demand for computer software
  engineers who can develop Internet,
  intranet, and World Wide Web
  applications. Likewise, electronic
  data-processing systems in business,
  telecommunications, healthcare,
  government, and other settings
  continue to become more sophisticated
  and complex. Implementing,
  safeguarding, and updating computer
  systems and resolving problems will
  fuel the demand for growing numbers of
  systems software engineers.
  
  New growth areas will also continue to
  arise from rapidly evolving
  technologies. The increasing uses of
  the Internet, the proliferation of Web
  sites, and mobile technology such as
  the wireless Internet have created a
  demand for a wide variety of new
  products. As more software is offered
  over the Internet, and as businesses
  demand customized software to meet
  their specific needs, applications and
  systems software engineers will be
  needed in greater numbers. In
  addition, the growing use of handheld
  computers will create demand for new
  mobile applications and software
  systems. As these devices become a
  larger part of the business
  environment, it will be necessary to
  integrate current computer systems
  with this new, more mobile technology.
However, from the the employee side of the equation, we often hear the opposite. Many of the stories of SDEs with graduate degrees and decades of experience on the unemployment line, or the big tech interview war stories, are anecdotal, for sure. But, there is one piece of data that is neither anecdotal nor transitory, and that is the aggregate decisions of millions of undergraduates of what degree to pursue. Here, a different picture emerges from the data, and that picture is not good for the software profession.
According the most recent Taulbee Survey from Computer Research Association, undergrad degree production in CS and CE has fallen nearly 60% since 2004. (Undergrad enrollments have ticked up in the past two years, but only modestly). Here we see that a basic disconnect between what corporate CEOs and the US government are saying and what potential employees really think about job prospects in software engineering.
So my questions are these. Who are we to believe? Is there an acute talent shortage, or is there a long-term structural oversupply in the SDE labor market? Can anyone provide reliable data on long-term unemployment among SDEs? How many are leaving the profession due to lack of work? Real data is most helpful. Thanks.