一,这是一本什么类型的书
软件开发技术类?励志类?人员管理类?其实这本书不属于这几类或者说这几类都不能很好的定义它,这本书是写给程序员看的,教你怎么交朋友,怎么影响团队中的其他人。书中充满了操作性极强的建议和意见,让你在技术团队中过得更开心,变得更有效率,更加如鱼得水。本书旨在帮助程序员改进理解他人,与人沟通,以及与人合作的能力,进而在编写软件的过程中变得更有效率所谓成功的程序员不仅仅是追逐最新的语言或是编写最快的代码。职业程序员几乎都是要参与团队合作的,而且事实上团队直接影响个人生产力和幸福感的程度超出很多人的想象,本书的目标很简单:编写软件是集体项目,而且我们认为人的因素对结果的影响不亚于技术因素。大多数人虽然在编程技术上耕耘数载,但是在人际关系上却从来没有下过功夫,而学习与人合作也是成功路上不可或缺的重要环节。只要你能在软件工程的"软技能"上下点功夫,就能达到事半功倍的效果。
这本书的两名作者都任职于Google,分别是布莱恩·傅攀勃(现任是Google数据解放阵线和透明度工程两个团队的负责人),本·科林斯-萨斯曼(是Subversion的初创成员之一,领导过Google的项目托管团队,现在是Google电子商务伙伴团队的负责人)
Python之父吉多.范.罗苏姆对这本书评价:作者说出了我一直在做但是总结不出来的东西
本书中引用了比尔·库格伦(前Google工程部资深副总裁)的一句话:“工程问题都很简单。人际关系才是最难的”
二,第一章 天才程序员的传说(他们只是个传说)
1.本章的宗旨是理解软件开发是集体项目。要在团队里获得成功,你必须以谦虚,尊重和信任为核心原则,也就是书中提出的HRT原则,以这个原则去你对待你团队中的其他同事
2.帮我把代码藏起来,这是本章首先揭露程序员在协同开发的时候存在的一个问题
作者在Google开源项目托管服务小组的时候,收到了不少这样的请求,这些请求的共同之处就是缺乏安全感,他们不喜欢做的事情被别人否认和批评,特别是还没完成的工作
3.天才的传说
本节首先拿超级球星迈克尔.乔丹,接着又分别列出程序员们心中的超级巨星,莱纳斯.托瓦茨,理查德.斯托曼,比尔.盖茨,他们都是天才吗?其实不然,他们和可能和你一样,只不过他们更会领导团队,他们今天辉煌的成就,绝不是他们自己创造的,而是他和他背后了不起的团队共同创造的,,书中说道:”事实上所谓的天才传说知识我们缺乏安全港的一种表象罢了“。因此天才程序员仅仅是个传说而已。
4.隐藏是有害的
本节提出了隐藏是不明智的,举了两个自行车设计师设计全新的换挡装置的例子,一个设计师自己去设计,闭门造车,结果是可想而知的,一个设计师把自己的想法和朋友分享,一起去设计,结果他制造了一个全新设计的换挡装置,本节提出了一个名词“公车因子”,所谓公车因子就是一个项目里需要有多少人被公车撞到才能令其完全瘫痪,公车因子 = 你的想法 X 多少人知道 ,也就是说项目里知识的分散程度,这里的公车撞到只是一个比喻,其实是指任何生活中都会发生的意外情况,另外提出公车因子外,还提出了整体进展的速度,书中鼓励团队合作开发,不鼓励单独开发,书中说道:“直接和别人一起工作能潜移默化地提升集体智慧”,最后提出:“软件开发是集体项目”
5.HRT(谦虚,尊重,信任)
本节主要围绕这三个词语进行展开,举例印证HRT的重要性,放下自负(保持谦虚才是明智之举,也是尊重他人的一个表现),学会批评和接受批评(别把你的自尊和你的代码等同起来),快速失败(失败,学习,迭代),当你失败后要做的就是进行分析和总结,包括事件发生的主因,影响和损失评估,立即修正问题的步骤,防止时间再次发生的步骤,得到的教训
二,培养出色的团队文化
1.什么是文化
书中这样来形容文化:“团队文化就像是一块含有酵母的面团;酵母(团队创始人)能将菌群培养物植入生面团(团队新人),从而变成一块好吃的面团”
团队文化不仅仅是成员们编写代码的方式或是成员之间的相处之道,它还包含了所有人都认可的经验、价值观、目标
2.为什么要关心它
关心团队文化的原因就在于如果不努力营造它,那么团队最终因为某个特别强势的人的出现而被注入他个人的文化基因,也许是健康文化,产生大量的优秀代码,也可能是腐朽文化,这时可能最初的团队文化和现今的文化会变得截然不同。
3.团队与沟通
优秀团队沟通实践一:同步沟通的时候(比如开会), 人越少越好,异步沟通的时候(比如邮件), 涉及的听众越多越好