This page is an analysis of educational and job opening data for some STEM (Science Technology Engineering Mathematics) fields. It uses 2008 data, the most recent I was able to find.
The educational data comes from the National Center for Education Statistics IPEDS (Integrated Postsecondary Education Data System) Data Center. I processed the file using Python to generate aggregate counts of degrees conferred across all institutions. The data used is for degrees granted in the 2008-2009 academic year. The source data file is named stem.csv and I processed it with the script parse-degrees.
The employment data comes from the Department of Labor's Occupational Outlook Handbook for 2010-11. This handbook includes employment for 2008 as well as a 10-year projection to 2018. I manually selected which occupations mapped to which degrees. I calculated job openings per year as 10% of the expected job growth over 2008-2018 plus 2.5% of the number of jobs in 2008. This second term describes the number of jobs opening as people retire. It assumes that people work for 40 years and leave a job at a uniform rate; the latter is of course not true in difficult economic times. I hand-copied data out of the OOH into the file named jobs.txt. I processed it with the script parse-jobs.
These computations result in this final data table:
Area | Bachelor's | Master's | Doctorate | Job openings |
Phy | 21165 | 5384 | 4808 | 10075 |
Bio | 79671 | 8823 | 6395 | 49200 |
Eng | 83235 | 37899 | 7911 | 57127 |
CS | 36578 | 17091 | 1539 | 161857 |
This table is the contents of the file data.txt. To produce the data plot I used the script common-barchart. This produced the bar chart in plot.pdf. I added the supporting text below and legend above using Adobe Photoshop. The final file is data.png.
Note I count some job categories in more than one field: I figure it's better to be a little conservative rather than quibble over whether job X is a Biological Sciences or a Physical Sciences job.