Are Promotion-Oriented Cultures Really That Bad?
I recently read a blog post by Zach Loyd that describes some of the problems inherent in Google’s promotion-oriented culture. To summarize:
Hard to align business incentives and individual incentives, because individuals focus on promotions rather than business outcomes. For example, a focus on “big new projects” that eventually get canceled rather than polishing existing projects.
As a result, anyone that truly cares about products is forced to sacrifice their personal career growth and compensation to some extent.
Too many “leads” on a project (because everyone wants to get “leadership credit”), resulting in a situation of “too many cooks in the kitchen”.
Time-wasting work such as unnecessary design documents and talks meant only to check boxes in a promo packet and justify a promotion.
I would agree with all these points, I have had a similar experience at the places I’ve worked at. These are really significant disadvantages. However, I don’t actually think the overall system is that bad. It’s easy to focus on the negatives of any system if you don’t provide an alternative, but we can’t just argue in the abstract–we have to pick some solution to pursue (recall Churchill’s quote about democracy). The difficulty in aligning incentives is inherent in any business (the “principal-agent problem”) and I don’t think is especially bad in this system compared to others. Additionally, I do think the “Google-style” promotion culture does have some advantages:
A formalized promotion process that wastes a lot of time also reduces bias/favoritism and promotes meritocracy. It’s hard to perfectly reduce overhead without sacrificing fairness.
While too much focus on “big new projects” is bad, too little is potentially even worse, and will lead to a business stagnating and becoming irrelevant. It may be correct to push strongly in the other direction just to avoid that risk.
Due to loss aversion and status quo bias, individual engineers may be too likely to focus on small, incremental changes. It is helpful to push them away from that to some extent. Of course, a balance must be struck.
Providing a framework for how to grow as an engineer is helpful for less-experienced engineers to know what to focus on. It may be “wasteful” in the short-run to have too many “leads” on a project, but if they all gain leadership experience and go on to use it on future projects in the long-run that could actually be a positive.
Zach doesn’t really discuss any alternatives, at least for larger organizations. He handwaves that startups should be able to “avoid promotion culture” without giving exact reasons why. I acknowledge that startups do inherently have an easier time of this–part of the reason is that the right culture for a startup is not the right culture for a big company! For startups it’s fine to have no promotion process. Everyone is kind of just an “engineer” and helps out with whatever needs to be done. There is an informal knowledge that some people are more experienced than others, and they tend to take on more leadership roles, but it doesn’t need to be codified. Part of the reason this works is people tend to stay at startups a short time, if you’re only there three years, you don’t really need a “promotion”, you will just get one when you switch jobs. After a few years, if the company wants to retain engineers they need to institute a promotion process to keep them from doing that. And that inevitably starts a march towards all the negatives discussed in Zach’s post.
One alternative is a more ad-hoc promotion system. This was kind of the norm before the rise of Big Tech in the early 2000s, which brought a meritocratic ideal to the workplace. In such a system your manager will determine almost unilaterally that you should be promoted. They then make a case to a few people (perhaps just their manager) and it goes through. This does have the advantage of avoiding a lot of the pitfalls of the “Google-style” system, since there is a lot less work for individuals and potentially different types of contributions can be recognized. But I think it’s pretty clear why this system fell out of favor. There is way too much room for bias and politics. Some managers may give out promotions much more easily than others. Individuals will jockey to join those teams for that reason rather than the teams where their skills and interests match up best. I imagine in most startups with promotions the process goes this way, and it’s likely not as bad because the people making the decisions are familiar with most or all of the engineers at the company. But once it grows beyond that point a more formal process is necessary.
Another alternative is the “flat” organization, where everyone (at least individual engineers) is the same level. Netflix famously has had such a culture for many years, but recently they announced they are moving to a traditional level-based system. Part of the reason might be that it’s hard to hire from other companies because everyone else is using levels/titles. If you are a “Principal Engineer” you may not want to give that up to work at Netflix, even if the pay is good. In that sense the levels/promo culture is self-reinforcing. There are some other downsides too. In a flat culture everyone is inherently compared with everyone else (since there are still performance evaluations). This creates a lot more opportunity for conflict. If you have a team with levels, you could have one “staff engineer” leading a team, which is split into two halves each led by a “senior engineer”. Each of those then leads several junior engineers. This reduces conflict because everyone has their own area of purview. It’s more clear who is responsible for decisions at each level. Of course problems can still arise, but much less than if all 10 engineers were jockeying for the same position. For Netflix specifically they would only hire senior engineers, which limits the pool of candidates. Presumably a big reason why they switched is to make hiring easier in this competitive market.
That said, I do think promotion-oriented cultures could stand to be pared back somewhat. There is certainly value to be had in smaller improvements that add up over time. However that doesn’t necessarily mean doing the same thing every week should eventually lead to a promotion. Promotion inherently requires growth and improvement. That doesn’t have to mean doing a huge new thing, it could mean identifying the correct set of twenty small fixes that add the most customer value. The latter may take even more skill and experience to determine, so we should consider it a sign of growth as well (some companies do have a Solver/Fixer archetype to reflect these types of contributions).
In addition, Google has gone too far in the direction of fairness by having promotions evaluated by a committee that has no knowledge of the person in question. This results in far more time spent on preparing the packets than if they were actually aware. It would make more sense to include some people in the evaluation that work closely with the employee, who can give more insight into their work and why it merits promotion. It’s true that it would increase bias slightly, but I think it would be a worthwhile tradeoff. Currently the system encourages too much gamesmanship and time-wasting.
In the end, promotion-oriented culture might be the best of all possible terrible systems. But we could still make it a bit better, without losing its core identity.