zoukankan      html  css  js  c++  java
  • Facebook的工程师文化——《打造facebook》读后感

    在今年北京的QCon大会上听了facebook早期中国籍工程师王淮的演讲,受益匪浅,主题是如何打造高效能团队,主要介绍他在facebook的一些经历和管理上的经验分享。现在的他是一名天使投资人,投资的领域有移动互联,支付,云应用等。他还写了《打造facebook》一书,讲了facebook的公司文化和他在其中的开发管理等经历。

    工具文化

    这本书给我印象最深的一点是facebook的”工具文化”。为帮助工程师更好的进行产品开发,facebook对内部工具Tools是非常关注的。facebook极力强调,要将最好的工程师放到工具开发这一块,因为工具做好了,可以达到事半功倍的效果,所有人的效率都可以提高,而不仅仅是工程师。还有通过工具来解决流程上面的问题,比如公司在推广一些规范性的规则,传统的方法是反复强调,另一种是开发出好用的工具,将这些东西固定在工具里面,借助工具进行强制性推广。不断的更新和完善公司自己的工具,并将公司的企业文化也融入到工具之中,有时候比找到一个伟大的创意更重要。

    facebook研发的工具有很多,比如新人刚加入facebook时,需要分配自己的开发服务器,facebook就有一个工具来管理公司的开发机器。在这个工具上,你可以看到所有机器的详细信息,包括分配给什么人,什么时间分配的,机器的配置信息等。在还未申请的机器上面,只需要点击一个按钮就会帮你安装好开发服务器,非常方便和简单。对于我们开发人员来说工作主要是写代码,facebook针对代码管理业开发了很多工具。比如有一款工具是在开发人员提交代码之前对代码进行检查,如果代码不符合代码规范或者没有写测试案例,工具会发出警告并交给开发人员修改。还有一款code review的工具叫Phabricator,开发人员可以在上面针对每一行代码进行讨论,如果代码有问题,代码审查者可以提问题,或者让代码提交者修改等,只有代码明确接受后,才可以提交到服务器的代码库中。这些工具的理念是将重复性的劳动交给电脑来执行,以”Don’t Make Me Think”的方式来推广好习惯。

    黑客文化

    facebook一直强调公司的黑客文化,总部基地建有”黑客广场”,公司内部随处可见的黑客标志,facebook还会定期举行黑客马拉松(Hackathon)。像Google 允许员工用工作时间的20%来做自己喜欢的东西一样,Hackathon也是facebook让员工保持创造力,避免工作枯燥而失去工作激情的一种方式,在这个过程中,也催生了很多伟大的作品,比如timeline(时间轴),全屏照片视图等。参加Hackathon虽然是自愿的,但facebook强烈建议每个员工都去参加Hackahton,甚至有的工程师因为要安排产品上线而无法参加Hackathon,公司会调整产品的上线时间来让工程师去参加Hackathon。

    facebook的CEO 扎克伯格本身就是一个黑客,看过《社交网络》的朋友都会记得电影开始的那一段场景,扎克伯格做了一个哈佛版美女评选网站(Facemash),为了得到更多女同学的照片,他黑进了当时学生宿舍里面每个学生的电脑去获取他们同学的照片。扎克伯格想打造独一无二的企业文化和管理方式,他将公司的这种文化称之为”黑客之道”(Hacker Wiay),他诠释说,黑客文化是一种持续改进的做事方法,黑客迅速发布小规模的更新,然后从中获取到经验,在下一次更新中更好的改进,直到产品完成(有点敏捷开发的意思)。Done is better than prefect(完成胜于完美),这是facebook对这种黑客精神的诠释。

    facebook的黑客文化还包括一种亲身实践,积极进取的精神。Code Wins Arguments(代码胜于雄辩),在facebook的产品开发过程中,经常会有一个工程师站出来说,给我2天的时间我做个demo出来,证明我的想法是可行的。facebook不会有那种长达几天的马拉松会议,工程师们会开发出产品原型来证明是否行得通,在facebook每个工程师都是顶尖的人才,他们具有这样一种快速开发的能力。

    书中除了谈到上面所讲的这些点外,还谈到了作者在facebook中的项目管理经验,适合做项目管理的同学参考借鉴,最后希望大家也喜欢facebook的黑客文化。

  • 相关阅读:
    使用tcmalloc编译启动时宕机
    使用tcmalloc编译出现undefined reference to `sem_init'
    使用AddressSanitizer做内存分析(一)——入门篇
    VIM-美化你的标签栏
    Entity Framework Code First (六)存储过程
    Entity Framework Code First (五)Fluent API
    Entity Framework Code First (四)Fluent API
    Entity Framework Code First (三)Data Annotations
    Entity Framework Code First (二)Custom Conventions
    Entity Framework Code First (一)Conventions
  • 原文地址:https://www.cnblogs.com/kingzzm/p/3321694.html
Copyright © 2011-2022 走看看