InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

Facebook 是如何发布代码的

  • 2011-01-27
  • 本文字数:734 字

    阅读完需:约 2 分钟

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(微信同手机号)。

2011-01-27 20:286611
用户头像

发布了 135 篇内容, 共 57.3 次阅读, 收获喜欢 43 次。

关注

评论

发布
暂无评论
发现更多内容

订单里的充值卡消费和积分抵扣怎么处理?

产品海豚湾

产品经理 产品设计 电商系统 分析设计 11月月更

InnoDB和MyISAM对比

想要飞的猪

视图的创建

向阳逐梦

Python 视图 11月月更

Vue组件入门(十五)异步组件

Augus

vue3.0 11月月更

433MHz自发电无线控制器

不脱发的程序猿

物联网 嵌入式 无线通信 ​433MHz自发电无线开关

如何快速优雅的用Know Streaming创建Topic

石臻臻的杂货铺

11月月更

Jenkins 构建的时候提示 DOCKER_HOST 错误

HoneyMoose

华为云从入门到实战 | 云容器服务

TiAmo

华为 华为云 云开发 11月月更

【LeetCode】最长递增子序列的个数Java题解

Albert

算法 LeetCode 11月月更

金融服务的超级App

FinClip

FinClip | 2022 年 10月产品大事记

FinClip

Edge 浏览器提供了一个站点信息的按钮

HoneyMoose

Spring Boot「23」DAO 模式

Samson

Java spring Spring Boot 学习笔记 11月月更

一文了解openEuler SIG组角色划分与管理运作

openEuler

开源

数仓、湖仓、数据中台都没解决的企业数字化难题,却被它解决了

雨果

数据中台 数据仓库 DaaS数据即服务 数仓一体

走向IPv6,阿里巴巴IPv6规模化部署实践

阿里技术

ipv6

快速应用程序开发

世开 Coding

软件开发 快速开发 敏捷精益

沙龙预告 | EPM 业财一体-合并报表(11月8日 14:00)

信通院IOMM数字化转型团队

数智化转型 EPM 业财一体 沙龙预告

MSE 风险管理功能发布

阿里巴巴云原生

阿里云 云原生微服务

活字格低代码开发平台怎么样?靠谱吗?

优秀

低代码平台

数据中台选型必读(一):元数据管理是数据使用与共享的根基

雨果

数据中台

详解CAN总线:CAN总线通信优先级机制

不脱发的程序猿

汽车电子 CAN总线 详解CAN总线 CAN总线通信优先级机制 CAN优先级

2022干货来袭!阿里大佬“亲码”Java全线笔记,差距不止一点点

程序知音

Java java面试 后端技术 Java面试题 Java面试八股文

数据中台选型必读(二):数据中台如何搭建元数据管理中心

雨果

数据中台

以开发之名 | bilibili会员购让IP在眼前动起来

HMS Core

Go 云原生实战:如何增加应用配置模块

宇宙之一粟

云原生 配置 Go 语言 Web应用开发 10月月更

小白一键出片,三分钟成为修图大师的秘诀。

淋雨

ps LR 磨皮插件 滤镜插件

深圳区块链交易所app开发、数字资产交易系统搭建

W13902449729

深圳区块链交易所app

速报|StarRocks亮相云栖大会,携手阿里云EMR 打造极速数据湖分析新体验

StarRocks

数据库

论坛回顾|FlyFish 一周年开源圆桌论坛圆满落幕

云智慧AIOps社区

开源项目 开源软件 开源治理 开源贡献 开源运营

使用 Goland 开发 dubbogo 项目时如何自动快速格式化 import 代码块

apache/dubbo-go

  • 扫码添加小助手
    领取最新资料包
Facebook是如何发布代码的_研发效能_Jean-Jacques Dubray_InfoQ精选文章