Now this is a fascinating look at how one of the top tech businesses of our time does web dev:
The two largest teams at Facebook are Engineering and Ops, with roughly 400-500 team members each, together making up about 50% of the company.
All engineers go through 4 to 6 week “Boot Camp” training where they learn the Facebook system by fixing bugs.
After boot camp, all engineers get access to live DB and any engineer can modify any part of Facebook’s code base and check-in at-will so that engineers can modify specs mid-process, re-order work projects, and inject new feature ideas anytime.
Then arguments about whether or not a feature idea is worth doing or not generally get resolved by spending a week implementing it and then testing it on a sample of users, e.g., 1% of Nevada users. “All changes are reviewed by at least one person, and the system is easy for anyone else to look at and review your code even if you don’t invite them to,” writes yeegay. “It would take intentionally malicious behavior to get un-reviewed code in.”
What is interesting for a compnay this size is that there is no official QA group at Facebook but almost every employee is dogfooding the product every day.”
Now that’s pretty cool. It’s interesting how successful that particular culture and ecosystem of development has worked itself out.