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

许多技术管理者都有这样的困惑,咱们作技术管理的,写代码的时间愈来愈少,手愈来愈生疏,可是参与了更多的技术评审和技术决策,这彷佛是件很矛盾的事情。
程序员

所以,他们时常感到很焦虑,本身技术能力愈来愈差,平常管理工做又很是琐碎,没有时间提高技术,会不会有一天年龄大了,失去了价值或性价比,就被行业淘汰了。算法

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

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

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

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

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

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

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

有什么差异?url

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

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

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

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

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

技术判断力主要体如今三个方面:

第一,对结果的判断


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

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

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

第二,对技术方案的判断

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


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

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

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

第三,对风险的判断


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

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

如何提高技术判断力?

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

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

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

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

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

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

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


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


这本书按照技术职场人的成长轨迹,首先关注技术人的职场定位、思惟方式升级、职场沟通、架构思惟、学习能力和创新能力。

而后介绍从技术转管理会踩的坑、有效管理的原则、打造高效组织架构、团队高效执行力、技术人才的选用育留、管理者的自我修养、管理者的商业思惟。

全书总结了从程序员到技术高管,所需的72项技能。这些技能来自50多位一线互联网公司从业者的经验总结,以及做者将近20年的职场经验。

该书已在京东、当当、淘宝等主流电商平台热卖,请戳连接:

好文推荐:

Leader如何搞垮一个核心员工?

ERP“红”了20年,“中台”5年就挂?

杀死那个996的年轻人

如何成为一个搞垮领导的下属?

相关文章
相关标签/搜索