🏆 Promotion-based development

20 June 2022

While researching how to create a proper career path for employees and the different ways companies do promotions, I stumbled upon a term that got my attention — promotion-based development. Or, as I like to call it — optimizing for performance reviews.

It’s an interesting concept that boils down to figuring out what the managers at the company want and doing exactly that — for example if people get promoted when they start a new project. Hundreds of projects will be created just to get a promotion. If you get promoted by the number of bugs you fix, you start letting things break and be the hero who comes in and fixes them. It’s all about getting that corner office with a good view.

Promoting based on arbitrary criteria of meeting deadlines is a no-go

Imagine that you’ve just been promoted to be a technical manager and got yourself and a lovely development team of 10 people. You trust them; you give them autonomy. They’re free to do anything they want, as long as they’re moving the product forward — a mix of bugs, features, and refactoring should be expected, though. But you start noticing that people do only features. Why? They’re trying to maximize their visibility in the hope of getting a promotion. Building the next significant feature sounds more thrilling than refactoring the old legacy code, making it easier to maintain the application in the future.

This practice is why many tech giants have built many projects in-house instead of relying on open-source solutions that already solve their problems. Integrating an open-source tool is not “promotion-worthy.” From developer tools to monitoring tools to chat systems — all built in the pursuit of getting noticed and rewarded and eventually abandoned after some time.

Google had multiple teams working on several competing chat systems simultaneously, and they built 20 chat products in total over the last decades. Each team most likely got a promotion before a new team said, “We need to rework this. We can build it better,” and the cycle continued.

How to do promotions right then?

I don't know.

A promotion-oriented culture is one where an individual matters more than the collective. You will get promoted if you’re an effective presenter and are visible enough. So naturally, there is less focus on doing the work that needs to get done and more on doing the work with the most potential to be noticed.

It's hard to do promotions right when people are competing

On the other hand, performance-oriented culture measures how well you perform against overall business objectives and is not based on the internal competition of who built more features. It's still not a perfect system and can be gamed (e.g. if the performance review is about the number of calls you make instead of the $ revenue that you bring in).

I think startups have it figured out. The company’s survival is the primary focus, while getting a promotion is a second-class goal. So the incentives for everyone are aligned — if the startup succeeds, everyone profits from this. This is where profit-sharing is a handy tool. As long as all employees can benefit from the company’s overall success, then the employee’s efforts will be focused on the overall goals, not personal gain.

This puts everyone in the same boat and rowing in the same direction.

There’s also no “Promo-season” as in big corporations, where everyone is expected to be either promoted or not during a specific month. When you’re building a startup, you don’t think about politics or who to kiss ass about your promotion which should be planned for Q4 2022. You’re just doing your best and learning a bunch of new skills, and you know that if the company grows, you grow also.

Sadly over time, startups tend to drift towards big corporation promo-based development with people trying to squeeze the most out of the company for themselves. After you reach a specific size, there’s no way around it, the pie will be sliced, and everyone will try to get the bigger size.

Always building something new results in x + 1 new way of doing things.

I don’t think there’s any way you can avoid that. Still, we should try and reward engineers who consistently contribute to the quality of the product rather than flashy people who favor redoing something in a hundred new ways.

I would recommend reading this twitter thread about promotion-based culture.


Other Newsletter Issues: