惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
S
Secure Thoughts
月光博客
月光博客
美团技术团队
雷峰网
雷峰网
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Forbes - Security
Forbes - Security
W
WeLiveSecurity
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
G
GRAHAM CLULEY
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AI
AI
Last Week in AI
Last Week in AI
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Recent Announcements
Recent Announcements
Webroot Blog
Webroot Blog
T
Tor Project blog
Cisco Talos Blog
Cisco Talos Blog
N
News and Events Feed by Topic
罗磊的独立博客
The Register - Security
The Register - Security
Blog — PlanetScale
Blog — PlanetScale
T
Threat Research - Cisco Blogs
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com
B
Blog
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Engineering at Meta
Engineering at Meta
Latest news
Latest news
IT之家
IT之家
D
DataBreaches.Net
博客园 - 司徒正美
N
Netflix TechBlog - Medium
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - Cat Chen

用 Raspberry Pi 架设加密 DNS 客户端 iOS Workflow 分享 - Debug Action iOS Workflow 分享 - Create QR Code iOS Workflow 分享 - Scan QR Code Heroku + Node.js + HTTPS 赴美工作常识(Part 6 - 绿卡排队) 赴美工作常识(Part 5 - 绿卡优先级) 如何捕获和分析 JavaScript Error Ping! 赴美工作常识(Part 4 - 面试) 赴美工作常识(Part 3 - 英语) 50 年前的黑客黑什么? 孩子王?有孩子气才能为王? 赴美工作常识(Part 2 - 申请) 赴美工作常识(Part 1 - 签证) 面试体验:Facebook 篇 面试体验:Yahoo 篇 面试体验:Microsoft 篇 面试体验:Google 篇
Facebook 发布「流程」
Cat Chen · 2014-03-13 · via 博客园 - Cat Chen

2014-03-13 08:38  Cat Chen  阅读(4948)  评论()    收藏  举报

时不时就会在面试过程中碰到有候选人问 Facebook 是否采用 Scrum 之类的敏捷方法,偶尔也会有中国的朋友问及 Facebook 上线流程。我通常会简单说几句,然后说「如果你真感兴趣的话,去搜索 Chuck Rossi 在 Velocity 2012 San Fancisco 演讲的视频」。无论从 Scrum 的角度来看,还是大多数中国公司的上线流程来看,Facebook 的发布流程都显得很不一样,但其实又非常合理,看完那个视频你就明白了。尽管里面提到的内部工具都没有在 Facebook 的 GitHub 上开源,但那些截图已经足够清晰说明其功能和用途了。

工具固然是重要的一方面,但我觉得更重要的是文化。我知道很多中国公司的上线流程都涉及各种签字,例如我在百度的时候上线就需要 RD、FE、QA、OP 等众多角色签字,有时候还需要对应经理甚至总监签字。相对这种上线流程来说,Facebook 的发布流程简单得很反流程,这也是我为标题中的「流程」二字加上引号的原因。考虑到我之后会专门写一篇文章讨论文化,所以在这里就不深入展开了。

至于工具,最重要的就是通过引入自动化来解答一些简单但涉及大量手工操作的问题。例如视频当中提到的,「一个 PHP 异常是由哪个 commit 引入的?」在没有工具的情况下,这只能手工 git bisect 来查找。万一这个异常不是稳定复现的话,那基本上就没办法定位到 commit 了。Facebook 的工具能自动把异常堆栈跟踪里面每一帧和 git blame 关联起来,再用异常发生频率的历史图谱跟 commit 合并时间做对比,很容易就能得到答案。

最后,如果你看完这个视频觉得还不满足的话,可以去看看 Jay Parikh 在 Velocity 2012 Santa ClaraGirish Patangay 在 Velocity 2012 London 的视频。