最近看了周明耀关于技术Leader的两篇文章,这两篇文章分别从领导者品质,团队构建,人员管理等诸多方面深入细致介绍了一名技术Leader职责,并给出了很多实质建议。看完文章,我在大呼过瘾的同时,结合自己的工作的经验,也做了些思考。在我眼中,耐心是一名技术Leader的首要素养,其次是情景管理能力,最重要的是认知升级。
为什么把耐心放在第一位呢?
身为技术Leader的你,无论是公司内部提升,还是通过招聘上任的,在技术方面,那一定是没问题的。身为工程师时,集中精力思考是过往获得一切成绩的前提,但成为技术Leader后,花在与各方沟通的时间在日常工作所占的比例将大幅提升,频繁被打断将成为一个当Leader的副作用。当过程序员的都能明白,代码写到一半被打断是何其恼人的一件事,多少会不自觉的在沟通中带进一丝情绪。通常越想三两句话就说完赶紧拾起思路,对方越理解不了你的意思或者越说话题越扯越远,心中难免压着一口气,然后还半天找不回当初的状态,相信这种郁闷是初为技术Leader的人都经历过的。
事实是当你成为Leader的那天起,你就不能再按原来注重个人完成任务的思路来工作了,你的KPI应取决于你带的团队的任务完成情况。思路的转变,带来的不仅是工作方式的转变,即要让团队作为一个整体来承担任务而不是把任务都压在自己身上,同时你的首要任务也将变成支持团队顺利的完成任务,所有有效的支持都是建立在良好沟通的基础上。在沟通中,每个人都希望自己的说的话能够很快被理解,但是因为认知偏见,我们总是忘记“不了解我们所熟知的东西”是什么感觉,解释的水平可能达不到对方的能理解认知阶段,于是有效的沟通一定需要耐心。
当你对问题理解的更深入更全面时,需要耐心的解释给团队,建立一致的理解,防止南辕北辙;当你不了解情况时,更需要耐心聆听,了解真实的情况。当你向团队成员描述该如何编码实现时,这是最需要注意的地方,首先你说的方式别人不一定会理解,如果你再不耐心,他也迫于你情绪的压力没有接着细问,最后实现出来的效果不是你想要的,就是双输的局面。再则,工作上的沟通中,你急,别人可能更急,说不了两句,你们都陷入到情绪里,问题没解决,反而为以后的冲突埋下了伏笔。
当然在实际工作中,如果凡事都面面俱到,细致耐心,时间一定不够用。在时间压力下,还能保持耐心的,那都是心智成熟高人。我是做不到这点,于是我的思路是通过情景管理,来让自己尽可能的闲下来。
那么什么是情景管理呢?
简单来说,就是依据不同人的能力,工作态度的不同,使用不同的不能的沟通和管理方法。根据能力强弱和工作态度积极,你可以得到如下四种分类。
1. 能力强态度积极
2. 能力强态度消极
3. 能力弱态度积极
4. 能力弱态度消极
第一类人应该是所有团队都欢迎的,对于他们更多的是在符合团队项目优先级的基础上尽可能的放手,同时引导鼓励他们带带新人,或者第三类人,从而分担你的压力。
第二类人是需要让Leader花些心思啦。耐心的沟通是不可少的,但重点是挖掘其内心的需求,是因为工作没有挑战而成就感不足?还是因为没有得到重视或者足够的尊重?或者是觉得薪水低啦?然后对症下药。话说回来,作为Leader,帮助团队的人成长是你工作的重中之重,大家感到工作有乐趣有收获,很多问题都会迎刃而解。
第三类人通常是刚入职的学生。他们身上的积极性是特别可贵的资源,对于整个团队的氛围有很好的正面引导作用,但是这股积极性也非常脆弱,需要你尽可能的耐心的沟通,鼓励和保护,让他们建立信心并逐步成长起来。日常中,也需要让第一类人多和他们沟通,让他们得到更多的安全感和认可,从而快速的融入团队中。
第四类人就是让大家都头疼的。如果是新人还好说,一切还没定型,还有纠正的空间。如果是老员工,特别是那些实力弱态度消极,嘴上还不承认的,他所带来的负面影响是很可能会毁掉一个团队的。那么既然他作死,就只能送他一程咯。
上面说了对人的情景管理。对事,也很类似,就是按照重要性和紧急程度的不同而区别对待,大家应该很熟悉,就不多言了。唯一需要提及的是你以为很重要或者很紧急的事也许未必重要和紧急,对一件事的重要性和紧急程度划分时,需要逆向思考一下,如果这件事现在不做有什么影响?如果我只花预计的一半精力又会如何?多这样问问自己,一些看似重要紧急的事也许就不那么重要和紧急了。
因为每个人的时间和精力是有效的,所以要花在重要的事,重要的人和重要的会上。如何准确识别出来哪些是重要的?哪些是更重要的?就要靠一个人的认知能力及不断的认知升级。
那么什么是认知能力?又如何升级认知呢?
我的定义是认知能力是思考和理解事情的能力。认知升级要靠元认知能力的提升,也就是对思考过程的思考和认知能力。最近读了猎豹CEO傅盛关于认知的文章《认知三步曲》,其中有一段感触颇深。文中写到,“认知,几乎是人和人之间的本质差别。技能的差别是可以量化的,技能累加再多,也就是熟练工种。而认知的差别是本质的,是不可量化的。”。身为技术Leader,很多时候,有挑战的task或者新技术的研究,你是没法亲自执行的,而需要支持团队完成。那么时间长了,不免焦虑,试想新技术我都没有研究过,那么如何保持自己技术Leader的竞争力呢?毕竟程序员是靠技术吃饭的职业。关于这一点,相信很多前辈或者很多文章都提及技术Leader需要吃透技术的本质,很多新的技术是为了更好的解决旧的问题,本质上是新瓶装旧酒。掌握了本质才能快速的识别出新技术的优势和适用范围,在需要使用的时候才知道方向。虽然实际工作中,很多细节使用问题非得亲自使用过才知道,但这里的本质是程序员的另一项核心能力,即在试错中的学习。概括一下,程序员两大核心能力就是技术认知和技术践行,技术践行很重要,但是践行的本质是为了实践认知。脱离了认知,单纯的践行,生活会如滚筒中的仓鼠一样,跑的越快,越焦虑,因为你还在原地。所以与其心急火燎的尝试新技术,不如先吃透正在使用的技术,然后深挖技术背后要解决的问题。身为Leader一定要适应放弃一些安全感,通过别人的实践来验证自己的认知,然后踩着别人的脚印再来实践。
相对于认知在个人发展中的作用,管理团队的认知是管理团队的本质。作为Leader,你的认知属于关键认知,决定了团队的方向,取舍和节奏。但是如果大家和你的认知不在同一维度上,那么管理就会很吃力。当团队中关键人的认知和你保持了一致,即使在做事时和你的设想有些出入,也不会偏离太多。当团队建立了共同的认知,那么在任务估时,分配,功能实现及界面设计等诸多方面就更容易达成共识。如果要设定一个目标,那就是让开发变成技术的业务派,非开发成为业务的技术派,这是开发团队建立共同认知的基础。这一步是非常需要耐心的,也需要通过情景管理逐步建立。
总结
耐心是技术Leader的基本素养,情景管理是必要的管理方法,在二者的前提下,通过自我认知升级,建立团队的共同认知,从而建立一个很耐撕(Nice)的团队。