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.