Another academic year has recently ended, bringing with it a new season of graduations to celebrate and a new crop of freshly-minted graduates entering the software industry. The 2017 Stack Overflow Developer Survey provides context and data for understanding developers who are just entering the workforce compared to more experienced developers. Let's use this year's survey results to gain a deeper understanding of these new graduates. Not all professional software developers go to college, but most do. In our survey, 77.5% of professional developers had a bachelor's degree or higher, and 92.4% had at least some college or higher. For this post, we want to look at new developers at the beginning of their careers, so we'll look at professional developers with less than 1 year of experience (or in some cases, 1 or 2 years). The vast majority of these developers have college degrees or some college education, but it's important to keep in mind that a university degree is not the only path to a career as a developer.
Developer types and salary
Overall, the patterns we see for new developers who are just joining the workforce are similar to the workforce overall. Most new developers identify as web developers, with sizeable proportions who develop for desktop and mobile.
We can look beyond the overall distribution to compare the population of new developers to their more experienced counterparts; this allows us to see how developers at the beginning of their careers are different than those further along.
We see some related shifts here. New developers, those with less than one year of experience, are less likely than more experienced developers to identify as systems administrators and DevOps specialists. They are also less likely to work as DBAs. These newly-minted developers are more likely than more experienced developers to be working in graphics, as graphic designers and graphics programmers. They are also more likely to be working in my own fast-growing field of machine learning and data science. These choices made by software developers early in their careers are reflective of trends in the software industry as a whole; they are choosing to enter fields of the software industry that have lots of opportunities and are growing quickly. What kinds of salaries are developers early in their careers commanding, in different countries and different subfields?
DevOps specialists earn high salaries in many regions, as do developers working in data science, statistics, and machine learning. Developers working with embedded systems/devices are also earning high salaries as IoT technology becomes more important. These salaries for developers just beginning their careers are lower than the overall medians in this regions, just as we would expect.
Shifting undergraduate majors
As the software industry has changed and grown over the past several decades, the way that developers are trained in college has changed as well. We can explore what undergraduate major developers had when they were in school, and see how the proportions of various majors have changed. For example, computer science/software engineering is the most common undergraduate major for developers but the proportion of developers with that major has changed over time. For example, of developers who have 10 years of experience today, 54.6% have a CS major. Of developers who have less than 1 year of experience today (those new developers just entering the workforce), 48.8% have a CS major. The proportion has seen a modest drop, because more new developers today are choosing other undergraduate majors. Let's look at some of those trends. How does experience change with undergraduate major?
The differences here reflect changes in the way that people working with code have been educated over the past several decades. More developers with many years of experience have majors from fields like math, natural sciences, and non-CS engineering. (That would be where I fit, with my physics major!) As the software industry has grown and matured, new majors have been developed at universities like web development and IT; we see that more developers with few years of experience have majors like these. We can get significant insight about the paths people have taken to coding professionally here, and these kind of changes are continuing. My own field of data science is currently populated by a miscellaneous amalgamation of people with PhDs from exactly some of those same fields (statistics, natural sciences, social sciences), but universities are busily developing programs in data science. In the future, more data scientists will have this kind of specialized training. Another factor here is attrition from the field of software development. If, for example, people with CS degrees have low rates of leaving the field compared to other majors, we would see a higher proportion of more experienced developers with CS majors than new developers. That is in fact what we see in our survey respondents, as I noted at the beginning of this section. We also asked on this year's survey if a respondent was someone who used to be professional developer but was not anymore. This population in our survey was small, as you would expect, but of those who answered, we do see a modestly lower proportion of CS majors in this group compared to professional developers overall (about 10% lower). These comparisons show us that attrition as well as trends in training contribute to the overall composition of academic backgrounds in the software workforce.
Work and life
Next let's examine a few issues surrounding work and life, to see how new developers entering the workforce right now compare to more experienced individuals. When it comes to compensation and benefits (aside from base salary), what are most important to these types of individuals?
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. These were options where new developers gave significantly different answers than others; new developers were 50-60% 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. There are many benefits, like days off, annual bonus, and high-quality equipment that are about equally important to all developers, regardless of experience level.
We see here that there are not dramatic changes in how developers of different experience levels value job security. There is a modest trend in that developers who are newer to the field think job security is slightly more important than very experienced developers; the most experienced developers are the most relaxed about job security, but this is a pretty small effect. The raw data (anonymized and cleaned) from the 2017 Stack Overflow Developer Survey will be released on June 15, so soon you will be able to explore this complex, rich dataset for yourself!