• Facebook是如何发布代码的


    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

  • 相关阅读:
    [git]使用Idea创建一个git项目
    [git]分支管理策略
    Restful 风格
    [spring boot]idea中实现热部署的方法
    [jquery]JSON.parse()与JSON.stringify()
    [spring mvc]<mvc: annotation-driven />的作用
    [spring mvc][转]<mvc:default-servlet-handler/>的作用
    [mybatis]传值和返回结果
    [spring]@Resource和@Autowired区别对比
    html流程实现
  • 原文地址:https://www.cnblogs.com/shihao/p/2201690.html
Copyright © 2020-2023  润新知