晓风博客

一片荒芜的地方

做 Tech Lead 时犯下的五个错误

本文摘选翻译自 ThoughtWorks 文摘 Techie to tech lead: My five biggest mistakes

Tech Lead 就应该是团队中技术最强的那个人吗?

技术的强弱和实际的权力并不等同,不要因为自己的技术实力不是最强的就感觉到不安全,甚至觉得其他人是自己的竞争者。一旦自己缺乏自信,在做决策的时候就会变得犹豫不决,难以做出有价值的决策。

在拓展自己的能力的时候,过于专注在技术

通常在自己领域自己的自信心是非常足的,但是在其他的事情上比如客户会议上自己会感觉到力不从心。了解自己在其他方面(影响力、战略性思维、说服力、指导能力等)的不足是非常重要的。但往往这些软实力不像开发这样的硬实力我们知道明确的学习路径,这些软实力的学习往往更加的困难。

继续把自己当成一个独立的交付单位

团队中分为两类人,直接交付价值的人(如工程师),另外一类就是最大化生产效率的人。这类人有 QA/BA/Lead 他们的直接目标是想办法通过移除 blocker 解决痛点等。帮助直接交付价值的人产生更大的价值。因此站在这个角度上自己所参加的会议、招聘等事情都是在交付价值,而不是说只有好好写代码才是在交付价值。

即便是作为 Tech Lead 也并不是所有事情自己都清楚的或者必须要清楚的

作为 Tech Lead 我们应该更专注于重要的事情上,而不是哪一行代码有问题或者是有什么 Bug 甚至是这块代码写的不符合 OO 的思想。充分的信任团队能够处理好日常交付的事情并引入更高效的工具比如团队 code diff 来避免这些问题。而自己应该专注在更重要的事情,比如架构。如果说有哪个架构改变了而 Tech Lead 不知道,那这是不应该的。

注意到团队中发生的“信号”

作为一个开发你可能只关注自己的 Story 是否发生变化,而作为一个 Tech Lead 需要对自己团队中的气氛,或是生产效率有敏锐的嗅觉。真正优秀的领导知道当前团队中各个信号的现状以及怎么去做出改变。这些能力是可以刻意学习的。

对一个 Lead “新手”来说可能会犯很多错误,这些错误往往是相关的。比如自己过于重视技术本身对自己的影响就会陷入一个开发者的思维。这也会阻碍自己意识到其他方面的问题并学习其他的领域。而作为一个“人类”而言,其他的能力例如沟通、说服、快速学习、解决复杂问题、抽象思维能力等等都是非常重要的。如果只专注于技术并且回归到技术领域可能是好的,但这也只会让你成为一名技术专家。同样 Tech Lead 所需要的这些技能也并不是只有真正的 Lead 才能够去学习,团队中应该培养这样的机会让更多人在安全的环境下学习和发展这项能力。