Towards a theory of software developer job satisfaction and perceived productivity
Improving developer job satisfaction and productivity have been recognized as critical goals by many software companies and are a point of interest in recent company-led surveys. More satisfied developers would allow companies to attract and retain talent, while more productive developers could help reduce costs, increase profits, and improve product quality. Retaining talent is especially important because high turnover introduces challenges with software quality when important knowledge is lost. Productivity is also impacted as new developers have to learn the project landscape and existing developers have to spend time training them.
The research we presented in the paper aimed to understand and explain the relationship between job satisfaction and perceived productivity for software engineers. Our investigation was informed by seminal work in organizational psychology, where job satisfaction is widely accepted to be positively correlated with work performance. We built on this work to investigate which factors influence the relationship between developer satisfaction and perceived productivity in software engineering.
To develop our theory, we conducted a study in a large software company. The first author spent several months at the company observing and learning how different organizations within this company aimed to understand and measure developers’ productivity and their job satisfaction. The existing efforts in this company revealed that job and engineering tool satisfaction were often used as proxies for perceived productivity. However, not enough was known on how much satisfaction and productivity are related and which other work factors may influence job satisfaction and perceived productivity. Through our empirical investigation we identified the social and technical factors that impact job satisfaction and perceived productivity for software engineers, as well as the perceived importance of these factors. Furthermore, we uncovered the challenges developers face and their impact. Finally, we provided evidence of how the social and technical factors and work context impact the relationship between job satisfaction and perceived productivity, a relationship that was previously assumed or underexplored.
The paper contributes a theory that describes how overall job satisfaction and perceived productivity are related and articulates how factors and challenges may impact these constructs for particular developers and specific work contexts. Our theory suggests that improving one without paying attention to the other may be detrimental, and that many different social and technical factors may need to be addressed.