在多年的技术管理工作中,我曾不断地遇到很多已经转型或即将转型为技术管理者的同事,他们都表达了一些类似的困惑:如何成功转型?如何在不丢掉技术的同时还能提升管理能力? 以下是我个人在经历困惑和挣扎这个过程后的一些个人想法,在这里分享给大家。 什么是技术思维? 技术思维的成长路径如下图: 图1:技术思维的大致成长路径 基本编程 自己懂一点技术,能够编码实现一些具体的业务功能。 封装能力 具备一些基础功能的代码封装能力。 代码质量 开始关注更多代码相关的范畴,性能/健壮性、可阅读/可维护性、注释/文档、测试意识和能力。 工具能力 关注工作效率的提升 , 编辑工具、搜索工具、测试工具、脚本、插件 , 甚至自己动手写工具。 抽象思维 抽象思维有如下几点:
前沿技术 前沿技术有如下几点:
架构思维 架构思维有如下几点:
毋庸置疑,对于一名技术管理者来讲,应该具备一定的技术思维和技术能力,这是技术管理者的立足之本。 但是,只具备技术思维的管理者,一般来讲喜欢随时冲在技术的第一线,对于技术还处在满足自己的技术成就的心态阶段。 什么是产品思维? 产品思维是从产品功能的角度去看问题,站在最终使用者的角度去思考。 产品经理一般要求具备一些产品设计方面的专业能力,并且具备较强的沟通表达能力。 对于互联网项目来讲,由于互联网产品本身就具有较强的传播性和连接用户的能力,因此产品思维显得尤其重要! 技术管理者应该具备以下这些产品能力:
好的技术管理者应该具备一定的产品思维和产品能力,而不仅仅是把自己放在 “用技术来实现产品”的被动接受的角度。 好的技术管理者,应该理解“永远没有一成不变”的产品功能,技术架构和代码都是为了产品功能的修改而存在。 而我们要考虑的是:
什么是管理思维? 管理思维的成长路径,如下图:
基本管理 是指管理者具备一些基本的以“计划、监督、检查”为手段来进行管理的能力。 沟通管理 是指管理者开始有意识的提升自己的沟通方面的能力。 沟通管理有如下几点:
项目管理 是指管理者开始有意识的提升自己对整体项目上的把控能力。 项目管理包含如下几点:
团队管理 是指对于人和团队的管理,包含管理者基于对于团队中各个成员的不同特点的了解对其进行个性化引导和培养的能力。 同时包含管理者凝聚一个团队,以及在需要时能够快速的形成和壮大一个团队的能力。 一个团队管理的好坏,也会有如下一些方面的指标能够看出一些端倪:
规范化、流程化 管理者在团队成长到适当的阶段时,需要有意识的制定一些流程化、规范化制度,以便能够系统性的规避一些常见问题。但是,流程规范常常和效率形成矛盾。 因此管理者需要的是提出和团队当前阶段相适应的的流程/规范/制度,并在团队的规模和阶段变化时不断的去作出调整和修正,而不是一味的去强调制度规范,对于这个度的把握才是对于管理者最大的挑战。 管理思维是什么,不是什么?总结如下十点:
什么是多维度能力? 如果将一名技术管理者的能力比喻为如下的立方体的体积,其能力公式如下: 整体能力 = 技术能力 * 产品能力 * 管理能力 则任何一个维度能力的短板都将严重影响其整体能力水平,如下图所示:
纯技术思维的人 他们很容易把自己封闭在一个纯粹的技术世界里,在那里只有自己研究的技术;容易固执地认为技术是万能的,技术可以解决一切问题;容易过分的高估技术,人很单纯,也很固执。 他们无法很好的和不同类型的人达成真正的合作,其带领的团队也很难壮大,这样的人适合专注于搞技术,并不适合将其放在团队 leader 的位置。 纯产品思维的人 他们善于沟通、思维发散,初次交往时很会抓住别人的注意力。如果由其掌舵大型的技术团队,长时间后会发现他们容易出现思路逻辑不清。 他们缺乏恒久的坚持和方向感,也容易出现以用户需求之名把团队带进坑里。 纯管理思维的人 如果没有技术或者产品或者其他某一方面能力的补足,在以技术/产品为驱动的团队很难建立起威信,从而很好的带领一个技术团队。 作为一个技术团队的驾驭者,技术管理者需要在头脑中形成技术思维、产品思维、管理思维,等等多维度的能力和思考方式。 如果过分缺少某一方面的能力及思维维度,就如同生活中俗语所说的“少根筋”。从根本上来说,也会对团队带来很大的制约。 技术管理者的思考维度越少,其对某些专项人才的理解能力可能会出现偏差。 团队整体就有可能形成这方面的短板,要么是技术短板、要么是产品短板、要么是项目管理/按时按质上线的短板、要么就是团队成长方面的短板。 这样的技术管理者基本上很难带出特别优秀的团队。 由于缺乏太多其他思考维度,他们无法正确理解和驾驭整个团队的运作,难以接收和正确处理来自各个方向的外部团队反馈的各类信息。 因此团队进步缓慢乏力,他们很容易被别的竞争团队实施“降维打击”,在现实中不乏这样的团队和管理者。 另外,大部分 IT 从业人员有可能在一定的年龄、经验阶段在技术、产品、管理等单项能力上出现成长瓶颈,表现迷茫。 如果你是一名专注写了 5、6 年程序的程序员,可以根据兴趣有意识的去尝试在“产品设计”或者“管理能力”上进行提升。 这种提升不一定非要转型为产品经理或者管理者才能启动,平时做程序开发时多主动参与需求分析和产品设计、多画画原型也能提升自己的产品能力。 多尝试做一些技术团队跟业务团队的沟通、推广工作,或者在团队中主动担负起“带新人”,也是管理能力某一方面的成长。 如果将一个人的整体能力看做 X * Y * Z,如果 X 的成长已经达到阶段性的“极限”,则 Y 和 Z 的增长也不失为提升整体能力的手段! 七项核心能力和成长路径 下图是本人在某大型互联网公司时作为一名技术管理者为团队总结的“技术管理者应该具备的七项核心能力和成长路径”:
以上七项也可以理解为技术管理者应该具备的七个维度的能力。 虽然,包括我自己在内的很多人都无法同时让这七项能力都非常优秀,也不是每一个技术团队都有机会去同时发展这些能力。但是,我还是固执地将其作为自己在技术管理道路上的成长目标。 另外,能力维度和每一维度的能力的高低是有区别的。对于管理者来说,多一个维度少一个维度是质的区别。 同一个维度,能力高下只是量的区别。对于某些阶段的团队,维度的多少甚至比维度的深浅更加重要。 任何一个团队一定是在多维空间中去经营出来的,竞争对手不会原谅你在别的某一项能力维度上的完全缺失! 同样的道理,对于创业者一样的需要多维度思考能力。当然,对于创业者来讲其还应该更多的具备商业思维、财务知识、拉投资的能力等等。 所以,如果创业者认知和能力“缺维”,即使是大公司出来的技术大牛,其独立创业或者作为合伙人创业的表现可能还不如那些当前各项能力一般但能力比较均衡的新人。 以上想法,与诸君共勉! 作者:陈旭 |
|