Great culture, great perks, intellectually stimulating work
Pros
In order of importance: 1. A strong culture of creativity, innovation and avoiding unnecessary hierarchy, red tape and inertia. 2. Intellectually stimulating work. Even projects that sound boring at first become interesting when dealing with the challenges of doing them at Google scale. 3. Great perks. These make working at Google more fun, but also improve the culture. Free, really good food encourages teams to get away from their desks and eat together instead of just eating a boring, practical lunch at their desks. Various events such as ski trips are clearly designed to encourage people from different parts of the company to get to know each other. Tech talks are designed to create a culture of always learning instead of stagnating and becoming too settled in a small niche.
Cons
1. It's a big, established company. It's easy to feel like you're just a cog and will never have a big impact in it. 2. There's no well-defined career path, which doesn't bother me personally but might bother people with different personalities. 3. Language choice for performance critical code mostly limited to C++ or Java.