I’ve seen some phds with 3-4 years of experience being hired at L4 (starting phd level), some masters with 3-4 years of experience, sometimes even leading teams at previous companies at L3 and some experienced managers with 10 years of experience at L4.
Why do these people accept offers? Because although their level is lower, their comp is adjusted to the appropriate (higher end) of the level.
What you notice at Google is that projects and work are scoped to your level so that you can justify your promotion easily. So a PhD with 4 years of experience who’s completely capable of leading a project has to act as an individual contributor fulfilling others’ plans until they get promoted.
There are some exceptions but most people and teams in Google operate as though someone’s level defines their scope of work. Managers/TLs will often talk about how many LXs they have on the project and who is responsible for what kind of work.
So you have a ton of highly competent people hoping that their promotion will finally allow them to play at their true level and contribute in a way that will be rewarded.
A ton of such deserving candidates are passed over during promotion and this is very demoralizing. They still get paid handsomely so they don’t leave and continue to coast while looking for a better alternative (which is hard to come by).
Promos at Google are primarily about self-actualization. The comp is what prevents them from quitting and joining a startup.
I worked at Google for 10 years and didn't have more than a few minutes of job satisfaction and jumped from team to team hoping to eventually find a place where I could fit in and maybe get promotion. But I never went for promotion ever. The whole process looked meant to demoralize. I was clearly not a "culture fit" -- as they call it -- but somehow I soldiered on and nobody cared.
Until eventually, after 10 years of L4, it became clear me I had wasted 10 years of potential career progression because the money was (at least) twice as good as what I would have gotten in a smaller local company where I would have more impact and creative input. The rest of the industry was off doing other stuff, and my friends moving into lead and management jobs, while I putzed around moving protobufs (with just the right comments, indentation and stylistic flourishes) around Google's walled garden. Any interesting work was snatched up by others faster than you could get it.
Promotion level at Google is only loosely corelated with programming or engineering talent. It's a measure of political skill and motivation, and your ability or desire to thrive in a large organization.
Don't get me wrong, the money was excellent and my priority was feeding my family. But it wasn't "retire early" money, not without a lot of severe financial discipline and restraint anyways.
Google got lucky 15 years ago and managed to turn on an absolutely massive firehose of money in ads. Now Google hoovers up as much talent as they can in hopes that they'll strike it lucky and turn on a second or third revenue faucet. But spoiler alert: they never will. So they have to settle for attempting to starve potential competition of talent.
Plus, at Google in particular, you have to make them aware of your OSS work and go through the motions of getting the licensing set up so either they own it or you get permission.
I worked at Google for a while. I started there at 50% more than my previous compensation, but two steps down in terms of responsibility. After a couple of years of my manager saying that I'd be ready to apply for promo when the current project finished and watching projects fly by, I started shopping my resume around.
Google and other FAANGs pay very well, so it's not surprising they can hire PhDs but I sometimes wonder about the negative effects of vacuuming up so many research level people and having them do very mundane work.
I guess you could switch the process to "promo after N years of not being fired at your current level" but that seems even worse.
Ex googler here, and when I was there 4 years ago this was true of L3 and L4. My entire team was L3's and L4's. We spent literally all of our time on projects with no meaningful impact on the company, but that made for promo packets.
6 engineers focused on rewriting the form to input credit cards on YouTube for 3 years. Completely insane.
That’s very inaccurate. Some of us use Ritalin instead.
The saddest part about the ladder is that it's not even fun. In academia, our ladder has fun names, and on each level you get to dress up in a different outfit that gets more elaborate the higher you climb on the ladder, which is basically the driving concept behind every MMO ever made, so that's cool. The whole promotion culminates in a parade and a blessing from the church elders, I mean University leadership.
At Google, they creatively dubbed the levels "L1-L10", and there's no outfit or parades. I assume they throw you a party or something at least? With cake?
jk
If you need to ask, promo parties were suspended with the lockdown, but I guess they are gonna come back in style
Upside was that many of us just said screw it and focused on the work. Downside was that many said screw it and went to other companies where they could at least grok the ladder.
Can you explain how this gets them promos? I feel like a promo-focused culture would result in 6 engineers creating a new server-side rendering framework so that they can improve credit card input rendering speed - possibly equally useless, but much more work.
We didn't create our own, but we did migrate our codebase to a new server-side rendering framework twice in my time there.
Also, nobody on our team ever got promoted.
at the scale of Google I'm not sure I would consider that useless. But it would definitely feel useless.
Here's a blog post explaining their approach:
https://www.daily.co/blog/rethinking-levels-promotions-and-s...
Maybe it's not possible to switch from a cutthroat promotion-oriented environment to this, but it's worth thinking about for anyone building up a software engineering workplace.
I guess the main question that comes to mind is “why would a strong-performing, early-in-career engineer want to join?”
In other words, aren’t you capping junior hires to come from the bottom ~60%?
You are going to have a distribution of high and low performers at all levels of experience. If you pay all the senior people the same, you have less money to pay your high performers. And maybe they go get that pay from elsewhere.
There's a difference between having 20 years of experience and one year of experience 20 times.
I don't know if it's always true for people, but my performance goes up and down quite a lot depending on how much I believe in the group mission and the group dynamic. I'll occasionally stay late working for some abstract metric that might impact 10% of my pay, but I'll stay up 48 hours working fanatically to make something work for my friends and co-workers and the dream of success in changing the world that the group is striving for together.
And if that filters out the people that only do software for a princely salary, leaving the people motivated to transform the world for the better, so much the better. Greedy people are a bit demotivating to work with.
This is an awful idea.
Rewarding individuals based on the group outcome is a great way to drive rockstars away from the team. Why would any high performer want to anchor themselves to lower performing team members? That is a surefire way to get a lower bonus. Why would I volunteer to take on a crummy or particularly hard task when I can just hope someone else does it and I reap the rewards?
> I don't know if it's always true for people, but my performance goes up and down quite a lot depending on how much I believe in the group mission and the group dynamic. I'll occasionally stay late working for some abstract metric that might impact 10% of my pay, but I'll stay up 48 hours working fanatically to make something work for my friends and co-workers and the dream of success in changing the world that the group is striving for together.
Peoples' performance changes for every reason under the sun from "I decided to stay out late and drink on a Wednesday" to "my boss is an asshole" to "I just don't feel like working today". Personally, I want control over my own destiny and my own bonus. I don't want to feel obligated to push myself harder for someone else's bonus. And just the same, I don't want someone else's shortcomings to tank my bonus.
The actual answer here is to make sure that your review process accounts for how individuals impact the group dynamic.
> And if that filters out the people that only do software for a princely salary, leaving the people motivated to transform the world for the better, so much the better. Greedy people are a bit demotivating to work with.
This is a super ignorant take.
Any person who has a family and works to support them wants to provide the best they can for their family. That's not greed. Kids are fucking expensive by themselves, let alone trying to send them to college.
When you are on a team that is committed to the success of a project or a real thing in the world, rather than hoping for a bonus, you help everyone on the team at each step of the process. If you enjoy the work you are doing, you'll enjoy the hard tasks; even the tedious tasks take on a certain type of satisfaction in a good job.
A team where people are sitting around for others to take action is not a good team or a good job. I encourage you to raise your standards.
>Rewarding individuals based on the group outcome is a great way to drive rockstars away from the team.
I don't care how many rockstars are on a team, I care if the team is transforming the world into a better place, is helping the company and humanity make the transition to "everything is software and networked" a thrilling transition. If someone is slower mentally but has a vision of a better world that the team is making happen, then they will probably move the team towards delivering on that vision than some smart but Blind obsessed person that wants the "FIRE" crap. Also, valuing money over all means your team will fall into traps like accounting irregularities more easily - lacking a sense of values outside of economic gain means the team will fall into things like the Enron mess or https://www.washingtonpost.com/archive/business/2005/03/22/t... or the various shady ad selling schemes or privacy selling schemes so common these days.
I've worked with teams where most people love the work and love the outcome of the work on the world, and I've worked where people are beset with visions of becoming some sort of rich software engineering lord, and it's a lot more fun in the former case.
People that want families and is supporting them are not doing software only for a princely salary. The thing that's awesome about a software career and families is that the demand for engineers means you can afford to insist on the flexibility and time-off needed by the family, and still get a livable salary.
I wouldn't inherently mind explicitly tieing individual performance to (small) team level performance. In practice this often happens when management looks at performance holistically anyway.
I think it is primarily people who find a strong sense of identity in work and careers that think this way. For many, their passions lie outside of work and they do indeed want to maximize their value and time so that they can focus on things they care about.
So to say filtering out "greedy people" is quite demeaning IMO.
People are motivated by more than money. Mastery, autonomy, and purpose come to mind.
But consider that Daily is fully remote, hires globally paying SV-level salaries, doesn't do whiteboard torture interviews, and has an interesting product space where you can make a visible impact. I'd imagine this combination would be appealing to early-career people, especially if they don't live in a FAANG hiring market or aren't set on acquiring that kind of résumé.
> The way we’ve set up our levels, people in the early stages of their careers can get bigger titles and raises more quickly at other orgs than they can at Daily. This will likely be a deterrent to some early-stage candidates, but we are ok with that for now. While we are excited to bring in early-career people once we have the structure to support them, we aren’t there yet, and probably won’t be for a while. We don’t want to make the mistake of hiring high-potential people we then under-serve, especially if they’re from groups typically excluded from tech.
Why do you think you need the top 40%?
At scale it encourages coasting and not doing much until your manager moves on for whatever reason and you have a window into moving up. It also means the Peter principle is in competition with getting promoted while not being very competent.
I think there are specific fields and job where it’s a decent approach, but not at scale and not with salaries tied to promotions.
Whereas at early-stage startups, the only way to really make a lot of money is to grow the pie, which usually involves serving customers better.
Now that there are so many well-funded startups (https://topstartups.io/) there are more paths to escape the promo BS and still make a great living
That's probably where Bay Area housing inflation has an effect - houses that used to be affordable to "normal" engineers are now only affordable to staff engineers. Tech companies are hiring more and more people scrambling for a fixed supply of housing. Of course it's dystopian!
L3: $192,064
L4: $268,758
L5: $358,423
L6: $502,465 (!)
Is this juvenile? https://www.reddit.com/r/ProgrammerHumor/comments/ud3vhp/pro...
A bit of this helps. https://www.youtube.com/watch?v=d3hAnAnJwyU
There's a number of other ways of varying risk/time/shadiness tradeoffs. Start VC fund, have $1B exit, cash out $70M carry in 7 years. Start hedge fund, raise $300M, earn 12% returns for 7 years, cash out $70M carry on $360M profits. Find a DeFi exploit, hack Ethereum, earn $300M in a 10 seconds, hope the Feds don't catch you. Lever up on real estate, put 3.5% down on 100 $300K properties, turn $1M into $20M as they've gone up to $500K over the past year.
The worst case when you fail at a start up is years of lost time, money and health. And starting way behind others, should you(now that you are out of money, wouldn't you?) start a a job again.
The term mediocre is loosely used there, pretty much every one who starts a company fails, and thereby ends up being mediocre compared to a person working a job.
Salaried jobs have a better path to financial success than a start up, for nearly all the people.
At the end of 2008 I had to add 3 more zero's so a trader could be paid their bonus.
>I guess you could switch the process to "promo after N years of not being fired at your current level" but that seems even worse.
Though, If you do this you will have a culture where people are scared all the time and don't feel any job security.
Some L4s can make more than L6s.
What is bonkers is that you can care about levels so much - but pay is wildly disconnected.
What's the point behind putting all this effort into it when at the end of the day it means almost nothing?
At a company like Facebook, the difference between L4 and L6 is over $100k in salary, and $80k in stock (difference in 4 year refresh grant of $325k). $180k a year difference isn't almost nothing.
If there's a ~$180k difference between the average L6 and the average L4, and the bands are that wide - you have a lot of L4s making more than L6s.
If an L4 is "Exceeding Expectations" enough to get huge grants and bonuses, and an L4 is "Needing Improvement" enough to get terrible grants and bonuses... Why is the L4 an L4 and the L6 an L6?
Additionally, everyone has different (with big swings) of how much of their compensation comes from stock vs salary & bonus. When appreciation comes into play - this has large implications.
Additionally, people working between 2-4 years often make substantially more money than anyone else at the company in their current level.
No offense intended, but in your comment it comes off a bit selfish and bears the hallmarks of a classic archetype of terrible manager. I'd never willingly work for you. Being in management isn't for everyone, it's a people-focused domain. The whole job is about supporting the team and setting things up for successful outcomes.
There is nothing wrong with being an individual contributor. If your organization limits how far ICs can go, take this as a sign of toxicity and consider finding a higher quality organization to join.
Thanks for the feedback.
But, just to provide some context you're missing, I had someone promoted the last promo cycle without any mention of features or new products in her packet. It was entirely support work, tackling tech debt, etc, all of which was stuff she personally was passionate about, and which had led to her being passed over for promotion -for years- prior to my managing the team.
The incentive I'm working to create is "document your successes so we can ensure they're visible", not "focus on work that is by its nature highly visible", and, yes, definitely not "ignore the visibility of your work and rely entirely on your manager instead". It's no different than "maintain a brag sheet", except that I want them to be aware how that brag sheet feeds into the actual promo packet, and provides a common place for us to connect and discuss. If that means you'd never work for me...okay.
I'd be curious to understand what exactly you feel my points were, and why you think differently. I can't help but feel like I must be missing something or misunderstanding your comment.
Fortunately we're unlikely to ever collide in real life :). Again, I mean no disrespect. Genuinely would like to understand your point and see how it maps to higher overall team health and better output.
You've persuaded me. You don't sound bad at all, and I'm confident I'd actually like working with you, and I apologize for jumping to conclusions prematurely.
Note to self: Ask better questions first.
Best wishes~
I can't speak to how particular patterns have played out at Google, I just wanted originally to respond that the advice being given runs counter to my own lived experience at other places. Not to undermine the original post, just to say it may not apply universally.
>> moving the burden to the ICs means they will be incentivized to focus on Promo Packet instead of real work
Such has not been the case. In fact, I've had to repeatedly remind people to add things to their promo packet. The point is that documenting successes as they happen means they get to own their own visibility; I've walked into multiple teams where people chafed at being passed over, because their past managers didn't have suitable visibility on their successes, and so while the IC was like "I have achieved all these amazing things!", the manager was like "I can't make a strong enough case for them", and the net result was no promotion and poor morale. To fix that, I could either insert myself into everything to know who is doing what (slowing everything down, taking away their feelings of autonomy, and taking up all my time in doing so), and still risk missing things, or I can ask individuals to maintain a brag sheet that I can then rework into something to submit at promo time. Every task has value on a promo packet now, not just those leadership cares about/remembers, and in practice it has meant people take work that grows and challenges them, rather than just work that has innately high visibility.
>> your comment you come off a bit selfish and bear the hallmarks of a classic archetype of terrible manager
I mean, you're entitled to your own read on it, but in my book a terrible manager is someone who insists on inserting themselves into every little thing rather than trusting their team, giving them autonomy, and instead spending their time looking for ways for the team to function better, while clearing out people/organization/process obstacles. I've had multiple people say I'm the best manager they've ever had, as well as one person memorably fighting back tears when I told them I'd gotten them promoted (with a packet they filled out, then I reworked, as mentioned above) after years of being passed over for doing work that wasn't high visibility. You mean no disrespect/no offense you say, but that's a hell of a follow up, that I 'come off as selfish and bear the hallmarks of a class archetype of a terrible manager'. I'm not sure how to say this politely, but if you want people to engage with you, you really need to learn how to not come across as offensive; just saying you don't mean to be doesn't really cut it.
>> The whole job is about supporting the team and setting things up for successful outcomes. There is nothing wrong with being an individual contributor. If your organization limits how far ICs can go, take this as a sign of toxicity and consider finding a higher quality organization to join.
All of this feels very much a non-sequitor; I have no idea what I said that you think this runs counter to (since I agree with every word of it), and so I disagree with the implication that this is a relevant argument.
(Also, fwiw, it's a non sequitur - I sat in Latin classes for 8 years and I still can't remember the conjugations well enough to explain why, but, long story short, it's a verb and so it doesn't obey the familiar rules of (even Latinate) English noun endings.)
((Also, that was a very classy and magnanimous response to a – speaking of the comment as distinct from its author – very classless and pusillanimous comment. Chapeau to you. I can't say I'd have managed the same myself.))
The best solution I found is the one you described: get people in the habit of incrementally building a case for how they contribute. Some people bought into this strategy and they benefited bc I became way more effective in advocating for them, not just at set times, but always. Some didn't, and they were constantly dis-satisfied with the company, and with me. I never was able to solve the issue for them before I resigned.
Thats a benefit to having ICs run their promo process.
Generally, I think freedom to have anyone drive an ICs promo process is better than forcing it to be one group or another. The IC might be best for it, or the manager might.
Regardless of who it is, the IC can work at gaming the system, that's just the nature of systems and abuse
So the GP comes on here, sharing a perfectly nice and candid opinion, and our friend sees the chance of a lifetime ("terrible manager", "would never work under you", "management isn't for everyone", "find a higher-quality organisation", etc). Simples.
Eventually you are left with an over the top expectation of what a promotion case looks like. As an engineer at a FAANG I recently moved out of a team where I had built a range of services and was close to PE, because I found that I was closing in on a point in my career where I was spending ~80% of my time on promotion oriented activity... which in turn means politics.
I agree that this seems positive, but you lose some things with this sort of change as well. ICs often have knowledge of their own performance that their managers don't, even when you're having highly effective 1-on-1s. You definitely don't want engineers spending huge amounts of time and energy selling themselves, but you probably do want them to at least a little bit!
And if people are doing work in an engineering organization that isn't backed by commits to some durable and versioned system, that is a huge red flag. They should probably not get promotions till they automate and make their work flow use version control. Even in the 90s this was true (the "install the OS on the new hardware" team would have things more automated than many "application dev" teams). Now in 2020s, the whole AZ should be in git and the change implementation procedure should be a variation on a big button that does "push master to n% of live; wait for monitor/validate scripts roll back or push more; repeat"
There should be some way for a manager to see what someone has accomplished by the artefacts they have left on the company systems.
It could be a blessing and a curse. Sometimes managers are rotated right before the next round of appraisals, and the new manager knows nothing about you or your contributions.
This turns into your annual (sometimes 6 monthly) review packet.
In engineering, you and/or your manager can decide to put you up for promotion.
In this case, your review turns into a "promo packet", and it is sent to a promotion committee who decides whether you are clearly operating at the next level.
A critical point is that your peer reviewers can see a 'P' next to your feedback request, so they know if you are up for promotion. In theory, promo feedback should match normal review feedback, but in practice promo feedback follows game theory dynamics.
Everyone else is eating the results of all that money-making in the many many cafes.
Actually, this is only true for SWEs. The money making at Google really runs on the insane hard work of its SREs and its data centre staff.
Google is absolutely bonkers when it comes to promotions. At every opportunity to provide feedback towards upper management, I had one consistent refrain:
Everyone needs to chill the f### out.
The stakes (seem) too high. The amount of time invested is too high. The amount of discussion, rehashing, tinkering, rejiggering, and calibration is just too high. It's off the charts how obsessed seemingly everyone is about it. It's off the charts how much company time was blown on it and psychological stress people were subjected to. IMHO, the process at Google doesn't need to be readjusted or tinkered with, but somehow de-escalated; like it needs to not be such a huge f'ing deal.
One positive development ~5 years ago is that promotion to levels L5 and below were mostly moved out of the IC's hands and into their manager's. Despite being a manager at the time (and creating more work for me), I thought this was great. It reduced the bias in the system from ICs writing up their own packets, which disadvantaged poor writers and poor self-promoters less. It got employees thinking less about promotion, since there was less they could control or do. There were other biases that crept up, but it helps the psychology of day-to-day life to not be stressing over the frantic ladder climb.