Does Money Make You Happy?
It Would Appear So, According To The Last Two Stackoverflow Surveys.
Let’s find out what the data from the Stackoverflow 2019 & 2020 surveys shows us.
Does having more money make you happier? Does working in a good environment lead to earning a better salary in the end?
We will try to provide some elements of answers from the last two annual Stackoverflow surveys. This makes more than 100,000 developers having answered at least one of these two surveys.
Please check my GitHub to see detailed analysis and code.
1. Are job satisfaction and wage levels related?
| Salaries and satisfaction job by major chosen at the university
This graph shows that the satisfaction curve (in red) follows a similar trend to the wage levels when analysing the majors.
When the average wage is low, then so is satisfaction. As you can see, there are some exceptions such as in web or computer science. These exceptions do not contradict the trend, but show a bigger drop in average satisfaction when the average wage decreases a bit.
There is therefore among the users of StackOverflow, the same general evolution of salaries and satisfaction. It can also be noted that developers who have chosen a major in specialised IT fields such as the web have lower salaries than others.
| Salaries and satisfaction job by the highest level degree
The two graphics are very similar. Satisfaction rises when the level degree is high. In the same way, the salary is important when the level degree is high.
We can therefore understand why those who have chosen a Web major are paid less: because they have on average a level degree between associate (level_degree = 2) and bachelor (level_degree = 3).
There is, however, one exception which concerns the other major category. This category does not follow the same trend. While this category corresponds to a good average salary and fairly high satisfaction, on average it represents people with few qualifications. This can be explained by the great heterogeneity of this category, which may contain majors in history or psychology for example.
| Salaries and satisfaction job
As we can see, average salary and satisfaction do not follow exactly the same trend. We could have guessed this from the latest graphs. However, a real upward trend can be noticed when the job satisfaction exceeds 4 (4 being quite satisfied and 5 very satisfied).
We can therefore hypothesize that the link between job satisfaction and wage is especially true for people who are satisfied (a little or a lot).
And we know from the previous graph that a high level degree is linked with a high level of satisfaction.
| Salaries and satisfaction job by major (for masters or doctoral graduates)
The curves for average wages and average job satisfaction follow the same trend when the degree level is higher than or equal to the master’s degree.
Please check my GitHub to see detailed analysis and code.
2. What language and type of development to choose for a greater satisfaction?
To answer this question, we decided to divide the data into two categories: on the one hand very satisfied developers and on the other hand other developers (from fairly satisfied to very dissatisfied).
| Most popular langaguage by satisfaction
We can see that the volumes are not enormously different. In spite of this, we can already see that for example the Java language loses a place in the graph of the very satisfied.
| Most popular development type by satisfaction
We can notice, as for the graphics about the languages, that the volumes are not enormously different. In spite of this, we can already see that, for example, the Designer type loses a place in the graph of the very satisfied ones.
| Difference in satisfaction between the very satisfied and the others for languages and development types
Users of Java, PHP and SQL are much more present in the group of the least satisfied.
Back-end, application and full-stack developers are much more present in the group of the least satisfied.
Conversely, Bash/Shell/PowerShell, Python and Ruby users are much more present in the very satisfied group.
Data scientist or machine learning specialist, Senior executive/VP and Scientist are much more present in the very satisfied group.
Please check my GitHub to see detailed analysis and code.
3. What language and type of development to choose for a better pay?
To answer this question, we decided to divide the data into two categories: on the one hand, well-paid employees (above or equal to the average), and on the other hand, the lowest paid employees.
| Most popular langaguage by average salary
We can see that the volumes are not enormously different. In spite of this, we can already see that for example the Java and python languages lose a place in the graph of the good wages, but Python users are proportionally more numerous in the good pay group.
| Most popular type development by average salary
We can notice, as for the graphics about the languages, that the volumes are not enormously different. In spite of this, we can already see that, for example, the engineering manager appears 7th in the list of good salaries even though he was not even in the top 10 before.
| Difference in satisfaction between the very good wages and the others for languages and development types
Users of PHP, HTML/CSS and JavaScript are much more present in the group of the lowest paid people.
Front-end, mobile and QA or test developers are much more present in the group of the lowest paid people.
Conversely, Bash/Shell/PowerShell,Go and Python users are much more present in the best paid group.
Engineering manager, DevOps specialist and site reliability Engineer are much more present in the best paid group.
As we can see, there is some overlap between the unsatisfied and the unpaid (PHP users and front-end developers). On the other hand, there are also similarities between the very satisfied and the well paid (Bash/Shell/PowerShell and Python users).
Please check my GitHub to see detailed analysis and code.
4. Does starting to code young lead to a better career?
To assess the factors that are important when you start coding early, I chose to use a random forest regression model. This was the method that gave me the best results.
With 0.35, the model is not excellent but allows conclusions to be drawn
The model will allow us to understand the variables that are important in predicting an age of onset of coding. And so, this model will show which variables are related to the variable “1st year of coding”.
| Results of the model
The results show us three variables that stand out. The first year of coding is related to the number of years a person has to spend coding, the age of the person, and the salary.
The first two variables show that when you start coding early, you tend to continue coding throughout your life.
The third variable is interesting because it is the salary. This shows that there is a strong link between these two variables. And it can be assumed that those who started early have better wages.
| Average salary and first year coding
It can be noted that wages decrease on average when the age of first coding increases. However, there are a few exceptions for people who started late (after 40 years old). It can be presumed that these are people who had to learn how to code when they already had a good salary.
Please check my GitHub to see detailed analysis and code.
5. Is it money or satisfaction that sets North America apart from other parts of the world?
North America is known to have a very large number of highly qualified developers. We would like to know if the salary or satisfaction that best explains working in North America.
To evaluate this, I used a logistic regression model. This model predicts whether or not a person works in North America. Thus, this model will allow us to understand which variables are important to understand what makes working in North America special.
| Results of the model
The accuracy of the model is 57%, which makes it possible to estimate with sufficient confidence what is important in working in North America.
The variable that most explains working in North America is salary.
We can see that the size of the company (larger than elsewhere), age and satisfaction are also important criteria.
Please check my GitHub to see detailed analysis and code.
Conclusion
We have seen that there is a clear link between average wages and average job satisfaction.
We have seen that there is a clear link between average wages and average job satisfaction. This can be explained by the fact that assignments become more interesting over time, and the salary normally increases throughout the career.
However, we saw at the end that money better explained the age of first coding, and the fact of being in North America. Thus, money seems to be more of a driver than job satisfaction.
Please check my GitHub to see detailed analysis and code.
Thanks for reading!