Pros
Working at Google, you have really smart co-workers. In the beginning it struck me that people quickly understood my ideas, something I wasn't used to from college. Another great advantage at Google is that it is very engineering driven. Generally, engineers are given enough of freedom to work on what they consider to be most important. The role of product managers is to help engineers figure out what that is and to help in communications, but ultimately engineers are making the decision. Being an engineer, I very much enjoy this and I think it makes a lot of sense given that engineers understand the technologies involved best.
Cons
A lot of the interesting problems and challenges have already been solved. In particular as a junior software engineer, you'll work on not so exciting tasks. Also, due to the fast growth of the company, the impact an individual makes is not as big as it used to be.