Why do big internet companies need thousands of "engineers"?


I'm just starting to learn rails myself but I was wondering why companies like FaceBook need 3000+ coders?


asked Jan 14 '11 at 12:27
Jason Glib
96 points

4 Answers


A product like Facebook simply requires a lot of people to build and maintain. Obviously you could create something that did a lot of similar stuff pretty quickly in Rails just with a couple of people, but there would be a phenomenal number of details that you'd miss out -- and it's those details that take up all the programmer time.

A recent example from my own experience -- we've built an online spreadsheet; it took us a month or so to put together something that calculates stuff. It's now taken another month just to get copy and paste working. Other seemingly-minor UI things will probably also take huge amounts of time.

And on top of all that, there's scalability. A site with 500 million users, all of whom need to see roughly the same view of your datastore, is incredibly hard to get right.

answered Jan 15 '11 at 01:29
Giles Thomas
1,540 points
  • "It's now taken another month just to get copy and paste working." - ouch! – Henry The Hengineer 12 years ago
  • Yup. Copy and paste for a spreadsheet sounds relatively easy until you start looking into it in depth... You wind up with tons of insane special case. What happens when A1 refers to A2 and you cut A2 and paste it somewhere else? Now, what happens when you copy it? What happens if, when you paste, you paste it to multiple cells so that it's duplicated? Unfortunately you just have to get all of this stuff right, as otherwise it just looks broken to any serious spreadsheet user :-( – Giles Thomas 12 years ago


I think it's for two reasons: (1) enterprise "drag", and (2) a small start-up application doesn't nearly cover the scope of operations of a large company. By #1, I mean things like bureaucracy, largely mediocre performance from people, supporting crappy "enterprisey" internal systems like time tracking, etc. By #2, I mean all the thousands of little details that go into making a business really work: financials, performance metrics, monitoring systems, HR systems, and on and on and on.

answered Jan 14 '11 at 14:26
21 points


Because they have investment $ to burn on lots of different projects. Small startups typically focus on one project and as task volume and diversity increases, more engineers (and types of engineers) are required to handle them. FB has come a long way since 2004. Why wouldn't they need lots and lots of engineers?

Btw, if you want to have an idea as to how many employees Facebook actually attempts to hire from overseas, see Here. These are based on official government filings. Salary info. and title variations are also available.

You can also find out more about the current facebook employee clime Here. Best way to answer your question is to look at job posting descriptions, find out what they're actually working on based on employee gossip, how software eng/coder positions are titled, and whether they are separated into different departments.

answered Jan 14 '11 at 12:30
Henry The Hengineer
4,316 points


Because it takes lots of engineering to keep a site as large as Facebook up and running :-)

This response to Twitter's head count by Jane Huang gives you some idea of the kind of things that need doing.

Think about operations for example. Facebook has over 30,000 servers to manage. Think about the issues involved in supporting that many machines...

answered Jan 15 '11 at 08:27
Adrian Howard
2,357 points
  • coders != engineers/tech support/system admins. The OP is talking about coders – Tim J 12 years ago
  • Deploying software, managing different releases over different geographic regions, managing the many expected hardware failures and failover, etc. etc. involves writing code. Lots and lots of code. – Adrian Howard 12 years ago

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics: