zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Window服务的创建与删除
    remoting 中事件找不到订阅者时引发异常的解决办法
    TCP/IP 的一些常识
    JDK ByteBuffer & MINA IoBuffer 总结
    web协议总结
    NIO VS IO
    MINA TCP 粘包 少包最终解决方案
    NIO 之 通道
    流式套接字(TCP)和 数据报套接字(UDP)的区别
    MINA 异步 读写总结
  • 原文地址:https://www.cnblogs.com/shihao/p/2201690.html
Copyright © 2011-2022 走看看