可以肯定的是,Facebook公司最宝贵的财产的工程师。他们一直在利用高质量的代码创造出不一样的产品体验。那么身为一个Facebook工程师到底是什么样子的?一名谷歌雇员Yee Lee一年前在Facebook上发了一个帖子,为了和大家聊这个话题,这个帖子很长,并且受到了广泛关注,有数千名雇员参与了讨论。他们分享了Facebook员工到底喜欢哪些,不喜欢做什么,以及权力有多大等等,虽然时间已经过去了一年,但基本情况并没有太大改变。
1.Facebook的大部分员工是工程师
Facebook的雇员来自两个大团队——工程师和负责Ops业务。他们占据了公司一般的人数。
2.拥有大量的产品经理
产品经理的职责就是要保证项目按时完成,为了实现这一目标,每个项目需要7-10个产品经理。
3.一切都始于“新员训练营”(boot camp)
所有新入职的员工都有4-6周的培训期,在这期间他们需要学习Facebook式的修正方式,并听取资深员工的讲座。
此外,Facebook的新员训练营淘汰率很高,有10%左右的人不能通过,或者被告知离开。
4.Facebook员工获得对数据库的访问
拥有较大的权力,就意味着巨大的责任,这是Facebook员工都认同的一点,因为任何工程师都可以检查代码,并随意修改数据库。
此外,员工还有一项特别权力,类似于共享用户数据。不过,Lee说,仍然有很多的安全措施来防止这种情况发生。
5.像谷歌一样,这里是一个工程师驱动的文化
一位工程师说:“产品经理在这里基本上是无用的”,Lee写道。
工程师在这里权力很大,一个项目在进行中可以任意修改,重新安排工作项目规格,加入新功能理念,这些只要工程师觉得有必要,在任何时候都可以。
6.工程师们每月会跨部门开会展示作品
产品营销经理和产品经理会出席这些会,,但不鼓励畅所欲言。“实际上,如果说的太多,就会耽误很多时间,而反馈给领导的问题基本在原来的已经说清楚了。
Facebook希望工程师们能够公开分享自己的产品,这是为他们创造的产品有更多灵感和人情味的原因,Lee写道。
7.收集项目资源纯粹靠自愿
工程师基本上都是在公司上班的时候决定他们想要的东西。他们如果需要什么,就需要找他们的经理说,“这些都是我在工作上想要做到的五件事情”。
产品经理游说团队的工程师,试图让他们对项目兴奋不已,但大部分的工程管理人员工程师的偏好都很不搭。
8.工程师设计的原型是否为了不同的实现方式值得争论
工程师为了在Facebook上建立一个功能大约需要花费一周时间,然后他们通需要借助比较复杂的测试,以决定是否是值得这么做的。通常测试者都是Facebook的员工。
这是Facebook“黑客”文化的重要组成部分- 快速构建和输送产品,但运营并不是他们的工作。
9.每个人都想在Facebook的后端流程中工作
在Facebook,可扩展性和基础性工作是工程师觉得最有趣的问题。
因此那些前段产品,比如新闻事件很难获得工程师们的兴奋,Lee写到,相反的是,每个工程师都喜欢研究新闻算法的问题。
10.马克·扎克伯格会审查每一个代码更新的新闻提要
这是Facebook最重要的特点之一。所有的主要更新都需要有强制性的代码审查,所有更改都至少有一个人参与。但扎克伯格还会审查每个代码更新的提要。
11.没有正式的质量保证小组
工程师们负责测试产品功能、修正错误和发布后的维护,但这不是一个正式的质量保证小组。
Facebook仍有QA工程师,并大力鼓励所有工程师报告错误。
12.默认情况下,代码的更新在星期二
如果你足够努力,你的代码被公布出来,但是可以在一天时间内改变。
Facebook对于代码更改有推进器,但对于代码风险有风险性,因此更成熟面临的风险更高。
13.运营团队推出的代码更新缓慢
Facebook拥有大约60000台服务器,因此运营团队会逐步使用几台服务器的代码,以确保它的工作正常。
但刚开始的时候6台服务器被关闭了,然后会有更多,需要工程师来修正必要问题。
14.忽略运营团队的结果并公开羞辱
在发布期间,如果一个代码需要提交修改,运营团队使用IRC和其他形式的消息来和工程师进行沟通。
加入你提交了代码,不在他们身边的时候,他们会对你的代码进行公开羞辱,Lee写到,虽然关于这个问题还有很多细节,但是如果被公司发现了类似情况,那么是可以被解雇的。
【编辑推荐】