Team Geek - 程序员社交指南

Donald KnuthLinus Torvalds,关于天才程序员的迷思似乎无处不在。然而,以下两点事实不容忽视:

  1. 对大多数人来说,很可能,我们并不是那位天才。

  2. 更多情况下,现代的大型软件都是由团队所创造的。

程序员们大都不太原因处理这样的情况,毕竟编译器比人好对付的多。然而 Richard Hamming 教授,也在他的著名演讲 You and Your Resarch 强调了社交的重要些。而 Team Geek 一书,更是一本更加全面的程序员社交指南。

本文则简要总结书中要点如下。

1. 原则

书中提到了三点最重要的原则: Humility , Respect and Trust, 简称 HRT .

  1. 谦逊 Humility

    每个人都可能犯错,承认自己的错误并不是什么丢人的事情。这与自信毫不矛盾,反而是自卑的人畏惧去承认

  2. 尊重 Respect

    尊重感就像空气,当它存在时,没有人会想到它。但是,当你把它拿走,人们脑袋里面想的就只有尊重 。(《关键对话》)

  3. Trust 信任

    相信别的的能力,懂得放权。

2. 方法

  1. 注重团队文化

    团队的文化和氛围不仅仅是主管或者创始人的事情。每一个人都有责任去维护他,每个人也都会从中受益。出色的工程师只会出现在出色的文化环境下。大家需要有共同的目标,认可共同的标准(包括代码之内和之外的), 才能更好的协作起来。

  2. 管理即服务

    领导程序员(或者其他任何 knowledge worker),绝不能像家长管孩子一样。而是要能提供好的条件和足够的信任,让大家发挥出潜能。不要畏惧成为 tech lead.

  3. 保护团队

    “害群之马” 会在不经意间出现,并且极大的破环建立起的氛围。原则问题绝不能容忍。注意力和专注是团队最重要的资源,必须要仔细保护。

  4. 适应大公司

    大公司是一个复杂的有机体。当遇到优秀的经理时,需要再完成当前工作的前提下,不断要求更多的责任。这意味着离开舒适区,风险和收益并存。同时警惕所谓的办公室政治高手,远离他们。

    确保团队内外的人知道你在干什么,而且干的很棒。

    花费精力在发布产品上面。平衡进取性(新功能)和防御性的工作(例如重构)。

  5. 如果需要离开

    优秀的工程师永远是紧缺的。认识到自己的潜力,寻找合适的机会。永远不要放弃

3. 技巧

  1. 同步沟通(例如开会)的时候,人越少越好,越短越好。异步沟通的时候(例如邮件),人越多越好。
  2. 会议日程提前准备,精简人数。尽量安排再休息时间前后。
  3. 重视文档和代码注释,但不要过度。
  4. 统一代码风格。
  5. 每一次提交都需要 Code Review。
  6. 自动化测试,发布以及各种其他流程。
  7. 雇佣比你聪明的人,而不是只听话的人。不要降低招人标准
  8. Hope is not a strategy
  9. 保持冷静。你的反应会被放大。
  10. 成为催化剂。
  11. 成为导师。
  12. 帮助大家实现愿望。每个人都有不同的需求。
  13. 知道什么时候做恶人。
  14. 激励的三大元素:自主,精通以及目标。
  15. 警惕过度的完美主义。
  16. 关注长远。
  17. 不要把用愚蠢可以解释的行为归结为恶意。
  18. 通常是沟通不足,而不是沟通过度。
  19. 请求谅解比请求许可容易得多。Do the right thing, Wait to get fired
  20. 路是人走出来的。
  21. 避免答应做不到的事情。轻诺必寡信。
  22. 乐于帮助别人。
  23. 晋升到安全的位置。
  24. 向高层人士求助,如果可以他们会愿意帮助的。

总结

书中提到了许多的方法和技巧,有些也许适合你的环境,有些也许并不。最重要的,还是 HRT 三条原则,以及愿意走出技术的舒适区,做出更大成就的心态。

*****
Written by Functor on 06 June 2018
Tags: [ 思考  工作  读书笔记  编程  ]