You can fire 80% of software engineers, and the company will survive.

Victor Ronin on 2022-11-21

Photo by Eugene Tkachenko on Unsplash

The Pareto principle is “80% of consequences come from 20% of causes”. And as an extension of this, 80% of results are delivered by 20% of engineers. To be fair, there are a lot of caveats:

I look with horror at Twitter, where Elon Musk decided singlehandedly to test this hypothesis. Something like 50% of the staff was fired, and 25% quit on their accord.

However, there is a rub (one damn HUGE rub). You can’t fire random 80% or people who contribute the smallest amount of code or spend the shortest time in the office. None of these metrics realistically will show who is truly the company’s core.

BTW. Figuring out who is the core team is not that complicated. You just ask everybody to name five people who are doing well and who they want to work with again (in the next company). Then, sort employees by votes, and voila, at the top, you will get your true core team (which may not match perfectly to seniority, number of lines of code written, etc.).

This approach obviously wouldn’t work if people knew what would happen next. In such a case, you will find people creating cliques to vote each other up (circumventing the system).

Photo by Viacheslav Bublyk on Unsplash

And one last thing. The company that has deep enough pockets can survive tons of shit. If you wave a check big enough, you will find people willing to go through hell and back and who will drag the company forward. I believe this is a very important point. I felt that we (software engineers) sometimes have too big egos believing that if enough software engineers left, the company will fall apart. The reality is that (big) money can help navigate quite dire circumstances for companies.

And getting back to Twitter. Many people bash Musk for doing stupid things or sing praises for a brutal way to shake up a company and change it into something else. I am not smart enough to predict the future here. I can guarantee that what happened in Twitter significantly cut into the core team. Based on the news, the process was/is very blunt. On the other hand, Elon Musk (and Twitter) can dangle a big enough carrot to pursue a reasonable number of workaholics to stick around (and +hire some new ones) to move the company forward.

Post scriptum additions and caveats

There were so many good points and arguments that I will try to summarize them. This section was added after the article was published and got attention.

Arguments against Pareto Principle

There was a long discussion on Hacker News about this post. I think the main argument against it was a pushback to the Pareto principle based on analogies. You can’t cut 80% of a plane or you can’t let go 80% of doctors and still expect a hospital to function.

I think people who are writing this either never worked in big companies or have some rose glasses on. Most of the heavy lifting in software engineering is future looking. As a result, if you stop that, it may kill the company's future, but the company will still operate for some period of time normally. It’s very different from a plane or a hospital where all activities are very short-term bound and lead to immediate problems.

I think the better argument is about a discussion of Ops/DevOps which have way immediate impact on SaaS services (especially with microservices).

BTW. There were tons and tons of (indirect) attacks on Pareto principles in comments from all sides. However, I felt like none of it was big enough to challenge that main premise (vs. attacking some aspect of it).

Morality

I think some people assumed that I somehow subscribe to the view that firing 80% of engineers is the right thing to do.

I struggle with this one.

On the one hand, I don’t like it even one little bit. Firing (quite often half-randomly) tons of people when the market is going down is ruthless and doesn’t make me all warm and cozy. Throwing people’s life into a grinder on a whim is not my cup of tea.

On the other hand, again and again, I saw managers keeping people who should have been fired a long time ago. They do it to keep their team bigger, feel more important, and not go through the painful process of letting people go. I saw projects that went nowhere for years. I saw tons of time spent by the engineering department on some cargo cult. It’s incredible how all these things go away when you have no choice and have to cut to the bone.

However, finally, my feelings about morality don’t influence reality. I can complain about gravity as long as I want after falling, but it won’t change the laws of physics. The same here. I am trying to state a fact (vs. making a moral judgment).

Modern-day serfdom

People correctly pointed out that for H1B visa holders it will be really hard to leave and change jobs (especially taking into account that a lot of layoffs going on at the same time).

I haven’t thought about it. And frankly, this modern-day serfdom is despicable. I know that for people who came from India and China, it’s an incredible pain point.

BTW. Feel a bit ashamed not thinking about it, since I went through the H1B route too.

The argument against voting to figure out the core team

Several people pointed out that people will vote for their friends and won’t vote for core/effective engineers, because such engineers are not well-liked.

I think people have a wrong mental picture. Think about Google page rank (when it was released in the late 90s). I am proposing a light version of that.

Surely, there could be a couple of good friends, who will vote for each other. Oh well. They just got whooping 2–3 votes.

Usually, core engineers interact with tons of people across teams, departments, and so on. They worked on critical stuff and people come to them with questions and so on. Maybe if these people were complete jerks, they won’t get votes. However, if their social skills are barely ok, they will get enough votes across all of their connections to be higher on the list than just a couple of friends patting each other on the back.

All engineers will run away

I am amazed by the lack of imagination of what you can do when you have a couple of billions of dollars in your back pocket.

Let’s look at this https://www.levels.fyi/companies/twitter/salaries/software-engineer

Sr Staff engineer total comp median is $650k. What if you wave $1.2M check a year? I (42 y/o with 3 kids) won’t agree to drop everything and just make my life about Twitter. However, some 35 y/o without family, who already works there for 60 hours/week, may happily take on this offer.

Between H1B, workaholics, and people who really want to earn above the market rate, you will get enough people to keep the company afloat (while you figure out how much to charge for a blue twitter badge).

BTW. Doubling salaries for half of the 20% of employees who are left, still will cost less than paying salaries for the whole original staff.

On top of that, if you want you can hire a contracting company, and you can “borrow” software engineers from Space X and Tesla and probably a dozen of other things which I even can’t imagine.

BTW. I am not saying that it all works out and a glorious future awaits Twitter. All I am saying is that it’s not “Game over” for them.

P.S. If you enjoyed this article, please follow me on Medium or subscribe via email.