给新人技术团队Leader的4条建议

前言

笔者从15年5月开始从带3人小团队到目前10人左右规模,从一线研发工程师到Team Leader(下文简写为TL)身份转换的过程中,曾经有过很多迷茫与困惑,完成转换之后总结一些心得写到这篇文章中。

降低编码的时间

多数技术团队的Leader都是从表现优秀的一线工程师中提拔上来的,这个现象在其他行业也普遍存在。而作为工程师本能的希望自己每天继续写代码,沉浸在自己的代码世界中,努力提高技术水平

针对问题上,笔者的建议是,最大程度的降低自己的编码时间。

为什么?

首先需要想清楚TL该做的事情,总结起来有以下两点:

  • 对团队的产出结果负责
  • 对团队成员的成长负责

如果TL每天花大量的时间投入到编码中,那么最终带来损失的是整个团队。

首先,团队的成员会在TL高超的技术水平的光环下,极度缓慢的成长,因为如果大量的需求开发工作被TL搞定了,团队成员就很难有机会得到锻炼。

第二,团队中的真正只有TL能解决的问题被搁置,比如团队成员间配合时的摩擦。比如同兄弟团队配合过程中流程上的问题等等。这些问题一旦被搁置,对团队自身的伤害非常大。

TL要时刻牢记自己如何发挥最大的价值,给团队带来产出,跳出自己原有的“熟悉域”,站在更高的角度去思考。

分配多少时间去处理代码?

首先一定不要走极端:那好吧,我不写代码了,让团队内其他同学去写吧,我就处理其他事情,代码写成啥样也不关心了。

笔者建议分配时间的30%来“处理”代码,“处理”的含义在于,可以是直接写代码,或者是Review其他人写的代码。

前面提到TL的职责,你需要为结果负责,对成员的成长负责,因此花时间去Review代码,给其他成员一些指导和建议是很有必要的。在这个过程中也可以发现工程内潜在的问题,并且作为TL推进解决。

花时间做一对一沟通

作为TL很重要的一点在于为团队内的其他成员服务,了解他们的诉求,分析他们阶段性的问题,并帮助他们去解决。

周期性的一对一沟通是非常有必要的,也是作为TL一定需要花大量时间去做的。

很多工程师的性格都很内向,但一定要迈出这一步,经常性的聊聊天,将你看到成员自身的问题及时反馈出来,并且给出指导建议,对于团队成员的成长是非常有利的。

如何做一对一沟通?

首先沟通的诀窍只有两个字:真诚。

  • 从团队成员成长角度出发,能够达成共鸣,并得到很好的沟通效果
  • 及时直接的指出成员的问题,并帮助他改进

不要让自己成为决策的瓶颈

很多TL自身不参与代码开发但非常喜欢拍板,无论大小都要经有TL决策。

从效率角度出发,如果TL成为决策的瓶颈,TL自身的效率将会大大降低,每天需要处理无数的事情,大脑基本要爆炸了,团队推进事情的效率也将降低,因为任何事情都要等待TL来决策。

从团队成员角度出发,不做决策意味着可以不对决策产生的结果负责,长期下来也就不需要针对事情做过多的思考了,思考少了成长自然也就少了。与此同时他们更多的工作就是一个执行者,对事情没有决策权,每天的成就感也会大幅降低。

该如何做

  • 培养能够作出准确决策的人,给团队成员更大的空间来发挥自己的才能。
  • 参与决策讨论,决策过程中抛开TL的身份,给出必要的建议,但不要身份压制。
  • 对待决策的事情进行划分,能够下方权利决策的事情明确负责人,负责人对结果负责。

传达价值观,以身作则

一个团队的价值观决定了这个团队的行为方式,以及战斗力。

因此从一开始TL就要思考我希望的团队文化是什么样的,团队成员的价值观应该是什么样的,并且在工作的过程中去传达。

比如希望打造学习型的团队,希望团队中每个成员除了开发以外,能够有提高,那么TL就需要去思考一些能做的事情,传达这个想法。

TL的行为方式也会潜移默化的影响到团队中的其他成员。如果口号喊一套,实际做事是另一套,那么事情推进起来就不会很顺利。所以一定要以身作则,为团队成员梳理标杆,让大家明白TL是这样做的,那我也应该这样做。

总结

Team Leader是一个很关键的岗位,在这个岗位上也需要非常多的思考。
简单的做了几条总结,希望能够帮助新人TL,文中的很多观点也是基于现有的认识和经验做的总结,欢迎留言。