One of the statistics we are most proud of at Facebook is our ratio of users to engineers.
When I joined the company in January of 2006, we had 5 million users being supported by
about 15 engineers, a ratio of about 300,000 users per engineer. We have more than
doubled the size of our engineering team every year since then, but our user growth has
far outpaced us. Today there are roughly 1.2 million users per engineer.
Facebook Engineering's
Notes
Notes About Facebook
Engineering
Browse Notes
Friends' Notes
Pages' Notes
My Notes
My Drafts
Notes About Me
Subscribe
Facebook Engineering's
Notes
Report
In the summer of 2008, as the engineering team was poised to pass Dunbar's number, we
decided to try something new to help us scale. Every new engineer that joined Facebook,
whether a recent college grad or a new director, would go through an intensive six week
program designed to immerse the new engineer into our code base, give greater flexibility
in choosing a project, and promote the types of habits that would allow us to scale up our
organization. That program is called Bootcamp.
The primary goal of Bootcamp is to get people up to speed on our all parts of our code base
while promoting good habits that we believe will pay dividends in the long term, such as
fearlessly fixing bugs as we come across them rather than leaving them for future
engineers. We have high expectations for our engineers and part of Bootcamp is making
sure those expectations are met. A small number of rotating senior engineers serve as
mentors and meet with the new engineers regularly to coach them on how to be more
effective at Facebook. The mentors review all the bootcampers' code and even hold office
hours to answer any basic questions that engineers might otherwise be too timid to ask.
Senior engineers from across the engineering team also give a bunch of tech talks on a
broad range of the technologies we use from MySQL and Memcache to CSS and Javascript.
Even with all this support, most bootcamp graduates agree that the most valuable part of
bootcamp is the tasks they are assigned. Engineers have real work assigned to them the
first time they open their laptops and many push code to the live site within their first week.
Whether it is fixing bugs from the live site, building internal tools, or making improvements
to our infrastructure, most bootcamp graduates agree that there is simply no better way to
learn than by diving into the code.
Bootcamp also helps educate engineers about the many opportunities at Facebook,
ensuring that they wind up on the teams and projects that they are most passionate about
and where they feel they can make the biggest impact. Instead of assigning engineers to
teams arbitrarily based on a small amount of interaction during interviews, bootcampers
choose the team they will join at the end of their six weeks. This gives them an opportunity
to meet with the various teams and even fix some bugs in the different code bases before
committing to join a team. They also have access to Facebook's strategic priorities so they
know where they will be able to have the largest impact and can weigh that against their
interests. We believe Engineers are at their most productive when they work on things they
are passionate about. Matching engineers with the teams that they are excited to join and
where they can have a big impact is one way of achieving that goal.
http://www.facebook.com/notes/facebook-engineering/facebook-engineering-bootcamp/177577963919 Page 1 of 4
Facebook Engineering Bootcamp 3/27/11 12:55 PM
The Bootcamp program, like most things at Facebook, is constantly evolving to better fit
our needs. Some of the improvements are just a matter of incorporating feedback we get
from the many talented engineers in Bootcamp at any given time. Perhaps more revealing
about the program, however, is the fact that many former graduates of the program have
returned as mentors to help improve the program that helped them when they first joined.
Together, we work hard to make sure that every engineer has all the tools, knowledge and
support to be able to hit the ground running and make changes that positively impact
hundreds of millions of users, whether it is your 1st week or your 201st like me.
Share
http://www.facebook.com/notes/facebook-engineering/facebook-engineering-bootcamp/177577963919 Page 2 of 4