The OReilly Software Development Salary Survey contained 72 questions about the respondents roles, tools, compensation, and demographic background. Over 5,000 software engineers, developers, and other professionals involved in programming participated in the survey, providing us with the opportunity to explore the software-development worldand the careers that propel itin great detail. Key findings include:
Salary estimates can be obtained from a model based on the survey data whose coefficients are mentioned throughout the report and repeated in full at the end. We hope you will learn something new (and useful!) from this report, and we encourage you to try plugging your own data points into the model.
You can take next years survey here.
Introduction
The first OReilly Software Development Salary Survey was conducted online using Google Forms. Between January and February 2016, 5,081 respondents submitted responses, from 51 countries and all 50 US states, from companies both large and small, and from a wide variety of industries. Respondents were mostly software developers, but other professionals who program also participated.
The median salary of the entire sample was $90,000 ($110,000 for US respondents only), with the middle half of all respondents earning between $60K and $125K. (The latter statistic is called the interquartile range (IQR)the middle 50%and is used to describe the salaries of particular subsets of the sample in the text below and in the accompanying graphs. The IQR is useful for showing the middle of the salary range without the distortion of outliers in the lowest and highest quartiles). Much of the variation in salary can be described using other variables gathered via the survey.
In addition to simply reporting the salaries of specific groups of respondents, such as those from a certain industry or who use a certain language, we also present coefficients corresponding to these groups from a simple, linear model based on the survey data. The coefficients are contribution components: by summing the coefficients corresponding to variables that apply to someone working in software development, we obtain an estimate for their salary. Note that not all variables get included in the model, since the method used to generate the model penalizes complexity to avoid overfitting and thus deems many variables insignificant. In each section we mention the relevant, significant coefficients, and at the end of the report we repeat those coefficients when we show the full model.
Note
In the horizontal bar charts throughout this report, we include the interquartile range (IQR) to show the middle 50% of respondents answers to questions such as salary. One quarter of the respondents has a salary below the displayed range, and one quarter has a salary above the displayed range.
A primary motivation for constructing a linear model is to clarify the relationship between salary and demographic/role-related variables when two variables are highly correlated. For example, Asian respondents tend to have less experience than other groups and also have a low median salary: $31K, about $80K less than US-based respondents. However, the model isolates the effects of the different variableswhen the model takes experience into account, the discrepancy between US and Asia salaries is halved.
We deliberately highlight effects with quotation marks to highlight a key point to keep in mind when interpreting these results: correlation does not imply causation. A classic example involves meetings: just because salary clearly rises with the weekly number of hours spent in meetings, dont expect to get a raise just by maneuvering to add meetings to your schedule! Keep in mind that the survey methodology does not support what may, intuitively, seem like reasonable assumptions of causation from even the strongest correlationstesting for causation is a difficult process at best.
We excluded managers and students from the model altogether as many of the features we think might help determine salary, such as language use, likely work differently, if at all, with these groups. We also exclude those working fewer than 30 hours per week.
Geography
One of the most basic pieces of information that has a strong effect on salary is geography. Most respondents were based in the US (61%), UK (7%), Canada (5%), Germany (4%), or Australia (2%); 26% were based in Europe. Thirty countries had at least 20 respondents in the sample, allowing for a more detailed view of salary by region. We should note that, even so, not every country is assigned a separate coefficient: coefficients are chosen for world regions (usually continents) or for countries where salaries vary greatly from those in other countries in the region. We also note that the positive and negative USD dollar amounts quoted as coefficients are only the beginning of a salary estimate: more coefficients will be added later on.
Salaries in Europe were particularly uneven, and the model assigned numerous coefficients to Europe. Northern/Western Europe tended to have higher salaries (+$17,443), while salaries in Switzerland (+$53,983) and the United Kingdom (+$25,782) were high enough to be given coefficients of their own. Developer salaries fall as we head into France (+$2,017), and further south into Spain, Portugal, Italy, Greece, and Turkey ($5,163). Eastern Europe had a coefficient of $14,804.