本文来源于三联生活周刊   By王淮, 由吟游诗人编辑,未经授权,不得转载
我是2007年初加入Facebook,那时大概150人;2011年9月底离开,当时3200多人。经历了很多稀奇古怪但影响很大的项目,像Application Platform、Social Ads、News Feed、Gift Shop、Facebook Credits等等。在Facebook的这几年让我学到了很多东西,写下9点经验和大家分享。
1
只和最好的人合作
和牛人一起工作可以取长补短,提高自己的实力。牛人们喜欢互相挑战,我记得一位工程师总监立下赌约——如果我们在规定时限之前完成网站翻译平台所需的代码修改,他将把头发染成蓝色。这样的挑战把“枯燥”的工作变成了挑战性游戏。在玩游戏中写程序比纯粹的写程序要有趣得多。
2
树立高的期望值并加以衡量
作为领导者,你需要设定足够高但仍合理的期望,足够高使得你的团队明确工作的方向和目标,仍合理使得他们不至于油尽灯枯。
3
重视数据而不盲从数据

决定产品方向时,要的是想象力、激情和胆量,而不是数据。数据能让你的团队沿着正确的方向前进而不出轨,也有助于产品从“一开始是什么样”到“最后应该是什么样”的逐渐优化成型。虽然数据不能帮你决定方向。但你也不能忽视数据。没有数据的支撑而一味靠直觉走黑路,很容易在前进的途中走岔道。
4
避免无谓的时间浪费
刚进Facebook做工程师的时候,我非常享受那种日夜泡在码海中的感觉。后来慢慢的,承担的项目责任越来越大、越来越多,写代码的时间越来越少(但绝大多数时候仍占大头)。
我花了大量的时间在思考这些问题——哪些功能需要添加,哪些功能需要删减,需要开始或停掉哪些测试,我们手头上的工作是不是现在最最重要的事情,我们是该花时间优化用户交互流程还是减少出错率,或是让系统更快等等。这些问题很伤脑筋,却又相当重要,因为这可能决定了你付出的努力是否必要。
在工作中,应该有意识的思考哪些事情不该做并要果断放手。例如,无谓的争论可以避免介入,鸡肋的功能可以放弃研发等等。我经常问自己一个很简单的问题:我现在正在做的是否对我的目标很重要。如果你清楚自己正在做什么和想要的是什么,答案就明了了。
5
增进亲密感是减少紧张关系的有效方式
工程师和支持团队之间有着纠结的合作竞争关系(注意,合作在前)。如何让合作竞争保持在一种健康有序的状态?我觉得关键是促进人与人之间的亲密感。把人搞近了,事情就容易了。
6
习惯委托,但要谨慎, 不盲目
分配任务,委托别人的重要性比较容易理解。因为你不是超人,当团队一大,事情一多,你一定要学会委托别人来负责合适的任务。
7
意见反馈应该是持续性的,而不是一年一次或两次的活动
一年一度或两度的意见反馈在硅谷公司是非常常见的。它的目的不是给员工难堪,让他们互相责难的;而是希望员工能对自己和他人有更全面的认识,帮助大家共同进步。
意见反馈有自我反馈和同事反馈两部分。自我反馈是评定自己在一段时间内完成了哪些目标,哪些方面做好了,哪些方面还有待进步。但由于是自己踢球兼裁判,难免有失偏颇。同事反馈,就像一枚镜子,让你看到180度之外的自己。在Facebook,360度的正式意见反馈是一年两次,并且和薪酬挂钩。除了季度性的轻型意见反馈,日常的意见反馈如果有的话应当立马传递,趁热打铁效果更好。
8
你可以比你想象的做得更好
牛人们总是不断地超越自己。给他们一个离谱的目标,配以应有的工具,适当的帮助,足够的信心还有一定的时间,他们会让你大吃一惊,也会让自己大吃一惊。但做到这一点有一个前提——不能害怕犯错。
9
不要过多设计或者过早优化
很多工程师总想把自己的程序在初期就做的规模化,甚至是在这些程序还没看到大规模使用的曙光之前。我刚在Facebook工作的时候,也有这么一股子冲动。经历过几次失败的产品之后,我总结出一个教训 -- 不要执着于设计或者过早优化,工作的重心应放在把核心功能设计得简单精练。只有在看到产品有被大规模使用的趋势后,才是时候增加功能和规模量。
Friendster这个网站的失败就是其基础架构的性能短时间内无法应对急速增长的用户,以致网站运行缓慢甚至崩溃。在用户增长高潮来临之前,你应该把架构的基础环节做扎实,否则搞不好就要像Friendster一样收摊子散伙。与此同时也要意识到,你所看到的用户访问模式,网站功能,在你只有10万用户的时候,可能和你有1亿用户的时候很不一样。所以太多太早太频繁的架构上的大动作可能会适得其反。这一点上,你要小心判断。
继续阅读
阅读原文