Creating a metric based on some features
Indeed, there are methodologies that have been tested elsewhere, some with greater and less success.

I will propose one of them to build a prediction of job satisfaction, which you can then enter as an explanatory variable in a supervised model of employee resignation, whose methodology you can review in this tutorial with Python code that I did some time ago: HR analytics MVP

Methodology to generate a satisfaction level prediction: Deduce the importance of the variables from a score that represents the satisfaction declared by a subset of the members of your company

I think the best way to start doing a good MVP (minimum viable product) with which you can deliver relatively fast results having a result that incorporates elements of your company is one in which you derive the importance of the features from a dataset in which have your explanatory variables and a target with a declarative satisfaction survey made to the workers from which the score that is the variable explained was calculated. For this you must follow the following steps:

1.-You design a satisfaction survey that will be answered by the workers and that will allow you to calculate a Score from it. Here the important thing is that the design of the survey is as complete as possible, that the number of respondents allows you to draw conclusions at a statistical level and, most importantly, that of those who answer the survey have how to extract the raw data that allows you later deduce which are the most relevant variables. Here are some resources that can give you some ideas of how to generate the satisfaction level index

2.-Then, using that dataset generated in step 1, you can make a feature engineer and establish which variables have the greatest impact on the satisfaction declared by the workers.

3.-Solved the point 2 you can generate predictions on the score and apply your model to the future and with other workers of the same company.

Important: Whenever you run the prediction for the next period you should do a few satisfaction surveys in each iteration to confirm that the model is still valid and to use that data as a permanent retraining. In general, the model should be useful as long as the context of the company does not undergo major changes (mergers, significant deterioration of the work environment due to massive dismissals, etc.), since in such cases you should try to capture the short and long term effects of these shock

Although this methodology is a good starting point, it is omitting many things that are difficult to detect for a company because it corresponds to exogenous variables to it, such as:

a.- That the person changes his interests and / or goals in terms of career. Example: a software developer who wants to change the focus of his career towards a more commercial facet or another specialty such as Data Science or Data Engineer

b.-That the person change their objectives and / or prioritize them in their life. Example: A person who wants to begin to dedicate more time to his personal life because he went through a crisis with his partner

Here is an example of where they used that methodology: Mining the drivers of job satisfaction using algorithmic variable importance measures

PD: There are other lines of research that avoid extracting the satisfaction index from the direct query to the employee and occupy other variables such as equivalent income or time spent in the company as equivalent metric. It is not my favorite line, but here I leave an example of that: Using equivalent income as metric