In these bigger companies it is very time consuming and difficult to fire someone. In some it is nearly impossible for a manager, and they can't replace the headcount until they do.
There's a real tradeoff between employment stability and managerial oversight in companies at scale.
> In these bigger companies it is very time consuming and difficult to fire someone.
Not at all, most of big tech literally has firing quotas... which combined with the typical incompetent/parasitic management means good engineers are fired and terrible ones stay on/get promoted.
Have you ever worked in big tech? They put you on a perform plan pressure you to quit and then let you go. It's one of the more easy things they have to do.
I've seen relatively small companies take 6 months to fire someone, simply because they "have" to follow policy and procedures. Document it. Put them on a PIP. Follow up. Document it. More meetings. Document it. Meanwhile, coworkers who know this is happening are getting more and more annoyed picking up slack for this person. It'd be cheaper to pay people to leave.
"Management one level above you wants to fire you" and "the CEO said anyone who ignores him is getting fired" are two very different grades of problem.
There's a real tradeoff between employment stability and managerial oversight in companies at scale.