Pros
Chance to build stuff used by millions of people around the world. Very profitable company. Very little downside in the stock price. One of a very few companies that has opportunities across a wide range "geek cred" projects (e.g., compilers, kernels, VMs, database systems, dev tools, machine learning, games,...). Pay is very competive, particularly after you've been there 5+ years in a high (sr or principal band), and you have 5 years of stock grants vesting every year.
Cons
Very subjective review system. Lots of process - some necessary, but some is burdensome. Very competive environment - you need to bring your A-game, or you'll get passed by. You have to "manage your career" to get ahead - choose the right teams, right projects, ensure your personal visibility is high & your personal "brand" is positive.