Friday 5 August 2022

Why are software companies so big?

Twitter is ~7.5K employees. 

Zendesk is ~6K employees. 

Slack is ~2.5K employees. 

Zillow (Realestate online marketplace) is ~8K employees. 

Glassdoor probably over ~1K employees. 

Facebook - ~60K employees (!!!) 

Asana - ~1.6K employees 

Okta - ~5K employees

Twitch - ~15K employees

Zoom - ~7K employees.

I am saying all of these because many professionals agree that there are not enough talented people in the software industry, and I agree with that saying, yet how it can be solved when the current software companies are so huge?

Twitter size in 2009 - 29 employees according to a google search.

Whatsapp when it was sold to FB? 55 employees. They were much smaller when they already support hundreds of millions of users. 

All those companies still probably had large-scale issues back then,  uptime concerns, and much more - and all of that with 10+  year old technology! 



Yet they did perfectly fine back then, why now do they need to be in thousands of super expensive employees realm?

I will share my thoughts:

* The technology stack got much more larger and complex.

The amount of technology stack, libraries, frameworks, terminology, and programming languages got to a very high count. Not only that, the "uniformity" has become much worse - there is no single place that gathers all the tools you would need and explain to you how you should work and do things the right way. Even within the same framework, there isn't really a consensus on how should you do something the framework allows. This many times means that you have specialists that are familiar with some of the stack "quarks" and "bumps" that you need on your team, increasing the people amount. 

It also means tasks takes much longer, testing is becoming much more complex and so on. 

This theory might be right, yet I and my business partner managed to get vhop.io up and running quite fast, using tons of technologies and stacks, and while we did feel the issue with the technology stack very much so, I don't think we need thousands of people to maintain it. Just a few smart ones.  

* People are not talented/independent as before.

This is my main theory - the industry IMO got into some kind of low interest-rate/cheap money bubble. 

In the more small-scale section, it got entrepreneurs which do not have deep understanding of technology to raise tons of money - and wanting to develop the product very fast and keep growing raised an insane amount of employees (sometimes VC pressured them as well). Not really having a deep understanding of technology and how it's probably way too many people for the task, they kept growing with the inertia force.

In the more large-scale section, much of the cheap money was dumped into the stock market and tech companies. Those companies suddenly had money to spend - and mediocre managers, like they always have, when having the money must spend it until the end of the year - and what better way of spending money than to hire employees? 

This process in term caused a high demand for employees (probably artificial), which draws many people who before would not consider this software profession to actually work in it, which lowers the talent of the industry. The pool of people is probably finite, growing it basically means you must lower quality. 

Furthermore, even talented people, see the high demand for them in the industry and say to themself something in the realm "why to bother working hard? or learning new things? I just can chill and do whatever I want, worst case I am moving to another job".

This caused a very low quality of people in the industry - that makes for example solving a simple problem that would take a professional 30-60 mins or max a day or two and instead is being done in 1-3 months.

The high surge in demand for people causes companies to have a "no firing" policy, because they know it's very difficult to replace people.  

This leaves managers with no choice and enters them into a feedback loop when they must hire more to progress. 

It also makes concepts like "10x developers" scale much broader than 10x to probably even larger numbers. This with the fact the managers do not really know how to value/measure software employees that good, making them have to pay very bad performing employees a lot of money, while the much better ones almost never earn 10x the salary, and gives them zero incentive to stay that way. 

* We are doing stuff that we did not use to do before as much - Yes we are doing much more data science over the data for example, yes we have a larger scale for example, but we also have much more tools than before to achieve that, so I feel like this is a weak point. 


To conclude:

Many try to compare the possibly current tech bubble to the dot.com bubble in terms that there are "bullshit" companies that have no business.
This might be right for some cases, my point is that even the companies that are not bullshit, and 100% have a good business in their hands, are so big is unsustainable. Employees are a huge expense, and many times it also means equity in the company. 
The current bubble might be more about size and employees than other things IMO.

Google in the last few days admitted they probably have too many people for what they are trying to do: 

https://www.businessinsider.com/google-productivity-sundar-pichai-improved-ceo-2022-8

And in Google works really talented people (at least from my small pool of people I am familiar with), and for me, the rule is that if it happens in Google, other companies are probably in 10x worse shape. 




No comments:

Post a Comment