Facebook工程师到底什么范儿

开发
提起Facebook,我想没有人不知道它的存在和价值。这家全球最大的社交网络应用公司5月18日晚已在纳斯达克IPO。虽然你从很多科技网站甚至八卦杂志都能了解其工作环境和企业文化,但我想你并不熟知那些工程师到底是怎样的。作为最能吸引高科技人才的这家公司,他们到底是什么范儿呢?

可以肯定的是,Facebook公司最宝贵的财产的工程师。他们一直在利用高质量的代码创造出不一样的产品体验。那么身为一个Facebook工程师到底是什么样子的?一名谷歌雇员Yee Lee一年前在Facebook上发了一个帖子,为了和大家聊这个话题,这个帖子很长,并且受到了广泛关注,有数千名雇员参与了讨论。他们分享了Facebook员工到底喜欢哪些,不喜欢做什么,以及权力有多大等等,虽然时间已经过去了一年,但基本情况并没有太大改变。

1.Facebook的大部分员工是工程师



Facebook的雇员来自两个大团队——工程师和负责Ops业务。他们占据了公司一般的人数。

2.拥有大量的产品经理

[[83829]]

产品经理的职责就是要保证项目按时完成,为了实现这一目标,每个项目需要7-10个产品经理。

3.一切都始于“新员训练营”(boot camp)

[[83830]]

所有新入职的员工都有4-6周的培训期,在这期间他们需要学习Facebook式的修正方式,并听取资深员工的讲座。

此外,Facebook的新员训练营淘汰率很高,有10%左右的人不能通过,或者被告知离开。

4.Facebook员工获得对数据库的访问

[[83831]]

拥有较大的权力,就意味着巨大的责任,这是Facebook员工都认同的一点,因为任何工程师都可以检查代码,并随意修改数据库。

此外,员工还有一项特别权力,类似于共享用户数据。不过,Lee说,仍然有很多的安全措施来防止这种情况发生。

5.像谷歌一样,这里是一个工程师驱动的文化

[[83832]]

一位工程师说:“产品经理在这里基本上是无用的”,Lee写道。

工程师在这里权力很大,一个项目在进行中可以任意修改,重新安排工作项目规格,加入新功能理念,这些只要工程师觉得有必要,在任何时候都可以。

6.工程师们每月会跨部门开会展示作品

[[83833]]

产品营销经理和产品经理会出席这些会,,但不鼓励畅所欲言。“实际上,如果说的太多,就会耽误很多时间,而反馈给领导的问题基本在原来的已经说清楚了。

Facebook希望工程师们能够公开分享自己的产品,这是为他们创造的产品有更多灵感和人情味的原因,Lee写道。

7.收集项目资源纯粹靠自愿

[[83834]]

工程师基本上都是在公司上班的时候决定他们想要的东西。他们如果需要什么,就需要找他们的经理说,“这些都是我在工作上想要做到的五件事情”。

产品经理游说团队的工程师,试图让他们对项目兴奋不已,但大部分的工程管理人员工程师的偏好都很不搭。

8.工程师设计的原型是否为了不同的实现方式值得争论

[[83835]]

工程师为了在Facebook上建立一个功能大约需要花费一周时间,然后他们通需要借助比较复杂的测试,以决定是否是值得这么做的。通常测试者都是Facebook的员工。

这是Facebook“黑客”文化的重要组成部分- 快速构建和输送产品,但运营并不是他们的工作。

9.每个人都想在Facebook的后端流程中工作

[[83836]]

在Facebook,可扩展性和基础性工作是工程师觉得最有趣的问题。

因此那些前段产品,比如新闻事件很难获得工程师们的兴奋,Lee写到,相反的是,每个工程师都喜欢研究新闻算法的问题。

10.马克·扎克伯格会审查每一个代码更新的新闻提要

[[83837]]

这是Facebook最重要的特点之一。所有的主要更新都需要有强制性的代码审查,所有更改都至少有一个人参与。但扎克伯格还会审查每个代码更新的提要。

11.没有正式的质量保证小组

[[83838]]

工程师们负责测试产品功能、修正错误和发布后的维护,但这不是一个正式的质量保证小组。

Facebook仍有QA工程师,并大力鼓励所有工程师报告错误。

12.默认情况下,代码的更新在星期二

[[83839]]

如果你足够努力,你的代码被公布出来,但是可以在一天时间内改变。

Facebook对于代码更改有推进器,但对于代码风险有风险性,因此更成熟面临的风险更高。

13.运营团队推出的代码更新缓慢

[[83840]]

Facebook拥有大约60000台服务器,因此运营团队会逐步使用几台服务器的代码,以确保它的工作正常。

但刚开始的时候6台服务器被关闭了,然后会有更多,需要工程师来修正必要问题。

14.忽略运营团队的结果并公开羞辱

[[83841]]

在发布期间,如果一个代码需要提交修改,运营团队使用IRC和其他形式的消息来和工程师进行沟通。

加入你提交了代码,不在他们身边的时候,他们会对你的代码进行公开羞辱,Lee写到,虽然关于这个问题还有很多细节,但是如果被公司发现了类似情况,那么是可以被解雇的。

【编辑推荐】

  1. Facebook发布HTML 5应用中心
  2. HTML 5平台对于Facebook未来至关重要
  3. Facebook版《愤怒的小鸟》为何选用Flash
  4. 揭秘Google与Facebook开发之道
  5. 揭秘Facebook是如何开发软件的

责任编辑:彭凡 来源: 应用邦
相关推荐

2015-03-04 10:03:09

2015-01-12 10:01:35

2013-06-17 09:44:03

2021-03-12 15:18:45

算法 Facebook技术

2016-09-21 10:10:50

2022-09-26 07:08:16

无线通信CT

2016-01-04 10:20:36

2011-02-18 09:56:42

Facebook人才FaceBook

2010-07-05 15:56:01

EclipseRCPECF

2010-07-02 10:10:09

Eclipse

2010-06-29 13:39:26

Eclipse什么玩意儿

2010-06-28 15:58:45

EclipseJavaIDE

2017-07-05 14:21:39

常青藤

2015-09-08 15:37:08

2011-02-13 17:24:36

SAPSybase

2011-11-21 10:25:29

iCloud

2018-10-29 08:20:26

Apache Flin工程师AI

2015-11-13 09:34:04

2011-04-11 23:34:44

FacebookHBase迁移

2021-12-13 19:57:05

JNDIJava开发
点赞
收藏

51CTO技术栈公众号