发布于 

重读《打造Facebook》

第一次看《打造Facebook》是在2013年,微博上的一位朋友推荐的,前几天又大概翻了一遍,全书主要讲作者王淮在 Facebook 的从业经历以及离职后对天使投资和创业的一些想法,作者的分享在很多地方是值得我们学习和借鉴的。

王淮是 Facebook 的早期员工,第二位中国籍工程师和第一位中国籍研发经理,他所在的 5 年正是 Facebook 爆发的 5年,高速发展的 5年,所以,他的经历和故事可以给我们些启发。

招聘

很多人都说创业的三要素是找人、找钱、找方向,其中找人就是我们日常的招聘环节,是一个很重要的环节。Facebook 的找人原则是,只和最好的人合作,所以招人的标准及其严苛,可能进去只是拧螺丝,但面试时必须会造火箭。

中小公司,招不来那么多的 985、211,但也不能因为时间紧,项目急,就在招人上进行妥协,应该要尽可能找对的人:

  • 沟通和理解能力,这个太重要了,可以在后面的协作中少死好多脑细胞;
  • 对技术有热情,喜欢学习,而不仅仅只是当一个工作;
  • 对公司文化认可。

我们领导在招人时也一直提醒我们,宁可找一个 15k 的也不要两个 8k 的。

团队合作

任何的团队都需要团队合作,其重要性毋庸置疑。我们在面试的时候经常被面试官考核的一个因素就是团队合作精神。以前经历的一些公司虽然也很注重团队合作,但更多的是在一个团队中、一个开发小组中,而在 Facebook 中将这个高度上升到了整个公司,所有人的目标都是整个公司的发展,一个团队中的老大如果觉得团队中一个牛人在另一个团队中会对公司更有帮助的话会不吝让那位牛人去另一个团队工作,所有人目标一致,劲往一处使,公司才会有更好的发展。华为的任正非所说的「力出一孔」也是这个道理。

记得我曾就职过的一家公司,项目组中成员之间沟通非常好,成员和 PM 之间也保持者非常好的关系,但由于公司的一些绩效制度导致需求分析、开发和测试之间经常会为了一个 Bug 的责任人问题而争论不休,其实 Bug 早已修复,造成很大的内耗并且成员的情绪也会受到影响,所以说团队合作除了人员的性格和沟通能力外还需要公司有个好的制度支持。

工具文化

俗话说,工欲善其事,必先利其器,人类之所以比动物高级就是因为人会使用工具,好的工具会大大提高做事效率,Facebook 将工具文化做到极致,他们有专门的工具小组,工具小组中是公司中最好的工程师。这点不管是公司和个人都值得借鉴。

中小公司通常没有专门的工具小组,更多需要在产品、项目中去沉淀,如果没有专人组织和管理,去推进这个沉淀,这个沉淀就会遥遥无期,就像经常说的,在项目中去沉淀产品一样,永远也沉淀不出来,最后会造成不同的团队会重复造轮子,造成浪费。

没有专门的工具小组,那应该怎么办呢?

  • 在工作中要经常思考总结,发现有重复的有共性的地方,就应该想办法进行工具化;
  • 各团队的 Leader 应该鼓励这种行为,团队有成员有这方面贡献,应该给予奖励,并分享给其他团队;
  • 又提到找人的重要性,对技术有热情的人,才愿意去做这种「分外之事」,豆瓣的 Code 就是工程师在业余时间做出来的。

只有这些重复劳动被工具替代了,我们才有时间去做更多有意义的事情。

黑客之道

黑客文化其实是对技术的一种追求,在 Facebook 有一个称为黑客马拉松的活动,每三个月举行一次,在活动中所有人都放下手头的工作,根据自己的兴趣进行开发,很多创造性的项目就是这样诞生的。当然这种类似的活动在国内一些中小公司中是很难举行的,大概有下面两个原因:

为了项目进度,老板们、领导们恨不得让员工一分钟当两分钟用,怎么可能利用上班时间让员工去做让他们看来对项目毫无意义的事;

Facebook 的招人很严格,他们有一个理念是拒绝和庸人在一起工作,所招之人都是世界上顶级工程师,而国内一些中小公司的人员在水平上还是存在差距的,即便遇到一些开明的老板能举行这样的活动,其效果也可能没那么好。

黑客马拉松只是一种形式,在一个团队中,只要对技术有足够的热爱,我们可以有很多种形式,比如:

  • 主动在团队内部做技术分享,既锻炼了自己,也能帮助到他人;
  • 自己开发一些对团队有帮助的工具;

职业发展

作为一个技术人,职业的发展无非就两条路,管理和技术大牛,在国内的公司中很多人都有做管理的想法,即便是非常热爱技术的开发人员,因为做管理意味着更高的地位和更高的薪水,这是的很多热衷于技术的人会背弃自己的初衷,为生活所迫做着自己并不怎么喜欢的事情。

在 Facebook 管理和技术只是角色的不同,地位没有谁高谁低,喜欢技术可以成为技术大牛,薪水可能比管理者还高。记得前些年经常可以在网上看见对技术人员年龄以及未来发展的讨论,归根结底还是国内大环境造成的,我是一个很喜欢技术的人,希望有一天在国内软件公司中能出现更多的「大龄」一线开发人员。

樊登在讲《跨越式成长》一书时提到了我们不能只向 T 型人才发展,还应该向 π 型发展,π 有两条腿,一条跟工作有关、一条跟激情有关。扎克伯格每年会给自己制定一个新的挑战,比如:2010年坚持学习中文,2012年坚持每天写代码等,我认为这种「挑战」就是在做跟激情有关的这条腿。

拿我自己来说,现在坚持写公众号就是我的激情的这条腿。

用户体验

对于公司的核心产品,扎克伯格会每周参加一两次研讨会,提出的意见细到了按钮距离边框的像素,可见对于用户体验的重视程度。

而我们在做项目或产品的时候,很多时候都停留在能用的程度。能用是一个最低的底线,仅仅是能用,产品没有任何竞争力。在满足业务的前提下,怎样能让用户用爽,这是我们需要努力去做到的。

极致的用户体验不止是产品经理需要去做的,我认为每个开发人员也需要有这种思想和境界,每个人都能多想一小步,团队就能进一大步。

知识储备

作为一个技术人员如果不持续地学习充电就会被淘汰,学习有两种,一种是学习自己感兴趣的技术知识,一种是学习和工作相关的知识。

很多公司都会鼓励员工学习和工作相关的技能,而我认为工作需要的技能是基本的,除此之外还应该学习自己感兴趣的,前沿的的技术,说到这就不得不提英语了,即便不是在外企,至少也要做到阅读上没有障碍,英文能力直接关系到我们对新技术的了解和获取。

记得很早之前的一个领导在一次会上说你们在业余时间要好好学习业务、性能优化等和工作相关的知识,像英语之类没用的就没必要学了,对此我持保留意见。总之我们要尽量开阔自己的眼界,不断充电学习。王淮在书中提到他们会利用现成的开源框架去开发内部的工具,如果你没有足够的知识量你就不会知道有什么开源框架可以用,进而去自己动手开发,这样就导致重复造轮子。

现在网络信息非常的发达,导致很多人认为每天通勤路上看了几篇公众号就是学习了,我认为学习技术方面的知识最好还是进行系统的学习,比如书籍、专栏等,碎片化的时间和知识点​如果能利用好,也能达到一定的效果。​

总结

看书不应该是读完后就束之高阁了,好的书籍应该时常翻阅,常读常新,愈读愈深,这就是经典书籍的魅力所在。希望本文对您有所帮助。