This page is an analysis of educational and job opening data
for some STEM (Science Technology Engineering Mathematics) fields.
It uses 2018 data.
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 2018-2019 academic year. The source data file is named degrees.csv and I processed it with the script parse-degrees.
The employment data comes from the Department of Labor's Occupational Outlook Handbook for 2020-21. This handbook includes employment for 2008 as well as a 10-year projection to 2028. I manually selected which occupations mapped to which degrees. I calculated job openings per year as 10% of the expected job growth over 2018-2028 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 | 31258 | 7187 | 6194 | 9542 |
Bio | 120745 | 17320 | 8296 | 43615 |
Eng | 123016 | 52585 | 10848 | 52982 |
CS | 80771 | 46889 | 1987 | 200860 |
This table is the contents of the file data-2020.txt. To produce the data plot I used the script common-barchart. This produced the bar chart in plot-2020.pdf. I added the supporting text below and legend above using GIMP. The final file is data-2020.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.