Pros
- Average level of engineers is very high. Not everyone is a superstar, but there are practically no "dummies". - Lots of interesting technologies to learn. Many things have been almost a revelation for me. - Management is generally competent and caring, but see below. - High transparency, especially of technology - can easily find and look at any code. Projects are usually well documented, removing unnecessary obstacles for learning. - Free food, shuttle rides to work, pretty generous vacation time.
Cons
- Work may be stressful - Promotion opportunities may be limited - You may start to feel strange: highly-qualified, competent... and just one "number" among others - Cramped cubicles - Since about a year ago, switching groups became much more difficult. I've been very happy at Google for the first 2-3 years (see "Pros"). The work could be demanding, but that was not bad, since demands were coming from other engineers eager to use my stuff and eager to report any problems, cooperate, etc. However, gradually I started to feel as if the company hires the best and brightest only to put them under a nice, but hard-working manager, whose task is to keep them busy at all times no matter what. That's where most of my work stress eventually started to come from - though maybe it was just my personal "luck". I had a feeling that despite creating several successful projects, other achievements and expertise in several areas, I am not officially allowed any time to contemplate what to do next and what may be the best thing for me (and the company). Instead, I just have to generate code and other signs of activity every hour. That was exacerbated by the fact that since summer 2010 engineers lost their privilege to freely switch work groups. You could only go where the upper management thought there is opportunity for the company. Again, that felt like less respect to the very people who, being so bright, are supposed to also sniff where the next useful thing really is. Eventually, I left for a job at a research lab. So far I am compensated less well overall, but I am much, much more happy (for now at least :-))