Pros
Yes, the food is great and the 401k match is amazing. The base compensation is not top of market. I'd say it's average at best, but what really makes up for it are the bonuses, bonus multipliers and stock grants, which you get EVERY YEAR. That's right, EVERY YEAR you get more shares, not options, shares of stock which are currently above $550 each. Bonus multipliers when the company does well are nice. Everyone in the company got a bonus last quarter just because the company beat its own expectations. What has made Google really great are the brilliant minds that work there. Best machine learning people on the planet. Creator of the Python programming language. One of the authors of C. There are so many brilliant people at Google, and yet, the pecking order is pretty flat. When you start, you'll enter your Noogler class and be immediately overwhelmed since your class will have the top guys from Yahoo, IBM, Oracle and so forth with the same title as you - you'll wonder if you belong. Everybody you meet at Google will have been the best, most talented person at their previous organization. Somehow, Google has managed to preserve an open culture where people really aren't arrogant. I don't know where this "arrogant Google engineer" stereotype came from, because this is about as far from the truth as it gets. You will learn so many secrets it will blow your mind. The tools you have available are mind blowing. You get to dogfood and have your applications dogfooded internally long before they are released. 20% time exists! In reality it's never as sexy as working on Gmail, but if you have a passion, say, writing a MySQL client in Go, the new language Google released, go for it. Google engineers can take time to attend classes to improve themselves. Google invests a lot of money in career development for their employees. There's too much good stuff going on at Google to put down. I'm sure some of the other reviews will cover them.
Cons
It could suck for you if you are not a developer. If you are a developer, you never have to worry about things like squeezing out money from your products, but if you're anyone else the pressure is constantly on. The Mountain View office has the best vibe, and this vibe is missing from the other offices. Honestly, I don't care about this one but not all the fringe perks are as good as the media makes it out to be. Massages aren't free, you have to earn credits. You get one a year on your birthday and these are often given out as prizes for internal contests. Dry cleaning isn't free. Etc. You will be too busy to take advantage of all the perks. Base compensation is not great, but Google rarely lays people off. Google hires people that want to do a good job, so this isn't a place where if you have a bad quarter you are gone. You simply may be passed up for bonus, which will suck.