This is trade-off that a company (and thee employee, too) has to make:
- does the company want to be able to easily get rid of "undesired"/"lazy" employees? For this option, it will likely have to pay bigger salaries.
- on the other hand, for the option to have job security, an employee will have to accept that the expected salary is lower, i.e. the company can save money on salaries, but cannot easily fire the employee.
this only applies to the very senior and experienced people, like staff+ engineers who are not easily replaceable + have so much knowledge that company will suffer if they leave.
the rest of your average tech worker who pushes jsons from front-end to backend does not have much leverage and is easily replaceable with new college grad with chatGPT
- does the company want to be able to easily get rid of "undesired"/"lazy" employees? For this option, it will likely have to pay bigger salaries.
- on the other hand, for the option to have job security, an employee will have to accept that the expected salary is lower, i.e. the company can save money on salaries, but cannot easily fire the employee.
Both are economically sensible solutions.