Pros
Almost all engineers at Google are extremely talented and a pleasure to work work. There are plenty of opportunities to work on challenging problems. The hardware and resources you can apply to those problems are unmatched anywhere else in the industry. Senior Google engineers get a lot of freedom in choosing what to work on and how to work on it; managers provide leadership and overall direction but micromanagement and design by committee is strongly discouraged. The perks are great too.
Cons
Working at Google can be stressful, especially during the first 6 months when you feel like you don't know anything compared to all the folks who have been there longer. The learning curve is long and steep. The environment has lots of distractions, since everyone is in shared offices or cubicles.