Google is different, because employees are hired on a whole-company basis, which I think is the right policy. It means there's a uniform hiring bar, instead of the typical big-company dynamic where hiring standards are relaxed to fill less desirable projects.
I agree with you that, in the typical company where one's immediate manager had to fight to make a slot/get budget, leaving at < 12 months is (with some exceptions) a bad behavior. I don't like the concept of "paying dues" but I think that returning the favor is appropriate.
It's important to note that not everyone will be able to do every job well, and some people will not be able to do some jobs at all. So while it is important that their ethics, personal drive to learn, and cooperation skills be top-notch, one has to be careful not to try to hire expert generalists, because one ends up with people who are neither true experts nor true generalists.
I think in Google's case, and I speak from an outsider's point of view, that Google tends to try to hire the experts at the expense of the generalists. Generalists, while less technically adept at any one task as experts (I was thinking of using the term specialist there), many times have more experience with communication, managing changes, and, hum, diplomacy.
Again, from the outside, Google looks like a regiment of special forces: each member individually highly competent, and together, when deployed appropriately, quite capable. But one would not expect them to be able to run an orphanage, or, to wrap up the analogy, have very good customer service.
Although, thinking of it, a regiment of special forces would be very effective at running orphanages, since the great majority of soldiers would feel very compassionate toward the children, and not many things would get in the way of them getting the resources needed to care for the kids properly. Not sure Googlers would do as well.
Or no? Perhaps you look at the fundamentals of algorithms, such as types of sorting, binary data operations, that sort of thing...
Either way, many people will not be able to know enough across the board to make the cut, who in one or two particularly focused areas may be quite talented, and there may be people who, having spent all their waking hours in the deep study of bits and bytes, pass all such tests with flying colors and who, once in the company, poison the well of goodness because of their inability or unwillingness to adapt to rapidly changing surroundings, because of their inability to endure tenaciously under, shall we say, difficult managerial arrangements, and because of their inability to genuinely care about the welfare of their peers, Google customers and clients, and Google investors, both in word and deed?
Perhaps this is not what happens, but, from the outside, as far as I can see (and I remember the pre-google days of Lycos, HotBot and metacrawlers) Google the Company behaves as one would expect a talented yet socially awkward and uncouth twenty-something; brash yet caring, uneven in his affections, vacillating between opposites, such as standing up for freedom and privacy one year, then chucking freedom and privacy to the wind the next for a sizable windfall. This person can charm yet irritate, seem brilliant in one area but somewhat novice in another.
This is how I see Google, and I see very little, standing on the outside as I am, that leads me to believe that there sill be change for the better anytime soon.
I'll do unpleasant work on occasion for a manager-- and more often to keep my own promises and see through projects I care about-- but managers who expect reports to subordinate their careers (rather than just doing a bit of work) and keep their heads down for 18 frickin' months are either entitled jerks or extortionists (depending on whether their attitude is subconscious or conscious).
Ideally a new engineer would get to choose their Google Counselor and they wouldn't be allowed to transfer to work for their counselor without finding a new counselor. If they didn't find a counselor within 2-3 months they could choose to attend "counselor speed dating" events where people who enjoy coaching and advising can show up and meet promising new googlers and take them under their wing. People who are really good, knowledgable and wise are often not only happy to mentor/coach others, but actually enjoy going out of their way to do so.
In the case of a conflict between an employee and manager (or tech lead) like you experienced, the counselor would act as an advocate for the employee and suss out the truth like a lawyer helps a defendant in prosecutorial proceedings where there is a clear asymmetry of power between the prosecution and defense (like federal cases); The counselor provides a system of checks and balances against the types of managers you've railed against in the past. Having been victim to such a manager myself several years ago, I know that such a mechanism is sorely needed as a company grows and certain poor managers become entrenched in a defensible position despite their toxicity to the organization.
You can find mentors, in the sense of people able to teach you things, and there are a lot of great people at Google, but there's nothing like what you described, and managers have unilateral power and the system seems to be described that way (project expediency, I assume).
A bad manager like the one you've described previously doesn't get a product done faster, cheaper and better. Quite the opposite actually.
This describes my son's experience at Google exactly. He is a computer engineer with strong software and chip level design experience. He sought and was offered a hardware design job at Google. When he got there he was given a job writing python scripts to manage hardware, not the same thing at all. When he tried to change jobs, he was told he had to wait 18 months, so he quit.
When I hire someone, I hire them to work on my project. If they immediately transfer, or get sniped by another project, that's a little rude. As a result, the general tone is that you "pay your dues" on the project you are hired on before you start thinking about transferring. I think a year and a half to two years is a good amount of time.
We're a cooperative, non-competitive development environment, so I can imagine that what is a "little rude" in our environment could be interpreted as highly aggressive in a more competitive environment like Google.