I have been reading a number of articles lately lamenting the fact that we do not have enough programmers or coders in America and not enough students are entering and graduating from computer science programs. The Kentucky Senate last week passed a bill that would allow for programming classes to count as foreign language credits in public schools. The bill still needs to pass the Kentucky House to become law. There is also the oft-quoted number from the National Center for Educational Statistics (NCES) that only 2.4 percent of current bachelor’s degrees are awarded to computer science majors.
I think that the argument is overly simplistic and ignores cycles, needs, and capacity. In terms of cycles, there is a reason for fewer computer science majors today. If you look at the historical trends in computer science degrees displayed in this interactive chart, you will see that computer education peaked at 4 percent of all bachelor’s degrees in 1985 and again in 2004. I believe that the introduction and popularity of personal computers in the late 1970s and early 1980s led to the first peak. It takes four years to complete a bachelor’s degree, so the cycles are offset. Similarly, I believe that the second peak was because of the dot com boom of the late 1990s and very early 2000s. In both cases, it was very cool to be in computers and desirable to pursue computer education. Conversely, the troughs occurred in 1995 and 2009. By 1990, computers had become commonplace but we had not yet entered the Internet boom. In 2004–2006, sizable tech companies and Internet companies such as HP, IBM, EDS, and Cisco were laying off large numbers of employees. My belief is that during the layoffs, an education and career in tech did not look very enticing. Computer science degrees have come out of the trough since 2009 and are on the rise again; that may be in part attributed to the boom in mobile computing. Computing is cool again.
Broad-based STEM Education
That being said, I am a huge advocate of science, technology, engineering, and math (STEM) education, and I think all students should be solidly grounded in those disciplines. They can take that education and those skills into a number of vocations and professions. I don’t believe, however, that everyone needs to become a programmer or be proficient in programming, despite the proclamations of Mark Zuckerberg and Barack Obama on Code.org. I laud their efforts to at least introduce coding to all students but it is just one small part of a larger education in technology and science.
There are other emerging fields that are outside the boundaries of traditional computer science. Perhaps it is a matter of semantics, but students should also consider a career in bioinformatics, which is a combination of statistics, computer science, and biology. This is a chance to apply computing and data analysis skills to the task of gene sequencing and other biological research. There are other emerging fields as well, such as robotics and materials science. Work in all of these specialties is going to take a solid background in math, science, technology, and even some programming. They are all exciting areas waiting for those willing to tackle the rigorous work necessary to make a break through discovery.
These are exciting times to be involved in computing and analytics and there are diversified disciplines looking for those skills. I think the key to the future is a solid applied STEM education that will prepare students for the challenges ahead. The opportunities are broad and other possibilities should not be ignored by focusing only on programming skills or computer science degrees. What do you think? Let me know.
Kelly Brown is an IT professional, adjunct faculty for the University of Oregon, and academic director of the UO Applied Information Management Master’s Degree Program. He writes about IT and business topics that keep him up at night.