Yee Lee(Skype 的一位产品经理)整理了大量笔记,详细描述了 Facebook 是如何发布代码的。Facebook 采用的是开发者驱动的文化,它由两支大的团队组成:工程师与运维。Facebook 里经理与工程师的比率平均在 1-7 到 1-10 之间。所有工程师都要经历新人训练营,期间他们修复错误,参加高级工程师的讲座。
一位工程师说到“产品经理在这里其实没什么用。”工程师可以在中期修改需求说明、重新安排项目中的工作,任何时间都可以注入新特性 […],很明显,Facebook 的文化很包容产品管理实践,因此产品管理的角色并没有被忽略或是省略掉。
就 Yee 看来,Facebook 公司的文化就是这样,每个人都感觉对产品负有责任。要有影响力的关键是和工程经理搞好关系。
工程师自己处理全部功能,从 JavaScript 到数据库代码。工程师还要负责测试、修正错误、对自己的工作进行上线后的维护。Facebook 也有 QA,但不是正式团队。实际上,所有的变更都强制要求做代码审查。一个 Facebook 的员工补充到:
大多数工程师都有能力写出没有错误的代码,只是在大多数公司里他们没有这个动力,当有 QA 部门时,只要把简单地代码扔给它们去找错误就好了。
Facebook 采用的是每周发布,代码最终要发布到 Facebook 的 60,000+ 台服务器上,发布分为 9 个阶段,从第一阶段 6 台服务器开始。
项目都是自愿参与的,有人说服大家来实现他的想法,工程师会决定是否参与。
运维对 Facebook 的成功是至关重要的。
运维团队训练有素、受人尊敬,而且很有商业意识。他们的服务器度量指标远不止常用错误日志、负载 & 内存利用状态,还包含了用户行为。
Facebook 是当今最具可扩展性的 Web 平台之一,访问量超过 400 亿页 / 天。如果没有好的机遇和那工程师驱动的文化,这一切都是不可能的。
查看英文原文: How Facebook Ships Code
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论