Abstract:
Having a rich human resource is critical for an organization to move towards success. Especially, for business organizations such as technology companies, the human resource is the driving factor of the company's growth which depends on employees' motivation, skills and quality of work. Employees often change their jobs when they are not satisfied with it. Different factors may cause a change in the level of job satisfaction of an employee. For example, the dynamic nature of the Information Technology (IT) industry is an impactful factor that determines the job satisfaction of IT professionals. Foreseeing the employees' job satisfaction makes it easy for a company to take swift actions to improve the job satisfaction of its employees. In this research, we analyzed the effectiveness of machine learning (ML) methods for predicting job satisfaction using employee job profiles. There are job-specific factors in each job domain, and those factors may influence job satisfaction levels. Therefore, this research focused on the following fundamental questions: 1) How do existing ML models perform when predicting job satisfaction of software developers? 2) Can the job satisfaction prediction models be generalized to the other job roles in the IT industry? This study compared the performance of classification models: Random Forest (RF), Logistic Regression (LR), Support Vector Machine (SVM), and Neural Network (NN) in predicting the level of job satisfaction. Our experiments used two benchmark datasets: Stack Overflow developer survey and IBM HR analytics dataset. The experimental analysis shows that both employee-related factors and company-related factors contribute similarly to predicting job satisfaction. On average, the above ML models predict the job satisfaction of software developers with an accuracy of around 79%.