You can move around as you wish if you're a Real Googler. The Real Googler Line used to be Senior SWE; now it's somewhere between Senior and Staff. Staff are Real Googlers, and Seniors who are likely to make Staff are Real Googlers, but Seniors who are perceived as having plateaued are not.
If you're not a Real Googler, 20%T will be perceived as slacking off, and you're going to have a hard fight to get a transfer. Generally, it's hard to transfer unless you've had a recent promotion, so if you're not going to get promoted based on your current project, you might as well leave.
Ouch. Yeah, a friend of mine at G seems to be in this position.
Why do tech companies think that hitting a plateau is a bad thing? Someone who's not going to further advance and who is productive and happy should be allowed to remain happily churning stuff out, with no pressure to hit the next ranking, or be ousted, or be unable to move.
(I've seen some demotions at my company, which was basically recognition that "Okay, we want to keep you, and in the past we had to promote you to do that because of the fucked-up stuff that HR was forcing us to do. Here, have a lower position, and you get to keep your salary.")
My experience at Google is the opposite. I am friends with many Senior SWEs who have no interest in the next promotion and they do fine. They get paid well, get good bonuses, get to lead new projects, and so on. I'm also friends with people who are relatively new to Google that have made big (and small) moves inside the company.
In a company with 30,000 employees, some people are going to be unhappy. But the vast majority of people I interact with at Google are very happy. The biggest problem I face is the five minute wait for someone to make me a latte.
Wow, that's unfortunate too. Combined with your previous comments I have to assume that you were a long time googler. Can you tell us what it was like back in the day? I'm really curious how big companies change / devolve over time.
I wasn't at Google for very long, so my picture of its long-term trend has had to come from other people.
I think Google made several mistakes. First, the language issue. C++ is undoubtedly the right language for some of the work, but their language policy leaves a lot to be desired. A lot of systems that should be in a language like Scala or Python are in languages like C++ or Java. The problem isn't "bad languages", because C++ is not always bad; it's a very small language whitelist and an arrogant dismissal of "Other Languages" that goes up to the top. By the way, Python is nearly deprecated in production. It's used for some projects (such as Google's code review system) but generally the only people using Python for their day job are managers who still code, and then if their ideas take off they make other people implement them in C++. In reality, Google's mainly a C++/Java shop, with Java tolerated in the context of acquisitions.
A limited language white-list, coupled with a willingness to produce huge programs without modularity (Google's codebase is one monolith) produces something like this: http://michaelochurch.wordpress.com/2012/04/13/java-shop-pol... . This wasn't written about Google, and it's probably much less true of Google than of typical enterprise Java shops, but Google's not immune to the illnesses of the large-program mentality.
Ok, this sounds a bit like a religious war, but I think it's generally true that shops using Java and C++ for almost all of their development will very quickly get past the point where one person can have an independent impact-- especially on a 20% basis-- unless that person has above-normal political favor and can always end up on the right projects. Hence, politics. That said, Google was always a C++ shop at heart, and it didn't go to crap until late in its trajectory, so there has to be a lot more to the story. You can't really blame this on languages, or the culture would never have been good.
What I've heard is that the real change came in 2006-9, which is when Google hired a lot of executives from companies like Intel and Oracle, and they tracked a lot of shitty culture into the place. For example, "OKR" is an Intelism. This explanation sounds very plausible. What I was able to see, even in the short amount of time that I was there, was a top-down effort to concentrate power back in the hands of executives, at the expense of engineers. This would have been a creeping campaign, but Google+ turned it into a war.
The language issue was a "tyranny of past success" mistake. In 1998, using C++ for a high-performance service was the absolute right choice. In 2012, C++ still has a place but most new development should be in a language like Scala or Clojure.
The bigger mistake Google made was that it hired a bunch of executives from other companies and didn't tell them to wipe their feet off. So they polluted the place with horrible culture.
Finally, Google+. I don't want to get into too much detail there, but I'll mention that 90+ percent of engineers hate, if not the Real Names policy, the draconian enforcement of it. I don't think RN itself is the source of all the anger-- for some it is, but a lot who are on the bandwagon are mad about other things. I think it's a touch-point for a general sense of engineer disempowerment.
That said, Google is a huge company. If you end up on the right project, it's a really great place to be. I know people who've been there for 5+ years and couldn't be happier there, and there are a lot of cool projects the company is doing (although most of the good work is in MTV; I'd avoid applying to any other office). It has a lot to do with where you land and what alliances you're able to make in order to get the things you need.
This sounds like a mess. It's why I don't like working for anyone. Unless you play politics and please the right people, your livelihood will be limited.
You can move around as you wish if you're a Real Googler. The Real Googler Line used to be Senior SWE; now it's somewhere between Senior and Staff. Staff are Real Googlers, and Seniors who are likely to make Staff are Real Googlers, but Seniors who are perceived as having plateaued are not.
If you're not a Real Googler, 20%T will be perceived as slacking off, and you're going to have a hard fight to get a transfer. Generally, it's hard to transfer unless you've had a recent promotion, so if you're not going to get promoted based on your current project, you might as well leave.