Same thing for Twitter and all these other social media sites. How does Google have so many engineers yet so many failed products? It’s a narrow perspective to take on and a wrong one.
Actually the division of labour at large companies is impressive and it becomes apparent if you look at the amount of actual output from them.
These FAANG companies aren’t just building websites. They are managing larges amounts of complex infrastructure, because scaling the amount of engineers a company can have requires it.
They are designing incredibly complex products. Apple’s products are descriptively simple and don’t represent the amount of work required to get there.
They are maintaining and insane amount of code and ensuring it works reliably. It’s easy to point at the one day with the Google Maps SDK failure or the Facebook SDK failure while forgetting the many days there wasn’t one.
Lately they are investing in privacy and security, which is another huge effort that I think the public underestimates. It’s easy to ensure data is deleted in a database, but it’s a completely different problem to ensure that data is deleted across all your infrastructure and to ensure it stays that way while teams rapidly develop software.
Startups and smaller companies can compete with large behemoths because they are only focusing on one or two things (or should be). But when you focus on one thing you lose sight of how hard it is to focus on one thousand things.
Sure,they do some other cool stuff, are useful in other ways, but on the side really.
Same af really smart folks working in high frequency trading. Also wasted talent IMO
This single website is making billions of dollars in profits and used billions daily. It is good for us that Facebook have 10000 people working on this. Thanks to Facebook we have now flow, react, react-native, GraphQL, Redux, immutable.js, ReasonML, jest and create-react-app just to mention few things that were open sourced or worked by people hired by Facebook. No other company contributed as much to "boring front-end UI story"
The added value of all of that is dubious when you see the result from the creators themselves. The analogy "too many chefs in the kitchen" is pretty spot on. The front-end UI is not the back-end, it doesn't scale with the number of users, so when too many smart engineers work on it you see the result.
One-way bindings and isolation of effects help a lot.
Keep in mind that most most these engineers are paid for the fact that they don't work for another company that is perhaps competing with Facebook. They are given "sensible-looking" work to make them feel important and keep them busy (feel free to call this a "bullshit job" (https://en.wikipedia.org/w/index.php?title=Bullshit_Jobs&old... ) if you desire).
With software specifically, it feels very much like a case of too many chefs in the kitchen at this point. Just look at facebook trying to build one website with 10000 engineers. It's some of the most ridiculous bullshit and it's incredibly distracting even as an outside observer. There are clean and reusable patterns that solve problems for 99.9% of use cases, but most of the discussion and energy these days is spent rehashing the same boring front-end UI story over and over and over.
Sure, I can ignore all the noise on HN, et. al. if I want to get work done, but then I risk missing out on the occasional insight that can potentially give me an integer factor increase in productivity or product quality. As it currently stands, I have to wade through a cesspool of the same boring amateur concepts on a daily basis in order to find the rare fundamental insights that meaningfully move the state of the art forward.