Slashdot Mirror


How Facebook Ships Code

Hugh Pickens writes "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 the 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 company this size is that there is no official QA group at Facebook but almost every employee is dogfooding the product every day."

5 of 314 comments (clear)

  1. No access controls? by choongiri · · Score: 4, Insightful

    After boot camp, all engineers get access to live DB

    So anyone who's ever worked at FB as an engineer will have likely downloaded copies of all their friends' / family's / ex-girlfriends' inboxes, chat history, etc.

    Not surprising really.

  2. Same old tune by trollertron3000 · · Score: 5, Insightful

    We get to read this story every few years. Some company makes a popular product and all of a sudden they are the authority on development. News flash guys, enterprise software wasn't just invented and we've been rolling out features to millions of people for years. In environments where any discrepancy can lead to serious legal repercussions. So just for a second, hear us out. We know what we're doing and we don't need to reinvent it every few years because the guys from Facebook, Basecamp, Hacker news, or any other place said we're doing it wrong. Our bottom line and years of quality deliveries say we're doing it right. What do these guys have besides a history of rolling out mistakes? Their value is based on hype, not their code quality. Some of us don't have the luxury to make huge mistakes and have our customers be okay with it.

    --
    Tiger Blooded Bi-Winning Machine
  3. Re:no process by ScentCone · · Score: 4, Insightful

    It's astonishing that they can keep such a process rolling with 500 engineers, let alone 200

    I'm always curious about this expression, which - just like "I could care less" in place of "I could not care less" - is the opposite of what's meant. Surely, 200 would be astonishing, let alone 500.

    --
    Don't disappoint your bird dog. Go to the range.
  4. Re:Programmers != Engineers by mini+me · · Score: 4, Insightful

    Engineer is defined as someone who designs, builds, and maintains.

    It has nothing to do with licensing, government accountability, code of ethics, accreditation, or anything else.

    It is not a cheap title, it is a description of the job. When they say Facebook engineer, we get a sense of what those employees are required to do; which extends beyond the role of just programming.

  5. Re:no process by NoSig · · Score: 4, Insightful

    It doesn't just sound silly, it's a crime against intelligence is what it is. I doubt it's a contraction like you say since "as if I could care less" is not something I've ever heard, while "I couldn't care less" is. It's just a bunch of people who don't know what they are saying that cut out the "not" because they don't understand how the sentence is supposed to work. That's like contracting "I don't like Hitler" to "I like Hitler". I guess by your reckoning it would be like contracting "as if I like Hitler" to "I like Hitler" which is just as stupid, but I still think it's the former.