Why do you need so many engineers?
I keep hearing the same question over and over again, from people with different backgrounds and experiences.
Why does this company have so many engineers?
Disclaimer: I intentionally talk only about engineers
Although this subject has somehow already been discussed on several occasions, one important point is still missing - regardless of the size of the company, this question is still being asked!
I had a job where we were 3 engineers and I have still been asked the same question. It’s easy to explain why a bus line needs 3 drivers with 3 times shift for a 24 hours schedule, but it’s not very easy to explain why some X software needs 10 engineers working 8 hours a day.
What I’ve observed, that most of the times people wondering about this question have something in common
- They have not worked on large scale problems.
- They don’t find quality that important.
- They have strong expertise in one single domain and truly believe that their knowledge is enough for everything else.
- They believe that it is possible to build the same product in two days, but never tried doing so.
WhatsApp had around 35 engineers when they were acquired by Facebook and it’s not a small scale product. A software engineer from WhatsApp mentioned couple of techniques of how they achieved it. I’ll just use one of the quotes from the according article
“We expect the engineer to come in and spend their first week getting familiar with the language and learning to use the environment. If you hire smart people, they’ll be able to do that.”
So is the solution to hire smart people? Maybe. But sometimes it’s not about “smart” people, it’s just about people.
Let’s take a friendly, hypothetical example. Imagine someone asked you to brew a filter coffee. Your coffee ends up being really good and every day 100 million people ask for a coffee.
Infrastructure
- You need a place to store coffee beans, you need people taking care of the storage.
- You need to monitor the warehouse, to make sure the coffee beans are there and ready to be used.
- Your beans are unique and expensive, people will try to sneak into the storage and create a damage, you need security experts.
- You need people delivering beans from the warehouse to the coffee shop
- You need people who organize all the work.
- …
Domain
- You need people who understand how to organize delivered beans in the shop.
- You need people to brew a coffee.
- You need people to optimize the workflow, so that you can serve more customers in minimum time.
- You need people taking care of equipment and security in the shop.
- …
Application
- You need people to serve the coffee.
- You need people to design the shop and make sure that customers feel comfortable.
- …
Last but not least, you need to keep serving 100 million customers, acquire more and keep innovating and bringing new solutions.
I think the minimum number of people required to solve a problem really depends on the problem and on the people who work on it. Not everyone in the world is capable of solving every single problem, there is ome diversity of people and issues required to solve. With this diversity, sometimes you have to scale horizontally.