A lot of the cons below are projections of my experience at Google. Do a TON of research on the role you'll be applying for. Find people on LinkedIn. Scour reddit. Learn as much as you possibly can about what you'll be doing to try and prepare for what's to come.
* Your experience at Google will largely depend on your team and/or manager. If you join a bad team and/or a bad manager, you'll be in for a rough 12 months (the minimum amount of time that's usually required to transfer out.)
* ANYTHING you do or create outside of work is owned by Google, regardless of whether you used their resources or not to do it. This could be a HUGE issue for you if you contribute heavily to open-source and/or like to build side projects. Google's People Ops **do** look out for people doing this too.
* The compensation is okay depending on where you're coming from, but salary is practically non-negotiable (stock units are more flexible, though) and might not even be competitive depending on your area. Lots of funded startups and finance shops pay significantly better for the same level of experience. Additionally, compensation doesn't scale relative to growth. One could double their salary or more within the same amount of time it takes to get from mid-range to senior at Google.
* Almost everything that an engineer at Google uses on a daily basis is home-grown and maintained by other Googlers. Much of this tooling is incredibly complicated and takes months to warm up to. This could be a MAJOR brain drain to consider depending on your career path and/or whether you're thinking of staying at Google long-term. (That said, some of the tools were pretty good, though I usually preferred third-party alternatives for many of the others I worked with.)
* Most of the sexy projects that makes Google Google are in Mountain View, and if you really want to take your career at Google seriously, you'll eventually have to move out there. Living costs in the Bay are insane and show no signs of restoring sanity any time soon.
* Despite having all of the infrastructure to support it, remotely working is generally discouraged by most teams. That said, many, MANY meetings are done completely or partially with Hangouts and Google's solution for accessing internal resources from public endpoints is probably the best there is.
* Their interview process is generally terrible. Engineers at Google generally don't like to interview and/or provide feedback, so the interview experience for potential candidates varies wildly across the board. The process also takes a really long time. It took me about four months to get to the offer stage; apparently, that's normal there. (To put this into perspective, I've worked at places that took a week from cold start to signed offer; they can't possibly not be losing talent from these insane delays.)
* I don't remember seeing more people glued to their phone or laptop in a single workplace before coming here. It seems like almost everyone travels while glued to their phone here. It's maddening.
* Most interviews are focused almost entirely on technical merit. This makes it (much) more likely for engineers with strong technical skills but (very) weak social skills to make it through the cracks. If you're more outgoing and "extroverted," this might bother you. (It bothered me to no end.)
* There's lots of exciting work being done at Google, but more exciting work usually means even more operational work. A lot of extremely capable people get slotted into doing that sort of work. Do as much research as you can on your role to give you an idea of what you're getting into.
* Technical merit is placed above all else as an engineer. Because this is a significant determinant in promotion decisions, a lot of people spend a lot of time doing "complex and impactful" work at the expense of things like documentation or maintainability. As you might imagine, this leads to a lot of reinvented wheels and deprecation. (It doesn't help that every project seemingly *has* to have a name to it that might or might not have anything to do with the project that describes it.)
* Work-life balance HIGHLY depends on your team. In my experience, people at Google that spent a lot of time working after-hours did so on their own volition (for better or worse). Management never pressured me to work more than I wanted to; in fact, they've had to tell people to ease up!