Pros
-- Very smart and motivated engineers, best I saw in my career -- Cutting edge technology in many different fields (hardware, software, computer architecture, compilers, machine learning). You can work on many different things and learn many technologies
Cons
-- Culture of reporting work instead of actual doing work. Management likes to see tracking docs / slides / spreadsheets / dashboards to measure your progress. -- Often a majority of time is spent to make these reports, and less on actual work. It would be great to focus more on engineering and technical advancements, not on making colorful docs -- Low transparency. Many business details are hidden from the employees -- Some leads really micromanage you, which is especially tough when they are not even from your team! -- Work-life balance. Many people work on nights and weekends and others feel pressure to do that too. Difficult for someone with children / personal needs.