How the coding experience impacts the preferences for a new job.

An Analysis based on the Stack Overflow 2017 Survey.

Nathalie
8 min readMay 16, 2021

Stack Overflow conducts a yearly survey on their website, where they collect information regarding programming languages, salary and job preferences from the developers. You can find the data of this survey on Kaggle.

I use these data to answer the following three questions that I am interested in:

1.What relates to career satisfaction?

2. Some respondents obviously think they are overpaid. What drives the impression that a respondents thinks he is either overpaid or underpaid?

3. Does a developer’s programming experience influences the reasons to apply for a certain job?

1. What relates to career satisfaction?

In this question I want to understand if there are some indicators that have an impact on the career satisfaction of a respondent. First, I will have a look how the career satisfaction is distributed. Career satisfaction can take on the values 0 to 10. The folowing figure shows that the majority of respondents gave a value of 7 or higher, which means that they are quite satisfied.

Next, I will take a closer look at how the average career satisfaction is distributed among variables such as the company type or the company size he is working in, the country, wheter a respondent programs as a hobby, whether a respondents works a lot from home or the formal education he has.

From the figures we can already gain some interesting insights such as:

  1. Those that program as a hobby and contribute to open source have a higher Career satisfaction.
  2. Furthermore, those who never work at home have the lowest career satisfaction.
  3. Respondents with a doctoral degree have the highest career satisfaction.
  4. According to employment status those that are already retired have the highest career satisfaction.

5. In State-owned companies the career satisfaction is lowest whereas in startup companies it is highest.

Does the country have an impact on careerSatisfaction? The country column has a large amount of different values and some contries only have a very small amount of respondents. If I take a look at the ten countries with the highest number of respondents I can see that there are major differences between the countries. Obviously, in India respondents are least satisfied whereas in Israel respondents have a very high level of satisfaction. This result suggests that the average salary in a country might impact the career satisfaction.

The above picture shows that India, France and Germany have the lowest job satisfaction and are also among the countries with the lowest salary. On the other hand, Israel, Canada and the US have the highest job satisfaction and are among the countries with the highest average salary. There seems to be a strong correlation between the average salary in a country and the career satisfaction. Calculation of the correlation coefficient (approx. 0.964 ) and

the left figure show that the average salary seems to impact the average career satisfaction in a certain country.

To better understand which input factors impact career satisfaction I next calculate the correlations between different quantitative variables.

Obviously the Job Satisfaction has the highest correlation with Career Satisfaction.

Next, I now want to predict the career satisfaction of a respondent. I use a linear regression model to predict the career satisfaction based on the four input variables Salary, HoursPerWeek, JobSatisfaction and StackOverflowSatisfaction. This model provides an R² of approx. 0.38. You can see on the left that for some respondents the prediction worked quite good whereas for others the prediction is very bad.
On average the difference between the actual value and the predicted value is approx. 1.1. The R² value could be improved by including some of the categorical columns in the prediction.

2. Some respondents obviously think they are overpaid. What drives the impression that a respondents thinks he is either overpaid or underpaid?

Some respondents have the impression that they are overpaid. What drives this impression? Is it just the salary or does the formal education or the flexibility to work outside of the office have an impact on the impression that a respondent thinks he is overpaid? Maybe even the country has an impact on the impression that a respondent thinks he is overpaid? In general not many respondents think they are overpaid:

Distribution of the Overpaid variable

I first have a look at how the salary impacts the impression of being overpaid. From the figure on the left we can see that respondents with a lower average income tend to think they are underpaid whereas respondents with higher average income think they are (somewhat) overpaid or neither/nor. Next, I form two new data sets. In the first one I filter those respondents that think they are overpaid or somewhat overpaid. In the other dataframe I have only respondents that think they are underpaid or somewhat underpaid. I compare both datasets with respect to the formal education:

We can see that, as expected, in almost all education level respondents that think they are overpaid have a higher average income level than those who think they are underpaid. Whereas for the highest education level, doctoral degree, average income for those that think they are overpaid is lower than for those that think they are underpaid.

Do respondents that think they are overpaid, work mostly from home as compared to other respondents? I compare the group of overpaid with the group of underpaid with respect to the HomeRemote column. The salary for those that think they are overpaid is always higher than for those that think they are underpaid but this is the case for all groups.

Regarding the country for respondents that think they are overpaid or somewhat overpaid average income is in all countries always (at least a bit) higher that for respondents that think they are underpaid or somewhat underpaid. In India, where average income is lowest, both respondent groups have very similar average income whereas in Germany or the US there is a hugh difference between the average income of both groups.

If we have a look at the proportion of the overpaid and underpaid respondents in each country we see that in some countries the proportion of respondents that think they are overpaid is a lot higer than in other countries.

3. Does a developer’s coding experience influence why he applies for a new job?

JobAssessOffice

To answer this question we need to take a closer look at the JobAssess variables and the YearsCodedJob variable. As you can see on the left side the JobAssess variables take on values from “Not at all important” to “Very Important”. After some transformation of the categorical values I check how the years of programming experince are distributed among the several JobAssess variables. We can see that some variables such as the importance for a certain industry when applying for a new job decreases with the years of coding experience whereas the importance for the compensation increases in the first 7.5 years of coding experience. Some variables do not show any anomalies with respect to the years of coding experience.

Next, I calculate the correlation matrix between different variables to see whether there are strong dependencies. You can see that the AssessJobIndustry has the highest correlation to YearsJobCoded but it is still quite weak.

Additionally, I am interested to understand, whether job security increases with the experience in the job. For this I will have a closer look at the variable JobSecurity (“Job security is important to me”).
I would expect that for more experienced developer the importance to find a job with a high job security increases.

“Job security is important to me”

Obviously the opposite is the case: job security is more important to developers that have less job experience than to very experienced developers.

Conclusion

We had a closer look at some questions on the Stack Overflow 2017 Survey. Some of the main findings are:

  1. Regarding career satisfaction we have some interesting findings: Those that program as a hobby and contribute to open source have a higher Career satisfaction. Furthermore, those who never work at home have the lowest career satisfaction. Respondents with a doctoral degree have the highest career satisfaction.According to employment status those that are already retired have the highest career satisfaction and in State-owned companies the career satisfaction is lowest whereas in startup companies it is highest.
  2. Respondents with a lower average income tend to think they are underpaid whereas respondents with higher average income think they are overpaid. Contrarily, for respondents with the highest education level, doctoral degree, average income for those that think they are overpaid is lower than for those that think they are underpaid.
  3. Job security is more important to developers that have less job experience than to very experienced developers. Additionally, the importance for a certain industry when applying for a new job decreases with the years of coding experience.

Note: More information can be found on my GitHub page.

--

--