Every two years, the U.S. Bureau of Labor Statistics (US-BLS) produces employment projections for a wide variety of occupations over the next decade. For each occupation, these projections include:
- New Jobs -- the number of jobs that did not exist before, representing economic growth.
- Total Jobs -- the number of new jobs plus job openings to replace people who have retired.
By both of these projections, the latest US-BLS employment projections (for 2012-2022) predict that computing will be one of the safest science, technology, engineering and mathematics (STEM) career options for the foreseeable future. The following figure presents charts of these US-BLS projections for side-by-side comparison. The left chart presents their STEM New Jobs projections and the right chart presents their STEM Total Jobs projections:
(Click on either chart for a larger image.)
As you can see from the chart on the left, the US-BLS predicts that the three STEM jobs with the most growth will all be in computing; only one other area (civil engineering) is expected to generate more than 5000 new jobs per year. By contrast, the US-BLS predicts that each year, there will be over 22,000 new software development jobs, over 12,500 new systems analysts jobs, and over 11,000 new computing support jobs. The US-BLS also predicts good growth in the number of computer security analysts, programmers, and network and system administrators.
In light of the chart on the left, the chart on the right indicates that the US-BLS predicts there will be some jobs in non-computing STEM areas, but that most of those jobs will be replacing retiring baby boomers, not new jobs created by economic growth.
If we aggregate these US-BLS projections as percentages by STEM area, we get the following charts:
(Click on either chart for a larger image.)
These charts imply that for the foreseeable future of STEM jobs in the US, nearly 3 out of 4 new job openings and 3 out of 5 total job openings are going to be in computing! It is worth mentioning that this is not a fluke -- these projections are fairly consistent with those from from two years ago.
What kind of "computing" careers are these? The little stacked-chart next to each pie chart breaks down the "computing" job openings into the different career categories, and shows the variety of careers that are available for students who study computing. As can be seen in the charts on the left, the US-BLS is predicting that 32% of the new STEM jobs will be in software development (aka software engineering) alone, as compared to 16% in the combined branches of traditional engineering! With respect to total jobs, the charts on the right predicts that there will be nearly as many openings in software development as there will be in all the branches of traditional engineering combined.
Why will there be so many software development/engineering jobs? One reason is the mobile computing market. It used to be that every company wanted a website (and they still do) creating demand for web developers. But today, companies also want native apps for the iPhone and iPad (which run Apple's iOS operating system) and for all the phones and tablets running Google's Android operating system, creating a huge demand for people who know how to develop software for these mobile devices.
Another reason is that manufacturers are increasingly embedding computers into appliances like refridgerators, ovens, water heaters, and so on, creating the so-called Internet of Things. All of these embedded computers require software to do anything useful, creating even more demand for software developers.
All of these computers will send data across the Internet, and this data will be stored in databases, creating demand for networking professionals and database administrators. When things go wrong, people will need technical support, creating demand for support specialists. Together, mobile computing and the "Internet of Things" are creating a huge demand for people with advanced computing skills, but especially in software development.
Note that basic computer literacy (i.e., knowing Microsoft Word, Excel, or Powerpoint) or CAD-design skills will not qualify a person for one of these careers. Most of these careers will require advanced computing skills that a person will only gain by studying computer science or a closely related discipline.
With all of these jobs out there, you'd expect U.S. students to be flocking to computing. Until recently, the opposite has been true, as the following chart shows:
(Click on the chart for a larger image.)
So the demand for computing-related professionals is exploding, but until recently, fewer U.S. students have been choosing to study the subjects needed for these careers. And while more U.S. students have been studying computer science since 2009, the supply of CS graduates in the U.S. is still just a fraction of the demand for them.
To see this supply-demand imbalance, our final chart compares the US-BLS Total Jobs projections in the various STEM categories against the most recent (June 2013) National Science Foundation data on the number of bachelors degrees that were actually awarded in science and engineering:
(Click on the chart for a larger image.)
The yellow bars indicate the total number of job openings projected in each area per year, and the orange bars indicate the actual number of graduates in those areas, according to the NSF. (Note: The NSF released its most recent report in June 2013; the most recent graduation data in it is from 2010; I wish this data was more current.) The chart indicates that in engineering, the sciences, and mathematics, the US is producing more graduates than there are jobs. If nothing changes, the graduates from these programs will be competing for the available jobs. This oversupply means that some of these grads will be unable to find jobs, and oversupply tends to keep salaries flat.
By contrast, there is a huge undersupply of graduates in computing, and companies are competing for the (relatively few) available graduates that have advanced computing skills.
We have seen several pieces of evidence that this imbalance is already here:
- Many of our 2013 and 2014 CS graduates report that they received multiple job offers.
- At local technical career fairs, companies are competing with each other to secure the technical talent they need, to the point that one employer described it as a "feeding frenzy".
- In the past two years, a number of college graduates with non-computing STEM degrees (e.g., engineering, physics) have discovered how difficult it is to find work in their discipline, and so have returned to college to pursue second degrees in computer science. Similarly, more and more non-computing STEM majors are "hedging their bets" by pursuing minors in CS.
- The "insane" salaries some Silicon Valley companies are paying their interns!
In short, companies in need of advanced computing skills are finding stiff competition for a scarce resource -- people with those skills. By contrast, non-computing STEM grads are finding stiff competition for a different scarce resource -- jobs within their disciplines.
Incidentally, this last chart helps to explain the confusion in Congress over H1B visas, where some of our representatives claim there is a shortage of STEM workers (and so more H1B visas are needed) while other representatives claim there is no shortage of STEM workers (and so no more H1B visas are needed). They can't both be right. Or can they? That last chart indicates that there is a shortage of workers with advanced computing skills, but there is an oversupply of workers with science, engineering, or mathematics skills. So the confusion in Congress stems (pun intended) from one group of representatives talking about the 'T' in STEM, while the other group is talking about the 'S', 'E', and 'M' in STEM.
So why is computing the "safe" STEM career option in 2014? Because in the 21st century, computing technology (especially software) is playing an ever-growing role in our day-to-day lives, and thanks to mobile computing and "The Internet of Things", there is no end in sight. As Marc Andreessen has pointed out, "Software is eating our world," so gaining skills in creating and maintaining software (or in the various computing technologies on which software relies) seems like a solid strategy for having a "future proof" career. But there is one caveat: to have a successful career in computing , one must be a life-long learner and keep those skills up to date, because computing technology keeps changing!