这是一天一本书的第二次执行,这次选了一本比较薄的书,上周的书看了一天,脑仁疼。
----
在我组织团队新兵训练营(入职之后一段时间内容集中的培训)时候,
经常和新同事聊到一个词:软实力。
我将其描述为专业技能之外的能力。每个人都这种能力的解读可能会不一样,
我将其拆解为:「对工作的热情;观察力和反思能力;做计划和决策是否周全」。
这种拆解是不全面的,「多年」以后,我意识到,硬实力考衡的是专业的能力,
而软实力则是考衡人的因素。这种晚来的意识让我在一段时间里面,
将自己的工作陷入困境,并且得不到解药。
Google 的两位工程师 Brian W. Fitzpatrick 和 Ben Collins-Sussman
写了一本书[极客与团队](http://book.douban.com/subject/21372237/),通过他们的视角,
告诉大家想要在团队中获得成功的另一面。不要被书名误解,我觉得「开发者和团队」是更好的名字,
虽然没那么酷。
![s26354473.jpg](http://upload-log4d.qiniudn.com/upload_dropbox/201602/s26354473.jpg)
<!-- more -->
> 要在团队中获得成功,你必须以**谦虚**、**尊重**和**信任**为核心原则。
要做的第一件事情,应该就是沟通了。让自己成为一个玻璃玲珑人,
其他人可以看到你的方向、目标和里程碑,同时可以看到你的进展和问题点。
这样不但可以获得工作中的肯定,当个人的目标设定和团队出现偏差,
又或是开发过程中在一个点停顿了太久,可以有其他人参与进来或直接伸出援手。
这种透明度对上对下都应该如此。团队的领导,
应当在开发周期内的早期就明确告知团队愿景、目标和设定的里程碑。
产生共鸣的愿景可以让人对目标有渴望,对自己工作有认同。
各位还记得中国中小学开学第一周里,大多都有一个开学典礼讲话。讲的好的领导,
会阐述自己的教学理念,去年取得的成绩,今年的教学着重点。
讲的差的领导就是泛泛而谈,每年都是一套话术,完全看不到长进。
缺失沟通,还会将个人陷于单打独斗的境地,一个篮球队需要 5 个人大,
一个人牛逼没屁用。
提高工程质量的一个有效手段就是 CI(持续集成),将开发过程中一点点的小进展都以一种机械的方式呈现出来,
并进行测试。另一个有效手段是 Code Review,不但推荐要 CR,更是要尽早、快速的 CR。
避免屎积压多了拉,太臭。
我突然想到一条实践:即便是做一个人的项目,在精简程度上也保持最小的一个阈值,
想象明天就要长假,工作要交给别人维护,如何在交付物里面有足够的信息让其他人知晓细节。
而不是丢给后继维护者一句冰冷的话:「看代码」。
沟通必须是有效的,我想任何人都不想听一个嘴碎的人在那边逼逼一下午。
有很多结构化、一部的沟通可以显著提高沟通效率:
项目看板、设计文档、Code Review、代码注释、数据字典等。
第二个重要的观点是,接受失败,承认自己不是无能的。你可能很聪明,但所做的事情不一定完全都是正确的,
连上帝都会犯错,何况是普通人。犯错不可怕,但是犯错还认识不到可怕。犯错并且认识到了,
但是拒绝承认错误的人,不是可怕,而是应该要被淘汰,这类人会极其难以合作。
如何你周围都是这样的人,或者你上司是这样的人,也许你可以考虑换一个地方,在拉钩搜索「堆糖」试试吧。
关于接受失败的另外一个隐含后续发展就是「成长」。意识到这个世界是动态发展的,
「要以发展的眼光看待事物」是一个非常非常有用的认知。
能自己意识到失败,并且会主动复盘,重新认知自己的人,往往会成长的极为迅速。
关于成长的话题可以讨论很深,以后可以单独拎出来讨论。
书中提到一个失败后回顾的清单:
> 1. 简要
> 2. 时间的时间线,从发现到调查,再到最终见过
> 3. 事件发生的主因
> 4. 影响和损失评估
> 5. 立即修正问题的步骤
> 6. 防止事件再次发生的步骤
> 7. 得到的教训
我就哈哈哈了,这不就是我大堆糖的故障报告模板么?
第三点,如何成长?简单来说,去冒险,去承担自己能力之外的任务,
去挑战没有经历过的任务。有一条[彼得定律](https://zh.wikipedia.org/wiki/%E5%BD%BC%E5%BE%97%E5%8E%9F%E7%90%86):「在组织或企业的等级制度中,
人会因其某种特质或特殊技能,令他在被擢升到不能胜任的职位,相反变成组织的障碍物(冗员)及负资产。」。
前半段含义是,大部分情况下面,并不是具有了相应能力才去承担,而是试着去承担任务。
无论成功与否,对当前去挑战的人来说,都能够得到历练,从而能力得到提升。
第四点是:成为 Leader,而不是 Manager。
一个团队是一艘危机四伏的海面上一只船,如果没有一个船长,那么就前途叵测。
在职业生涯的某些阶段,你可能自然成为船长,也许是一个项目的船长,也许是一个小 Team 的船长。
那么切记,船长是 Leader,而不是 Manager,是能力综合,可守可攻,顺风时候会把舵,
缺人时候可以顶任何岗位的船长。而不是手持大鞭的 Manager。
我觉得新闻联播里面描述的人民公仆,就是一个很好的 Leader。
一年多前之前和铁柱聊过,一个 Leader 是否需要要以能力服众。
我仍然保持当初的观点:「是的」。在目标管理、方向把握上面,
强大的技术背景可以有魄力的开展工作,挖掘新技术,推动变化。
在遇到困难时候,可以决策、解决问题。
这是由这个行业特质决定的,互联网是依赖创造力的脑力劳动,而不是根据人数线性增加产出的体力劳动。
但毕竟不是每个人都一定拥有 Leader 特质,难道就要一辈子做技术得不到上升?
Google 的一种做法,可以很好解决这个问题。分离 TL(techlead)和 TLM(techleadmanager),
前者更着重技术,后者不但关心技术,还关心手下工程师的成长。
用国内互联网的职责分工描述,大概就是有技术专家和团队负责人的区别。
关于这条,书中的几点最佳实践非常棒:
> 1. 放下自负
> 2. 做一个禅师(保持冷静和理性)
> 3. 成为催化剂
> 4. 当一个导师
> 5. 设置明确的目标
> 6. 坦诚(三明治赞美法)
> 7. 记录快乐程度
最后聊一下对书本身的评价。黄易山在 Quora 写过一段非常有名的
[为什么工程师管理这么难?](https://www.quora.com/What-makes-engineering-management-hard)。
这本书讨论的内容要比黄易山那篇回答范围更大,讲述的也更详细(废话,这是书)。
作者是典型的工程师,书目结构易读,第五章从反模式来思考问题非常赞。
我读过几本技术管理相关的书籍,印象深刻的有两本,一本是温伯格的[成为技术领导者](http://book.douban.com/subject/1132623/),另外一本是此书。温伯格的行文比较跳跃、比较抽象,不容易读。
而这本书不但通俗异动,也添加了非常具有可操作性的最佳实践。
从创造力驱动的角度出发,技术开发者都是管理者。因为他们需要设计方案,创造价值,而不是重复劳动,
所以我推荐每个开发者阅读。
好了,学习够了充分的理论,下面就是做起来了,「知行合一」。
----
开给自己的处方:
* 上面提到的最佳实践
* 谦逊:谦逊一些,低调一些,向他人学习
* 坚毅:认准目标,稳步前行,不放弃
* 信心:信念也许可以重建,但是对自己始终保有信心,也许会错,但是要相信自己的判断
* 开会技巧:超过 5 人的会用单向宣讲更有效
----
原文链接:http://blog.log4d.com/2016/02/team-geek/
技术之外
《极客与团队》热门书评
-
老外也有办公室政治的
6有用 0无用 朝雾之归乡 2014-01-20
其实这本书给自己的收获并不多,原因有二:一是自己看了不少介绍软件工程师团队如何工作的书;二是自己在工作中也在不断思考如何才能更有效率地工作,更好地与同事和领导相处;因此,这本书中介绍的内容对于自己来说没有太多的新意。...
-
Career Improvement的敲门砖
6有用 0无用 丸子(^.^)v 2013-06-06
New Google employees (we call “Nooglers”) often ask me what makes me effective at what I do. I tell them only half-jokingly that it’s very simple: I d...
-
做一个关心团队的程序员
4有用 0无用 juvenxu 2014-09-13
这是一本讲团队的书,当然团队不是一般的团队,而是一帮子Geek组成的团队。这帮人坐在一个屋子里可以当面无话可用IRC聊得热火朝天。书的结构很清晰 1. 团队很重要,为人要HRT 2. 建设团队文化 3. 怎么做个好老大 4. 对付害群之马 5. 公司政治学 6. 关注用户。其实最后一章和团队没太大关...
-
极客与团队 -- 读书笔记连载
2有用 1无用 samuel 2013-03-25
第一章:天才程序员的传说现今的代码工作再也不是早年个人英雄主义的工作,没有一项伟大的产品不是团队的结晶,没有一位IT天才不是身后站着一个伟大的团队。所以成功的程序员必须是一个依赖团队、帮助团队、成为团队重要分子的人。而在团队合作中我们却经常会犯致命的错误,比如在工作完成前想尽量隐藏代码或想法防止被其...
-
真的很烦这些五毛啊!
2有用 2无用 Bryt 2013-04-03
书中的观点应该是很好的,不过这些推荐评论看得让人真恶心!还有,我一直很怀疑这些真正的技术极客们有时间、精力和兴趣(重点是兴趣!)去写这种文采飞扬、煽动人心的团队管理方面的论述性文章.....窃以为多半还是枪手代笔,当然并不妨碍观点的正确性...
书名: 极客与团队
作者:
出版社: 人民邮电出版社
原作名: Team Geek:A Software Developer's Guide to Working Well With Others
副标题: 软件工程师的团队生存秘笈
译者: 徐旭铭 | [美] Ben Collins-Sussman
出版年: 2012-3
页数: 176
定价: 29.00元
ISBN: 9787115308443