OK. But employee surveys consistently show that people working at these companies are highly satisfied. That doesn't mean you'd be satisfied there, but I don't see how you can say that they are not good companies to work for.
You have to consider what those surveys measure, i.e. people who WORK there, not people who HAVE worked there. Thing to remember about top-tier tech companies is that anyone who CAN get a job with them can also pretty easily get a job somewhere else. This means that people who are unsatisfied don't stay very long.
So would you say that comparatively low attrition combined with high self-reported satisfaction indicates that a company is a good place to work?