According to the just-released Stack Overflow annual developer survey—a sampling of some 64,000 workers in the software industry from around the world—the proportion of new software devs entering the workforce with computer science degrees has dipped significantly. The decline is modest but notable: About 49 percent of developers entering the workforce now have an undergraduate CS degree, while about 55 percent of developers that have been in the workforce for 10 or more years have the degree.
Survey respondents were recruited primarily through channels owned by Stack Overflow, such as banner ads placed on the site and blog posts. It’s worth keeping in mind that the population of Stack Overflow users is an imperfect representation of the software development industry at-large. For one thing, it’s pretty heavily tilted toward web developers.
Videos by VICE
A computer science degree is the classic educational background for software engineers. All in all, it’s less of a strictly vocational experience than it is foundation-building. It’s kind of a cliche, but I often say it’s “learning how to learn.” You probably won’t write much Javascript in a college classroom, but you will learn core concepts that make it easy if not trivial to pick up new programming languages like Javascript or whatever the next cool thing is. (Among conceptually similar programming languages, the differences are after all mostly just syntax.)
So, full disclosure, I have a computer science degree and wouldn’t have done it differently. But a lot of other entry-points have opened up in recent years, particularly coding bootcamps—strictly vocational programs that tend to focus on specific skillsets like frontend or fullstack web development—and massive online programs like Coursera and Udacity that offer “nanodegrees” and course completion certificates. Somewhere in there is self-teaching as well.
Somewhat unsurprisingly, the survey found that people with CS degrees were significantly less likely to leave the industry compared to those with other backgrounds.
Software development has itself changed over the years, which is reflected in these trends. Overwhelmingly, new developers are working on web applications rather than, say, embedded systems, databases, or desktop applications. In talking to other developers and engineers, it’s hard not to think that there isn’t a rift growing in the industry between web development and, well, the really hard stuff that’s more likely to require a theoretical/conceptual background.
As demand spikes for engineers that can manage distributed systems, cloud architectures, data pipelines, and Internet-of-Things programming, the leakage of CS grads from the industry could have consequences. Part of the problem right now, perhaps, is that a CS degree doesn’t offer too much of a payoff salary-wise. At least at the entry level, a systems or data engineer can expect to make about the same as a web developer. (That’s just a personal observation, not a study finding.)
The most common non-CS degrees held by those in the industry included natural sciences, math, psychology, and business.
Among the survey’s other findings is this one: New developers are way into food. Like, as a job benefit.
“New developers, those with less than 1 year of experience, are more likely to say that employer-provided meals like free lunch are important to them, as well as employer sponsorship of education, such as tuition reimbursement,” a Stack Overflow blog post notes. “These were options where new developers gave significantly different answers than others; new developers were 50 – 60 percent more likely to value free food and education than their more experienced colleagues. Developers with more experience are more likely to say that benefits like retirement contributions and the option to work remotely are important to them.”