To me, Google in many ways reflects the very academic background of its founders and senior employees. Larry & Sergey never worked in industry before Google -- they founded Google out of their project @ Stanford. The office is a campus, with cafeterias and layout like a university. Promotion and other things are done via committees like a graduate thesis committee. Design and planning is often about large documents and presentations like term papers or group assignments. When I worked in another product area there were poster sessions to present your work similar to what my wife had to do for some of her uni coursework. The interview process is like a test for your final year algorithms and data structures courses.
Its an environment that is immediately familiar to academics, researchers, and recent grads. At least that how it seems, to me, as someone self-taught who worked in smaller companies and startups for years before coming to Google.
Your manager can actually be helpful, but the process is byzantine. In my case, my promo committee approved my promo. However, at L6 there was an automatic review of all promos to that level by a 2nd committee. The review committee denied my promo. My manager came in at this point and lodged an appeal on my behalf to the review committee's decision. That appeal took the promo to a 3rd committee that ultimately approved it.
I did not know any of the details of what was happening. I only learned what happened in my 1:1 with my manager when he told me the whole story. He was so happy and proud of himself that he managed to help me get promoted. The sad thing is that this was the 1:1 where I told him that I was leaving for Netflix (much better offer due to non-monetary factors).
The truly kafka-esque part of this: Since promo at Google is a huge deal, and since you if you are hired back, you retain the level at which you departed at, I really wanted to leave as a L6. So I delayed my start at Netflix until my promo went through. I resigned effective a day after the effective promo date. However, in the HR system, the resignation cancelled the promo. So I had to jump through some hoops to get the promo re-instated. I know it went through, because I had friends check go/epitaphs and I eventually got my promo jacket..
(I realized after re-reading my comment that it was ambiguous; I didn't mean to suggest that your eventual yes would have turned into a no. I merely meant that the process to get there today would have been different, and hopefully more predictably efficient.)
EDIT: actually there is one hugely confidential scoop that certainly would have affected you and that I'm totally going to share with you. They no longer have promotion jackets. (Readers, these were lightweight zippered jackets or pullovers that read "Google Engineering" near the breast-pocket area. They were so understated that they triggered this sort of CrossFit reflex that compelled some wearers to tell everyone within earshot about them.) In the past couple years the company has tried to tone down promotion celebrations, at least in Tech, so many of the broadcasted congratulations are gone, along with the jackets. Fine with me -- promotion season is nice for those who get what they asked for, painful for those who didn't, and in either case something that should be private by default, like your salary.
Can I ask you about occurrences of fence post errors?
There was a very important eng who was basically a sole contributor on a difficult component in a system. He announced his retirement date well in advance, but after the bonus payout period. HR terminated him early, denying him the bonus and leaving the team to scramble and organize a mini-summit to do knowledge transfer. The team itself had no control over the date. I believe it was a similar company.
Arbitrators do not need to have any understanding of the law, and are notoriously employer-friendly.
I felt really bad that he went to bat for me for the promo.
I hope he said “no bonus, no knowledge” because that’s the only reasonable response!
Netflix is much faster to let people go (famous for no PIPs, etc). But I've never seen anybody shown the door with 0 warning.
Also, every company talks a big game about setting a high bar and only wanting the best performers, so if you want to accurately convey the notion that you really do set a high bar and really do only want the best performers, you have to overstate the point to a degree that sounds brutal or even sociopathic.
At Netflix, I get to contribute to an open source project that I'm passionate about (and which Google does not use). Netflix is also much smaller, and I had more impact at Netflix in my first 2 months than I did in my entire time at Google.
I should mention that Google was a fantastic place to work. I loved my co-workers, and I loved working for Google. Netflix just happened to be a much better fit for me.
Even skipping the complicated and pointless interview process, if I were offered a million a year I'd say no.
Googler here, speaking for myself.
Isn't what you describe literally the opposite of playing politics?
Except what does matter, and should be counted: your code, your design decisions, and the quality of your project output...
Brilliant jerks lower the morale and output of everyone around them.
I agree that promotion processes suck if they don't create room for understated high achievers, people who are just a little more shy or awkward or humble.
But focusing exclusively on individual output and ignoring more pathologic behaviors can lead to massive problems. And some team projects absolutely require communication as a core skill that influences overall output.
Someone else’s comment had it almost right: playing politics is anything you choose to do at work primarily for the purpose of making yourself look good to those you think have the power to promote or fire you.
So this idea of blindly sucking up to the promo committee doesn't happen. (And in practice I'd agree, everyone I've seen get promo deserved it).
And that's another thing that can't be decided by a committee where you go and play nice for a few hours...
Who decides what "good code is"? There is no gold standard for such defenition. Guess how that gets decided? Politics.
> your design decisions
In order to "get credit", how does anybody know your design decisions were the best? Hell, how do you even know it was the right move. Just like the code, there is no 100% correct design decisions. It's all trade offs. Knowing you chose the best path and more important trying to get credit for it is.... politics.
I mean, you had to convince people your design decisions were correct to get them implemented. That was political....
> and the quality of your project output
What does "quality" mean? Wanna define it? That is politics.
What does "project output" mean? Wanna define it? That, too, is politics.
Engineers always think they can avoid "politics". But politics is everywhere and is an unescapable feature of life. It isn't even a bad thing. Any time you have limited resources and people are in contention for those resources, you are gonna get politics.
Stop trying to avoid it and embrace it. Politics are part of every job if you want to be successful.
Hell, even attempting to convince people that they should ignore politics is itself a political move.
There doesn't have to be a "gold standard", just sensible experienced programmers doing code reviews, instead of office-politics-players and executive drones.
>In order to "get credit", how does anybody know your design decisions were the best? Hell, how do you even know it was the right move.
How about people with actual domain knowledge judge that?
All the rest of the comment is the same, as if any judgement of a project/code/design is impossible outside of "who likes whom" and "who kisses whose ass".
If that's the case where one works, they should get out pronto.
To be cynical, though, being successful with that kind of process requires knowing how to describe your accomplishments, what metrics to emphasize, and what projects are simply not worth spending time on because they won't scream "promote me!" during your review (even though they might be necessary & important).
It's still a human-based system. It's still vulnerable to nearly the same political bullshit you see elsewhere: cliques, favoritism, backstabbing, etc. Heck even your boss still affects your promo (there's a "private" section in the feedback you don't see). If you don't see this, then you're probably not getting promoted either.
Yet another friend, a brilliant, straight-talking techy, struggles at moving up the ranks Google.
Only one data point, but given the comments here, perhaps it is somewhat accurate.
Bonus is that these kind of jobs are often located outside of Silicon Valley, so your living costs will be much lower.
That is a pretty big "just". Bonuses aren't common everywhere, and unfortunately it seems like management being directly involved in the company can also go the other way. Since they have a larger incentive to short change you on salary as it is their own bottom line.
That said I think looking at the promotion structure is something underappreciated and should really be part of these "how to be successful" post rather than maxing out you credit card (or whatever).
If someone doesn't have the weaseling skills to weasel up the ladder at Google, they're going to be horribly exploited at a smaller company too
Easy to say but those "soul crushing meat grinders" can pay literally hundreds of thousands more in total annual comp than some dinky startup.
But some of us like to actually make things, and have a sense of purpose, and other things higher up on the Maslow's pyramid of needs. For them Google of 2019 is mostly not a good place, unless they end up on teams (and in positions on those teams) where they can do work that's meaningful to them, rather than copy proto buffers in some soon-to-be deprecated backend. Meaningful work is scarce there, and has been for at least the last decade, and a lot of people are competing for it.
In the grand scheme of things everybody is an inconsequential cog. You, me and everybody you know are average people who will grind away at whatever thing we happen do. You aren't gonna change the world. I'm not gonna change the world. Accept this and move on.
> Meaningful work is scarce there
"Meaningful work" is in the eye of the beholder. Learning to find joy in whatever task you are working on is an important skill to learn.
Being a very highly paid "inconsequential cog" at a mega-corp and working below market at some dinky startup can be the difference between actually affording to buy a house. It can mean you get to retire years earlier than you would have otherwise. It can mean putting your kids through a top notch education program. It buys you a lot of things.
Y’know, there is a whole world of companies out there that don’t depend on venture capital to survive...
same as it ever was.
And I'm sure even the worst at google are far from 'useless.' Figure of speech.
Edit: Possibly better than the alternative overall though. So frustrating to have competent people promoted as you're trying to put out a working product. Cancel those meetings and fix this code!
It's just the whole needing to give blunt assessments of underlings that may have consequences for their and their families livelihood that I'm not suited for.
But if your message is "it's better than elsewhere", then yes, it probably is.
Like a lot of jobs in tech, there is overlap. Managers can write code, and senior engineers can manage people if they want. Everyone needs at least some technical skills, and everyone needs at least some people skills. But the intent is to provide a good long-term path for people who want to focus more on one or the other.
If you are awesome only at cranking out code, you are stuck at L4.
In the end, I think it is the manager's job to motivate their people to present their work, but ultimately it is in the employee's interest.
My advice is to get used to having to present your work. Otherwise, you might end up doing a fantastic job and being disappointed when nobody notices that it was you who did it (probably resulting in promotions for people who didn't do as good as you did).
You're right that it's kind of pointless to "present your work afterward," and indeed, promotion committees at Google actually pay little attention to after-the-fact summaries of technical work. Instead, they look for artifacts of in-the-moment design and implementation discussions. This is the evidence showing that a given solution wasn't just one person's moment of inspired genius that he or she deigned to bestow upon the codebase, but rather the best of many possible solutions that the team chose, as a team, drawing on all the resources available such as literature, other projects past and present, the informed opinions of others in the field, the experience of senior engineers and former engineers now in management, the PMs who agree this solution achieves business goals, etc.
All too many junior engineers think a design document is "what we actually did." It's not. It's "why we picked the path we did, and why we rejected the alternatives." And yeah, as you say, nobody's going to care about what you actually did. That's kind of like being forced to look at a long series of selfies on Instagram. But they definitely will care if you asked their opinion which way to go at the start of the project, and later on they'll respect the fact that you consulted them and others on their area of expertise, because what you built has a little bit of them in it.
That's the difference between coding and engineering. Code is something that works. Engineering is the selecting the best of the possible working solutions, and being able to explain why it was the best.
Instead of a long term assessment of your work (and the real interactions within your team etc), it's how you represent it in a pitch that is measured... The most charismatic presenter (e.g. bullshit artist) wins.
The way to get promoted at Google seems to be to play a game where you tick all the boxes for performance at the next level and have the right people write for you. In some ways, that helps the company (working across teams, for example). In other ways, it may hurt the company (launching potentially redundant products is seen by committees as being more valuable than incrementally improving existing products). I think that a lot depends on who writes recommendations for you in your promo packet (and that's pure politics)
In my case, I was basically gathering requirements and helping other teams integrate with an internal product. So I was perfectly positioned for promo. I was an L5, and talking to a lot of senior folks in other teams (sr. staff, director, vp) who were willing to write for me. I'm pretty sure having a VP who knew me and could write about me really made the difference.
This is how it works at every company I’ve ever worked for. Companies don’t want to promote someone into a position where the outcome seems risky.
It sounds like that VP knew you because of the work you were doing, not because you bought him dinner or something. In that case, it's not pure politics, your work was apparently important and impacted a lot of people.
In this thread it sounds like a lot of people think promotion (and work performance in general) should be measured by purely technical contributions only, which is not realistic. That kind of work is important and makes sense for entry level work, but that's not how big projects get done.
But Google prides itself on being a meritocracy, when really it is just another case of "who you know" is as important as "what you know"
A system like you describe would seem to favour the employee who is adept at promoting her work. It also might disadvantage employees who are better performers than promoters. It would fail to detect employees who are poor or average performers but adept at covering that up.
Does the promotion committee consult with the manager?
A system like this suggests the company is concerned about favouritism and may not trust managers. It also suggests they may be willing to blindly trust self-promoting employees without knowing much about them.
How does the system account for high-performing employees that are too busy working to prepare presentations for promotion committees? Is there no such thing as an unsolicited promotion based on performance under this system?
Surely managers are reporting on the employees they manage. Assuming that includes any information on performance, then a system like this could allow the company to ignore the issue of rewarding high-performers with promotions, unless and until those employees came forward and presented to a promotion committee.
However a system like this does seem potentially beneficial for employees who feel they are undervalued by their manager.
I think maybe "high-performing employee", in this system, is simply defined at least in part as "one who prepares excellent presentations for promotion committees."
Even if the promotion keeps you at an IC, your responsibilities are still increasing, so I think most of those points stand.
Is that what is being promoted in a presentation to a promotion committee arguing that you individually should be promoted within the organization?
"... too busy to prepare an important presentation..."
Important to whom? You or the people you are working for?
I agree a system like this could filter for what we commonly recognise as "management qualities".
Although I am not sure they would be qualities such as selflessness and putting the needs of their reports and the organization ahead of their own aspirations.
It might also filter for self-serving behaviour.
The only question is who gets to level up, and it becomes a dancing chair competition with none of the participants having a direct say (managers will take feedback and do whatever they want with it).
For a small and growing company it’s not rare for higher ups to explicitely fish around for people to promote as they just need to grow the ranks. The bigger it becomes the harder the competition is.
I stayed at one company for 9 years and made only $7K more in year 9 than I made in year 2. I stuck around mostly because of side businesses that I was hoping would turn into full time businesses.
But I did learn my lesson. A company has exactly two years to at least get me to local market value.
Now being on the other side of the bell curve, after working for 5 companies over the last 10 years, I either have to settle with just cost of living raises or move into an area that I am qualified for but doesn’t really excite me - consulting (“digital transformation consultant”, “cloud consulting”, etc.)
It may be my sample size is very senior or very desired, I don't know.
Frugality is a core leadership principle at Amazon, after all, however misunderstood it may be.
Since the committee that promotes you don't know anything about your daily work, you're free to lie about your accomplishments, and the promotion essays I saw and were asked to endorse took credit for vastly more than the person had done.
What was really interesting to me about this was that although it did seem like a good way to avoid politics, what the original promo process actually did was incentivize fire-and-forget projects that would be more promotable if they touched as many other moving pieces as possible. This to me explains a lot of Google.
It is almost by definition more objective but there isn't evidence it achieves better results. It doesn't seem worth the cost; most people appreciate being treated like people.
What I don't understand is why so many small companies are eager to copy Google's interview process. It's not for them.
Perhaps this system works because it allows "climbers" to proceed up the ranks, ensuring they don't become resentful, while ensuring productive engineers get to stay productive?
They say that's not the case anymore. Entering year 7 without promo, so I'll let you know how it goes.
Wow, that's fairly presumptuous of you. Most software engineers make senior (L5) after they've worked in the industry for a few years.
Source: worked at Google and Facebook before.
Now I am 6 months into another team. I have a good manager on a good team who is unlikely to leave, and I'm on track to get promoted again.
It's also unclear what you mean by plugging away. If you make improvements to an existing system, you absolutely can get promoted. But on some scale, those improvements are probably viewable as a "new launch", so that's sort of tautological.