Why do software companies need thousands of engineers? Surely two people could put together a pretty good social network in six months?

As your product is used by more people, you will have to hire hundreds or thousands of engineers to invest in a few things:

  • Optimization. If your product is used by a billion users a day, every little improvement is worth staffing an engineering team for. If a perf team of 8 engineers improves latency of Google Search by 50ms, they have easily paid for themselves.
  • Security. The more users you have, the bigger target you are. The smallest vulnerability in your system will be exploited. Google and FB probably have a few dozen engineering teams working on various aspects of security.
  • Internal support. If you have thousands of engineers in your company, it can make sense to build special tools to make them more effective. If a DevTools team of 30 engineers makes your 2000 engineers 5% more effective, it has paid for itself many times over.