Avantages
Company still growing (and that's a bit of an understatement), both in its core businesses as well as in other businesses in which it is trying to become a major player. Sideways mobility between software engineering groups. The scale of its operations are amazing. For its size, it is still one of the best companies to work for. It is very well run. Perks. A culture that doesn't prohibit fun, and in some sense encourages it.
Inconvénients
Long hours: It depends on the individual, but it's easy to feel that you need to produce more and ending up selling yourself short. The work involves a lot of time wasting "archaeology" - sifting through wikis, code labs and other people's code figuring out what is the latest recommended way to do something that sounds boiler-plate and obvious, so it's easy to feel unproductive at times. Also, the availability of free food, gym, etc. on campus and the plenty of fun distractions on its corp network make it easy to spend more time there. Hard to be visible and make an impact. Visibility and Impact are the economy by which software engineers are measured, and they are becoming harder to come by. I feel that most joining now are likely to end up being just a number: average (in Google standards) impact and zero visibility, irrespective of how much of a rock star they were in their previous jobs. It's becoming more and more the target of lawsuits, which basically means that legal fees will continue to cut a larger share of its revenues. In general, operating margins have been decreasing, although they are still amazing. I'm not saying that legal fees are the reason for decreasing operating margins. Google is investing heavily (in new hires, acquisitions, etc) and any benefits from this spike in investment will take some time to catch up with the costs, and there is no guarantee that they ever will. I am a relatively recent (post-recession) hire, and after way over a year on the job I still feel that I am evaluating Google and wondering whether I can have a career here, which is not a good sign. Compared to previous jobs, I feel less recognized, having to work more, less proud of my work, and being more conscious on the effect that specific projects will have on my career instead of just doing what is right for the users/company. It is not that I am less smart/capable/experienced than others, it's just that the opportunities are less compared to someone who joined earlier. The work is not the most interesting I ever done, but it is OK and gives me the opportunity to expand my technical breadth. If this is all Google needs from me, then I am likely to move on, more sooner than later, and if this is a common experience of the relatively recent hires then the smartest and the brightest will not be flocking to Google anymore. Nothing particularly wrong with Google, I assume that's part of a company's normal progression from start-up to behemoth, and I still recommend giving Google a try, especially for new grads as it can be a good place to jump-start an engineering career. Just keep an eye on what you're getting out of your work and don't let the perks distract you from the bigger picture.