A lot of pointless processes, meetings, talks; people discussing architecture and implementation approach and then still not following the agreement. There is a lot of work constantly, hence most people only pay attention to their projects and is difficult to make other teams to provide vital services, endpoints, etc. (If you need something, you will most likely end up doing it yourself.) A bit chaotic management, sometimes lack of communication between teams. Multiple teams sometimes end up working on the same component, realizing only after such component is done, at which point it is too late to make it a library. Some people might also feel unfair about promotions, though this is roughly the same across all FAANG companies. Most of times it is easier to get hired as a higher level engineer than being promoted. Not that promotions would have any significant effect on the salary anyway (the increase is usually around 5-10% per level.)