《极客与团队——软件工程师的团队生存秘笈》知识点

第一章 天才程序员的传说

要在团队里获得成功,你必须以谦虚尊重信任为核心原则。

这是这本书的核心内容,全书基本围绕这这个核心原则来论说。

好的点子和高潮的技术并不是软件成功的充分条件,你的职业生涯能否成功完全要看你能不能与人合作

很多程序员害怕和别人分享他刚开始做的东西,原因在于:

这意味着同行会看到他们的错误,从而知道这些代码背后的作者并非天才。

补充一句:更多的甚至是害怕别人觉得你笨、傻、蠢。

另一个原因是害怕别的程序员会偷走你的创意,然后抢先发布。所以只要保持低调,创意就不会被偷走了。

论证反驳:

真正做出产品之前不愿分享好创意实际上是一场很大的赌博,你很容易在一开始就犯下很基本的错误。

尽早分享不仅仅可以防止一开始就步入歧途和检验创意,它还可以强化所谓的“公车因子”。

什么是公车因子?

一个项目里,需要有多少人被公车撞到才能另起完全瘫痪。

也就是说:

你的项目里知识的分散程度是多少?

如何才能打造出(或者找出)优秀的团队:谦虚、尊重、信任,也就是HRT。

HRT实战

  • 放下自负:想办法促成“集体”荣誉感。不要去担心你的个人形象是不是高达,而应努力去营造一种团队和集体荣誉感。
  • 学会批评和接受批评:
    • 批评:不要人身攻击、在尊重对方的情况下提出建设性的建议。
    • 接受批评:要信任对方,相信他是从心底为你好(当然还有你的项目)。
  • 快速失败:学习;迭代

    从错误中学习的诀窍是要记住自己摔倒的地方,按商业用于来说就是“事后检讨”。

  • 抽出时间不断学习

  • 保持足够的耐心
  • 对影响保持开放的态度:
    你越是容易受影响,你就越能影响别人;你越是示弱,你就越强壮。

第二章 培养出色的团队文化

团队文化
就像是一块含有酵母的面团:酵母(团队创始人)能将菌群培养物植入生面团(团队新人),从而变出一块好吃的面包(团队)。

每位成员都是团队文化的一部分,都要为定义、维护和保护它做出贡献。

如果你在招聘的时候不重视团队文化的契合度,结果招了一个不合适的人,那最后无论是让他融入团队还是请他走人都要耗费你大量的精力。

沟通的指导原则之一:
在同步沟通的时候(比如开会),人越少越好。
任务宗旨的重要性:
  • 对工程团队来讲,撰写任务宗旨就是要准确地定义产品的方向和范围。
  • 撰写任务宗旨强迫他们在产品的走向上求同存异,否则到时候一定会拖缓(甚至停滞)开发进度。
  • 任务宗旨可以保证项目不会随着进展而偏离目标。
  • 任务宗旨应该与时俱进,及时反映公司或者产品的变化。

有效率地开会:

  • 如果打算做一些新的设计,那么尽量吧会议人数控制在5个人以内——除非只有一个人可以拍板,否则在超过5个人的会议里是做不出任何新设计或者决策的。
  • 有效开会的5个要点:

    • 只邀请一定要参加的人;
    • 开会前要决定好议程,而且要事先通知所有人;
    • 达成目的后应提早散会;
    • 注意别跑题;
    • 尽量把会议安排在休息时间前后(比如午饭时间,下班前等)。

地理上分散的团队: 邮件列表是必不可少的。

邮件列表上查不到的讨论等于没发生过。

设计文档的重要性: 勾勒出整个项目的前景,告诉整个团队你想做什么以及打算怎么做,而且此阶段比较容易接受意见和建议,帮助你改进产品和优化实现,另外还能帮助你安排划分项目的工作量。

成功的项目都有好几个邮件列表,吧开发讨论、代码审查、用户讨论、公告发布、调度邮件,以及各种管理所是区分开来。

关于代码注释:

注释一般是用来说明代码里确实的部分,以及起得不好的名字,然后把代码的功能在解释一遍。注释应该尽量解释为什么代码要那么写,而不是去解释代码做了什么。

绝对不要在代码源文件里署名

第三章 大海航行靠船长(团队领导人)

传统型经理关心的是怎么完成任务,而主管只关心王城了什么任务……(并且相信团队能自己想出解决问题的办法)

仆人是领导:

最重要的工作就是为团队服务。

你应该努力去营造一种谦虚、尊重和信任(HRT)的气氛。

仆人式领导唯一要做的管理工作就是对团队的技术和认识健康状况负责。

怎么才能有效地调教表现不好的人呢?
  • 在HRT的前提下进行微管理:设定一个期限,设定小一点的目标,循序渐进,没有都要检查一下进展情况,每个里程碑的目标都要清楚无误,无论如何都要手把手的帮助表现不好的员工。

  • 不要和谁都成为朋友 当你掌握了别人的生计时,此时别人对你的友情会有很多虚假成分

  • 和大家一起吃午饭是拉近距离的好办法。

优秀的团队不会降低招聘标准

乔布斯曾经说过:“顶尖的人会雇佣和自己一样优秀的人才,而差一点的人只会雇得到更差的人。”

领袖的处世之道
  • 放下自负: 你应该信任自己的团队,以开明的态度对待反馈和批评,千万要克制住搞一言堂的冲动,一定要为自己的错误道歉。

  • 做一个禅师

    • 领导的人越多,保持淡定和冷静就越是重要。
    • 禅式管理的另一个秘诀:提问。

      工程师来问你建议通常不是要你去解决他的问题,而是要你帮助他解决问题,所以最简单的方法应该是问问题。

      正确的做法应该是在HRT的原则下,帮助他解析分析问题,从而达到让他自己解决问题的目的。

  • 成为催化剂:引导大家达成共识,让团队了解到你帮助他们解决障碍的意愿和能力是非常有价值的事情,给予他们安全感。

    把失败当成是一种快速学习的方法,只要你不重复自己的错误就行。

    个人的成功可以在众人面前表彰,但个人的失败最好还是私下检讨吧。

  • 当一个导师

    • 成为一个导师只需要具备三个条件:
      • 熟悉团队的流程和系统,向他人解释事物的能力;
      • 估计被知道的人到底需要多少帮助;
      • 给你的学生提供足够的信息,但也不要解释得太多,免得啰嗦。
  • 设置明确的目标:最佳方法就是为他们写一份简明扼要的任务宗旨。

第四章 对付害群之马

第五章 操纵组织的艺术

第六章 用户也是人

Wilson

张弛有度、简约不简单