wandoukey 2011-01-30
http://www.infoq.com/cn/news/2011/01/facebook-coding-practices
infoq做了一些他们认为重点的翻译,但基本上看不出有什么价值的东西。原文见
http://framethink.wordpress.com/2011/01/17/how-facebook-ships-code/
以下是我摘录的一些要点:
skype的一个产品经理yeelee所写,他对facebook的运作机制很着迷,花了几个月的时间,通过和facebook的朋友聊天打探到以下信息。他把发布时间延后了半年,所以看起来有些信息已经落后了。
notes:
>>截止2010月6月,facebook接近2000雇员。10个月时间从1100人增长到2000,一年时间员工人数翻了一番!
>>最大的两个团队是开发工程师和运维,都是400-500人的规模
>>产品经理和开发工程师的比例大概在1:7到1:10之间
>>全部的开发工程师需要通过4-6周的新手训练营的培训,在里面通过修复bug和听高级开发人员课程的方式学习facebook的系统,这个训练营大概会有10%的不合格率,这部分人将被劝退离开公司。
>>新手训练营毕业后,开发工程师将获得liveDB的权限。责任越大权限就会越大
>>公司有机制阻止有权限的人干出一些破坏的事情。有工作日志,并且会被细致的复核。
>>任何一个开发工程师可以修改facebook的代码并且随意提交
>>开发者驱动的文化很浓重,产品经理显得不是那么重要,并不是说产品经理可以忽略,而是每个开发人员都对产品很有责任心,会积极主动的加入自己的想法和创意
>>facebook的代码发布周期是周,每周二是例行的发布日期
>>facebook有大概60000台服务器,上线新代码时分9个级别进行上线,最小级别(1级)包含6台服务器,1级上线成功后然后进入2级上线,依次类推。9级划分为3个阶段:internalphase,externalphase,fullexternalphase.
其他内容都是关于开发者驱动的企业文化,团队如何高效,绩效不好的人不管什么级别(C级甚至VP级)都可能被开(但也有facebook的人站出来说没有人因为代码问题被开除),等等。。