Great place to learn and meet people, but not the place to stay in longer terms.
Pros
You get to work with many smart and skillful people. This helps a lot to move on your project, learn new things, and make global impact. Also I get to work on the largest computer system in the world and I can learn all sorts of practical problems in this area. Third is the free food and perks. Every lunch and dinner is the time to social w/ your friends/coworkers at Google and you have 15+ cafeterias to iterate!
Cons
The one frustrates me the most is the (lacking of) promotion opportunities. I don't think anyone who advanced well here has a balanced work-life style and I think the problem is worse for non-Eng jobs. In fact I think many people plan to leave for this reason when revenue starts turning sour and perks start to dis-appear. The second part is we have too many small projects lead by direction-less management or are duplicating efforts. This used to work well and small 20% projects may become core products. But now the company is no-longer a mid-size nor a startup, we need well-planned projects with clear directions that envision the next 3 years, not the next quarter.