Facebook程序员生存指南

最近,Facebook的中国工程师沸沸扬扬。油管博主Patrick Shyu是为数不多的支持调查的公众人物之一。Patrick Shyu是日裔美国人,伯克利毕业,在Google做过Tech Lead,在Facebook做过Staff Software Engineer。他精通日语和中文,有时候还逛知乎。他的姓是Shyu,是徐的音译,可能和当年东渡的徐福有渊源,这里简称徐老师。总之,徐老师的勇气和正义感值得鼓掌。

徐老师在硅谷混过Startup和一线大公司,经历丰富。他在不同的视频里谈起Facebook的内幕,给了不少有价值的建议。我在这里总结一下,看看一个普通程序员如何在Facebook的高压环境下生存并发展。请有志加入Facebook以及类似企业的同学务必阅读:这关系着你的前途和生命。

一、价值观

徐老师很坦诚:加入Facebook就是为了钱(他的年薪是五十万美圆)。Facebook的技术相对于其他一线公司并不先进,吸引人才的手段就是给钱多。Google的平均员工在职时间是3.2年,徐老师正好在Google呆到这个时间;而他在Facebook混了不到一年就被开,可见压力之大。徐老师说Facebook越来越喜欢招H1b,因为只有他们想跑也跑不了,陈勤就属于那种被压迫的最底层。

徐老师又说,Facebook的价值观是产品导向,经理很多都是MBA,没有工程背景。经理和程序员没有共存共荣的关系。经理的任务是ship products;程序员的任务是make diffs。程序员做的好不好,跟经理没有关系。相反,每年有两次考评,有15%的程序员被强制差评。跟经理关系不好的程序员,可能随时扔出去背黑锅。Facebook开人有两种,一种是直接卷铺盖,另一种是上PIP(表现改良计划)。区别是前者是死刑,后者是死缓,结果都是走人。

小孩子才谈对错,成年人只讲利益。所以,加入Facebook后,不要有什么make the world a better place的幼稚理想,拼命赚钱、拼命数钱就可以了。几年后在公司炒你之前,把公司炒掉,即大功告成。

二、工具链

Facebook有dogfood文化,自己的产品自己用。他们工作的主要工具是Facebook for Work或者叫Workplace,是大众用的Facebook的内部版本。这里有个问题:Facebook是社交工具,主要任务是让用户粘在上面,耗费尽可能多的时长;用在工作场合,则分散精力,让人疲惫。

徐老师谈到这一点的时候,表情憔悴,因为这玩意实在太难用了:所有的信息流不是按时间摆放的,而是算法自作主张安排的。各种信息分散在不同的人名下,跟踪一个项目需要不停的人肉搜索。编程的同时还要不停的刷网页,生怕漏掉重要的信息。另外,Facebook没有email,任何人想到你就message,然后你的手机就哔哔叫,昼夜如此,周末也逃不掉。这是Facebook程序员压力大的一个重要原因。

所以,在加入Facebook之前,请务必背熟Facebook网页版的快捷键,并了解newsfeed的后台算法。这里插一句广告,我听说有在Facebook工作过的朋友,自己开发了爬虫和Chrome Plugin,让机器人去网页上整理和报告有价值的信息,效果不错。如果需要购买,请私信联系。

三、刷考评

Facebook的考评标准有四条,impact, better engineering, people, direction。徐老师说,impact和better engineering是互相抵触的,而people和direction又是自相矛盾。要impact就要不停的写垃圾代码,把功能跑起来再说,产品deliever得越快越好,这样就不是better engineering了。要direction就要控制节奏,掌握方向,争取以我为主,take ownership。大家都这么想的话,唯一的办法是互相贬低和拆台。于是people就没有了,同事之间不可能有友好的关系。

这是一个四选二的问题:impact和direction比较好量化,代码行数和文档字数随时可以看到;better engineering和people就比较难量化了,所以impact + direction是一个比较流行的技能树。在Facebook碰到比较mean,动不动说你代码是狗屎的同事,也不要大惊小怪。他们只是在刷输出,求生存而已。当然,如果是美女程序员的话,往impact + people加点数似乎更容易一些。

四、抱大腿

跪舔术是非常有用的。在内网里面发个动态就能收到几百赞,或者几十页评论的网红都是大佬,记住他们的名字。你要做的是无脑跪舔,第一时间发动初始技能抢沙发术。久而久之,大佬看到你孺子可教,说不定就让你改个Readme的错字什么的,你的diff来了,impact也来了。这是成功的第一步。

Facebook是成熟的商业模式,养这么多一样的组是为了内部赛马。各个组老板们能力不一样,有的抢的项目是金蛋,有的是黑锅。要是你老板抢的总是黑锅项目,说明这是条沉船。二话不说,赶快跳船,换到有前途的组。

另外,Facebook有很多黑帮,非洲组,印度裔,女拳等等。徐老师说最强的势力是LGBT彩虹帮。可惜没有哪个黑帮可以罩着徐老师这种亚裔直男。所以这也是个站队问题。

五、背刺术

徐老师讲了个故事,他和一个女程序员合作个项目。这个女程序员以前只跟女的合作,看上去是女拳那边的人,也有可能来自彩虹帮。有一天,他的老婆带着孩子回日本了,要跟他分手。他很沮丧,于是下午五点钟就打卡回家了。结果该女反手把他举报给了管理层,说他工作不努力,弄得他一身屎。徐老师开始搞不明白为什么,后来分析:该女也是Staff Software Engineer,跟他一个级别。在Facebook,每次考核同级别的人放在一起,然后强制弄个曲线。如果别人危险一点,当然自己就安全一点。所以背刺队友一下,只有好处,没有坏处。

以上是徐老师的经验终结。如果您已经融会贯通,恭喜!您已经可以在Facebook,或者世界上其他任何一个软件公司生存下去。如果没有,也不要紧。多加训练,总有一天您会出人头地的。记住,公司不是家,大不了不干了,不要做偏激的事。(完)

他是华裔美国人,自己都在油管上说了,台湾华人。