Great first job for software engineers, frustrating for more senior ones.
Pros
First and foremost, smart people. Overall I'm very impressed with the level of intelligence of just about everybody I worked with. Second, huge datasets, huge scale, huge opportunities. Google is the place to be for working at scale, period. The tools are great and there are limitless computing resources. Other stuff - it's still a fun environment, flexible work hours, flexible about projects to work on.
Cons
Lots of flexibility on what to work on, but the downside is that management controls the launch process. It's likely that your project may not be allowed to launch without several revisions. Engineers used to own most product decisions, but things have shifted towards product management and upper management. Nobody seems to own broad strategic decisions - there's a strategy vacuum in many product areas. Compensation is good, but obviously the equity situation doesn't compare to what you'd get at a proper startup. For this reason, entrepreneurs and people with big ideas are advised to look elsewhere if they have an appetite for risk / reward.