3

技术转管理,就要丢掉技术吗?

 3 years ago
source link: https://blog.csdn.net/yellowzf3/article/details/113488299
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

技术转管理,就要丢掉技术吗?

置顶 技术领导力 2021-01-31 09:05:00 17072

许多技术管理者都有这样的困惑,我们做技术管理的,写代码的时间越来越少,手越来越生疏,但是参与了更多的技术评审和技术决策,这似乎是件很矛盾的事情。

因此,他们时常感到很焦虑,自己技术能力越来越差,日常管理工作又非常琐碎,没有时间提升技术,会不会有一天年龄大了,失去了价值或性价比,就被行业淘汰了。

其实,这里面有两个问题,第一,技术管理者的核心能力是什么;第二,技术工程师和技术管理者的技术能力有什么差别。

先说第一个问题,技术管理者的核心能力是什么,说实话这也是曾经困扰笔者的问题,直到有一次上MBA课程的时候,教授的一句话让笔者一下子通透了。

“管理者的核心能力是什么呢?是职业判断力。”

在2013年,阿里巴巴的张勇看到了移动互联网的未来,提出“All in移动”,帮助阿里顺利拿到了移动互联网时代的头等舱,这就是职业判断力。

海尔张瑞敏,在互联网时代来临时,提出了“人单合一”模式,“革自己的命”,企业获得了重生;在万众创业的时代,他提出“创客模式”,把企业变成创客平台,释放了企业的创新力。这也是职业判断力。

同样的道理,技术管理者的核心能力就是技术判断力。技术判断力简单说来,就是某个技术项目“要不要做”,要做的话“能不能实现”,是否适合现在做,还要考虑技术风险、项目管理复杂度、成本等,已经远远超出了写代码的范畴。

工程师和技术管理者的技术能力

有什么差别?

第二个问题,技术工程师和技术管理者的技术能力有什么差别呢?简单来说,技术工程师的技术能力就是写代码,做具体的技术实现。技术管理者的技术能力是技术判断力,通过在技术领域和非技术领域的长期积累培养起来的技术决策能力

许多朋友,一直把技术工程师的技术能力与技术管理者的技术能力混为一谈,讨论技术总监应不应该写代码是非常可笑的。

这要分场景来看,例如,创业团队缺乏资源,技术负责人当然事必躬亲,动手写代码,但当团队慢慢壮大时,技术负责人就要把重点放在做技术决策上面。

也就是说要看团队所处的阶段和团队规模,以及技术负责人的角色定位,来决定他的工作内容究竟是做技术实现,还是做技术决策,还是两者兼而有之。技术总监或CTO是否写代码,离开具体场景的讨论是没有任何意义的。

技术判断力,要判断哪些事情?

技术判断力主要体现在三个方面:

第一,对结果的判断

即这个事情做还是不做,用什么样的指标来衡量它的好与坏,例如,开发人员提出要用Flutter对现有App进行重构,技术管理者就要给出一个判断做还是不做。

技术人员考虑这个提案的出发点也许是想“玩一玩”新技术,给自己的简历加分,而作为技术管理者,考虑的是现阶段公司App的关键问题是什么,假如是App的稳定性、开发速度不够快,那么Flutter作为一种新技术框架,能不能解决现有的问题呢?如果不能,那么现在引入它也许还不是最好的时候,可以安排一两个技术人员做预研,开始关注这项技术。

不难发现,技术工程师跟技术管理者对同一个问题的思考角度和维度差别很大。

第二,对技术方案的判断

即对技术可行性、可维护性、成本收益等方面进行判断,通常在技术方案评审环节给团队进行指导。

如方案是否具备技术可扩展性、能不能为公司建立起技术壁垒、技术框架里有没有详细日志记录、出现线上故障时是否有预警,并且提供详细的错误日志进行分析、选择这项技术的机会成本如何等?

所谓机会成本,即选择这项技术就会放弃另一项技术,有没有可能另一项技术的收益更大呢?

技术管理者对技术方案的判断也比技术工程师思考得更深、更全面,技术工程师或许只考虑好不好实现,而技术管理者要确保在方向上不出现大的偏差。

第三,对风险的判断

包括技术风险、项目执行风险、团队风险等方面。技术管理者利用自己的经验、思考分析、团队讨论等手段,识别出主要的风险,并采取措施进行规避。

技术管理者平时做的技术评审、项目回顾、技术方案规划等工作就是在做技术判断,技术能力并没有变差,因为作为技术管理者,技术判断力在日常工作中得到了持续的锻炼和提升。

如何提升技术判断力?

新晋技术管理者的技术判断力,主要来源于之前写代码和做项目的经验积累,这时候要做好知识迁移,将技术工程师的经验认知转换成技术管理者技术判断的认知。

技术判断力的提升,主要有四个方面:

第一,团队日常技术和产品工作汇报。团队在汇报技术和产品进展时,是获取信息反馈、验证技术判断的大好时机,看看自己之前的技术决策产生了哪些影响,有无需要调整的地方,也可以学到下属们的思考和经验,及时更新自己的技术和产品认知。

第二,参与技术方案评审。小到每次Code Review,大到系统整体方案评审,都要尽量参与,尤其是大型系统整体架构评审,这是系统化提升技术判断力最好的机会,架构师的讲解,包括架构设计的逻辑、每种技术的特性等,结合自己的理解和经验给团队提供反馈,架构判断能力也可以得到提升。

第三,主持系统顶层设计和规划。技术管理者可直接担任或主持系统顶层设计规划,业务架构规划、系统各层的划分、子系统之间的数据交互协议、技术框架选型、系统容量规划等,从技术整体架构进行把控,再由团队进一步展开做更细的规划。

第四,持续学习新技术。从事技术管理工作,并不是说完全丢弃技术,只是放弃了大部分的代码工作,但是新技术的学习是不能停止的,如人工智能的技术框架、机器学习的几种模式及擅长解决哪些问题等。

再比如区块链几种共识算法的特点、实现原理、加密算法、记账方式差异等,关注的是这项技术解决什么问题、实现的原理和机制,而不是如何熟练使用这个新技术写“Hello World”,当然写一些demo对于加深理解是有必要的。

本文节选自《技术人修炼之道:从程序员到百万高管的72项技能》一书。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK