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的黑客文化。
Facebook的工程师文化——《打造facebook》读后感的更多相关文章
- 只有好的棋手才会走运-《打造Facebook》读后感
王淮的<打造Facebook>一书不厚,花半天时间轻松读完.书中没有大段的说教,只有近乎流水的陈述.正如作者所说,打造Facebook这本书由巴克伯格来写再合适不过.可惜他至少在近几年内没 ...
- fir.im Weekly - 如何打造真正的工程师文化
好的工程师,无法忍受低效且无趣的工作.优秀的技术团队应该自上而下的地推进技术平台化建设.DevOps.自动化构建.测试和部署流程,积极采用合适的第三方工具或创造工具,进行周期性的前沿技术分享等等. 先 ...
- 《打造Facebook》
王淮的<打造Facebook>一书不厚,花半天时间轻松读完.书中没有大段的说教,只有近乎流水的陈述.正如作者所说,打造Facebook这本书由巴克伯格来写再合适不过.可惜他至少在近几年内没 ...
- 然爸读书笔记(2013-4)----打造facebook
扎克伯格的真实一面 (1)在公司内部知无不言,扎克伯格在公司内部问答时间.尽可能回答员工的任何问题,保持足够的透明度. (2)员工只有做到对外守口如瓶,我们才能做到对内知无不言. (3)faceboo ...
- Facebook资深工程师带你学Python核心技术
人工智能时代下,Python毫无疑问是最热的编程语言.在推开Python的大门后却发现,Python入门容易但精通却不易. 想要精通这门语言,必须真正理解知识概念,比如适当从源码层面深化认知,然后熟悉 ...
- 什么是工程师文化?各位工程师是为什么活的?作为一个IT或互联网公司为什么要工程师文化?
为什么要工程师文化? 看看最近二十年来社会的发展,计算机和互联网已经渗透到了这个社会的每一个角落,各式各样的计算机技术成为了整个世界发展的强大引擎,各式各样的创新,无论是业务创新还是技术创新,都是依托 ...
- 揭秘FaceBook Puma演变及发展——FaceBook公司的实时数据分析平台是建立在Hadoop 和Hive的基础之上,这个根能立稳吗?hive又是sql的Map reduce任务拆分,底层还是依赖hbase和hdfs存储
在12月2日下午的“大数据技术与应用”分论坛的第一场演讲中,来自全球知名互联网公司——FaceBook公司的软件工程师.研发经理邵铮就带来了一颗重磅炸弹,他将为我们讲解FaceBook公司的实时数据处 ...
- 再谈IT行业工程师文化
为什么是再呢?因为“工程师文化”这种说法网上很多,各种理解,各种版 本,我只是简单说说我的认识,说的不对的地方敬请各位大牛,高手,高高手多多指教,我本身也是个技术人员,不过只是技术不怎么样而已.写这个 ...
- 发布到FaceBook试玩广告,FaceBook要求要一个Html文件
Facebook 试玩广告具体要求: 试玩广告参数是创建试玩广告素材时要满足的要求. 试玩素材应为 HTML5 格式. 试玩广告素材不应使用 mraid.js 格式. 包含所有素材的试玩广告的单个 H ...
随机推荐
- android的selector选择器
1. drawable/actionbar_compat_item.xml 2.drawable/actionbar_compat_item_pressed.xml 3.drawable/action ...
- 离线状态 Postman不能开启Postman Interceptor解决
目前的postman插件如果想正常使用,必须安装Postman Interceptor插件,这样才能直接使用chrome浏览器的cookie等信息,否则postman是无法完成老版本的功能的. 直接使 ...
- 破解NET的四大神器(转)
原文地址 原本这篇文章可以更早一星期写出来与大家分享,由于某方面的原因耽搁到现在,心里竟有那么一点好像对不住大家的感觉.这当然与神器有关,因为我发现利用这四大神器我似乎觉得几乎所有的NET程序破解都不 ...
- pip 解决 ImportError: cannot import name 'main'
当 pip 更新至最新版的时候,不管是执行 pip list 还说 pip install packageName 安装包,都会抛出一个异常 Traceback (most recent call l ...
- 3.5 Templates -- Binding Element Attributes(绑定元素属性)
一.概述 除了正常的文本,你可能还需要你的模板中包含的HTML元素的属性绑定到controller. 1. 例如,设想controller有一个属性包含一个图片的URL: <div id=&qu ...
- activiti 数据表设计
activiti数据表分为5个部分: 通用数据表.流程存储表.身份数据表.运行时数据表.历史数据表 1.通用(general)数据表 以ACT_GE开头 资源表-act_ge_btyearray: 用 ...
- 没的选择时,存在就是合理的::与李旭科书法字QQ聊天记录
2015,8,11,晚上,与李旭科书法字作者,在Q上聊了下 有些资料 涉及到字库设计.字库产业,对大家也有益处 按惯例 没细整理,直接发blog了 ps,9.11 靠,今天是911,早上查资料,在 f ...
- python webdriver 登录163邮箱发邮件加附件, 外加数据和程序分离,配置文件的方式
配置文件:UiObjectMapSendMap.ini用来存放配置信息 GetOptionSendMail.py 用来读取配信息 #encoding=utf-8from selenium.webdri ...
- tomcat jdbc pool
文中内容主要转自:http://www.open-open.com/lib/view/open1327478028639.html http://www.open-open.com/lib/view/ ...
- Least slack time scheduling
This algorithm is also known as least laxity first. 词语解释:Laxity 松懈的:马虎的:不严格的,Least-Laxity-First 松弛程度 ...