Facebook is very proud and vocal about its Bootcamp, which is a programme that every engineer, whether a fresh graduate or a seasoned manager, goes through in their first six weeks. After Bootcamp, the engineers head off to teams throughout the company, usually to the team they most want to join.
The first day of Bootcamp included a half-day of fairly in-depth presentations and workshops covering how to get set up developing at Facebook, an overview of getting from an idea to something that can be pushed out, an overview of how Facebook is put together architecturally, and an overview of the code layout of the Facebook web application.
It was fast (you’ll hear me say that word a lot, I imagine) and very suited to my preference of understanding the breadth of a system, and where to find out more about each component. It’s fairly amazing watching a few simple commands quickly make it possible for me to start working — productivity and automation are given a lot of attention here. By the end of the day, I felt fairly comfortable that I would be able to achieve one of the real-world tasks that were assigned to me.
Even this early on I can see how this process will likely forge strong relationships between a group of engineers that will ultimately end up spread across the various teams within Facebook, refreshing inter-team communication. Mentors and Bootcamp presenters offer a connection to the existing group of engineers, as do the members of their future teams.