Again, YMMV. I was hired as a UI SWE, told my manager (repeatedly) that I wanted to do more backend algorithmic work, eventually refused to do any more UI work, then taught myself enough about Google Search's backend systems that I became known as a full-stack engineer that knows everything. It probably delayed my promotion by about a year, but it was worth it, and it's not like anyone stopped me.
I'm now doing basically product-manager type work, despite officially being a SWE. Again, nobody stops me. I've found that if you're producing stuff of value, you can basically move into another role simply by doing the work entailed by that role. I know two other SWEs that are de-facto PMs, and one SRE who became a SWE (and core LLVM contributor in the process).
At google, you are thrust into a new environment, you are but a naked noogler, and your past a distant memory. Old, young, female, male, fat, skinny, likes sports, hates sports, prefers sushi, blah de dah, shut the hell up, no one gives a shit. It doesn't matter until you have proven yourself.
A lot of problems come from when nooglers expect the world to do their bidding, but have nothing to show for it. At the end of the day, profit matters, lines of code matter, cleaning up and maintaining code matter, how much you help your coworkers matter, these things lead to you creating new features, these things matter and increase profitability, but you wouldn't know which new shit to add if you didn't earn your licks. Do your job, then improve things around you while doing your job, then we talk.
Before I came to google, I was very successful, making kick ass fast, scalable systems, doing the job of many people, bringing glory to my managers but not to me.. Didn't matter though because for years I studied coding from what I would call masters, taking my licks, being humble and learning from anyone and anything. I didn't mention my past to my new team members at google.. Some of them ridiculed me at the first site of any minor bug I introduced, but inside I laughed like an insane hobo. The years of shit code I have refactored, bugs that drove me insane because they had to be fixed and no one else wanted or could tackle them.. I endured, so with a silent knowing I set out to rip apart the hearts of my naysayers with a blood curdling smile.
Now I'm being promoted while those who ridiculed me are not, they in fact respect me and head my advice, usually because when they don't, they get ridiculed when their code is the source of design problems.
What you did before google matters, not in how much you boast about it, but in that it gives you the skills to rise above the rest. Otherwise, you're just a blowhard talking about the olden' days that no one gives a shit about.
In that way, I have found that google is a meritocracy, with people challenging each other, making everyone better, and it's something I never got at a previous employer. Before google, employers just took advantage of me. So, yeah, I would defend google to the death and recommend it to anyone who isn't a whining wimp.
Google is a fascinating place. From what I gather, it used to be Valve-like back in the time when Google-culture was established. It was pretty much open allocation. You worked on what was interesting to you, and as long as you were achieving something, you were in good graces. Back then, I can see why people would get emotionally invested in such a place. Now it's just another corporation.
The problem, in the past couple years, is that it became a place where if you have an unethical manager, you're just screwed. He'll burn you before you can serve your 18 months and get away. But it seems pretty clear that if you get a good manager, Google is a pretty great place to work.
I'm now doing basically product-manager type work, despite officially being a SWE. Again, nobody stops me. I've found that if you're producing stuff of value, you can basically move into another role simply by doing the work entailed by that role. I know two other SWEs that are de-facto PMs, and one SRE who became a SWE (and core LLVM contributor in the process).