作者 | 刘建国出处 | 极客时间《技术管理实战 36 讲》专栏编辑 | Natalie

转型做管理后,你可以用在技术上的时间会越来越少,尤其是写代码的机会越来越少,手越来越生,但是要做的技术评审和技术决策却有增无减,对技术判断力的要求反而也越来越高。这是因为你的决策产生的影响比之前更大了。

无怪乎会有新经理抱怨说:“技术管理者是有违人性的,一方面自己的技术越来越差,另外一方面却还要带领整个技术团队。”技术管理者对于如何保持技术能力的焦虑,由此可见一斑。

事实上,我们的上级和前辈也时常告诫我们,“技术管理者要保持自己的技术判断力”,可见这个问题是大家都看在眼里的,但是却很少有人告诉我们,技术判断力都包含了哪些内容,也很少告诉我们该怎么样去做。

今天,我就来聊聊,在管理工作越来越繁重的情况下,技术管理者该如何保持自己在技术上的判断力。

技术管理者,和普通管理者最大的区别,就是“技术”二字,这也是技术管理者最鲜明的标签和最大的竞争力,它是如此重要,但又令人不知所措,困扰着众多的技术新经理。

从技术工程师到技术管理者的转型,有很多做事的思路和方法都需要转变。其中一个重要的转变就是你和技术的关系,也就是技术对你来说,意味着什么。

当你还是一位工程师时,你是技术的操作者和实现者,所有的技术服务都从你的手中诞生;而在成为一个越来越成熟的管理者的过程中,你越来越少地直接去实操,慢慢变成了技术的应用者,你需要的是把这些技术服务装配成更大的服务和产品。

这么说可能有点枯燥,打一个比方来说,当你是一名技术工程师时,你需要关心的是一个电子芯片该如何实现;而如果你成为一名技术管理者后,你关心的则是如何使用这些电子芯片,组装成一部手机或其他设备。做管理前后对于技术的态度,就如同对芯片的态度一样。

由此可见,当工作角色对你的要求,从一个技术实现者变为一个技术应用者时,你和技术的关系就发生了变化,“技术能力”这个词的含义也悄悄发生了转变。如果你没有意识到这一点,困惑和焦虑几乎是必然发生的。

那么,从技术实现者到技术应用者,具体发生了哪些转变呢?

对于技术实现者来说,程序设计能力、编码实现能力、技术攻坚能力和技术评估能力,都是需要具备的,主要关心的是“怎么做”,属于“how”的范畴。

而对于技术应用者来说,技术评估能力变得尤其重要,因为技术管理者主要关心的是“要不要做”“做什么”,属于“why” 和 “what” 的范畴,是要在综合评估之后,做出决策和判断的。所以,很多前辈都会告诉我们要保持“技术判断力”,而并没有要求我们保持编码能力,原因就在这里。

那么该如何保持技术判断力呢?因为所有判断,都先要评估,所以技术判断力,其实就是指对技术的评估能力。你可能会说,技术评估能力还是虚的,具体都评估什么呢?

作为一个技术管理者,即技术应用者,要评估的维度主要是以下三个方面:

第一个维度是结果评估。即,你要回答“要不要做”,希望拿到什么结果,你要从哪几个维度去衡量结果,从哪几个技术指标去验收成果。

比如,你可能因为提升服务稳定性,去完善服务架构;也可能因为要提升数据准确性,去改写数据采集程序;还可能为了提升性能指标,去重构数据读写模块,等等。无论如何,你心里都需要很清楚,用什么技术指标来衡量团队的某项技术工作,而不只是完成一个个项目。

事关每项工作的效果和业绩,对结果的评估能力最为关键。虽然结果验收都是放在项目完成后,但是在事先就要明确如何验收,这样才能让大家有的放矢,以终为始。

第二个维度是可行性评估。可行性有两层含义:一是“能不能做”,二是“值不值得”。 能不能和值不值得,是两码事。不懂技术的管理者一般问的都是“能不能做”,而有经验的技术管理者和资深工程师,考虑的是“值不值得”。

所谓“值不值得”,就是成本收益问题。收益,往往是显而易见的;而成本,就有很多方面需要考虑了,这正是体现技术判断力的地方。

首先是“人财物时”等资源投入成本,这是几乎每位工程师和管理者都能考虑到的,即需要投入多少人、多少时间,甚至是多少资金和物资在该项目上,这项成本相对容易评估。

其次是维护成本,这是评估技术方案时要重点考虑的。由于我们考虑投入的时候,往往只考虑到项目发布,而发布后的维护成本很容易被忽略。

常见的技术维护成本有如下四个方面,依次是:

  • 技术选型成本。这是指你在做技术选型的时候,选择不成熟的技术所带来的成本。越成熟的技术,其技术实现成本和人力成本都是相对要低的,但是并不是说,选择新技术就一定不划算,只要考虑到成本和风险,才能做出合理决策。

  • 技术升级成本。这是指在评估技术方案的时候,其兼容性和扩展性水平带来的后期升级的难度和成本。

  • 问题排查成本。在做技术实现的时候,要特别关注后续的问题排查。好的技术实现,分分钟可以排查出问题原因;而不好的技术实现和方案,查一个问题可能需要花上几天时间,成本差异不可同日而语。

  • 代码维护成本。在编写代码的时候,要记得代码是要有可读性的。这体现在别人升级代码要花多长时间才能看明白,修改起来是否简单、安全。

考虑维护成本是技术管理者和架构师视野宽阔、能力成熟的体现。

再次是机会成本,这是技术管理者做决策时要意识到的。即,当你把人力、时间花在这件事上,同时就等于放弃了另外一件事,而没有做另外这件事将带来什么样的影响呢?就是你要考虑的机会成本,你可能会因为这个思考而调整技术方案的选择。

最后,希望你还能意识到协作成本,即多人协作所增加的时间精力开销。一个方案的协作方越多,需要沟通协调的成本也就越高,可控度越低。如果可能的话,尽量减少不同团队和人员之间的耦合,这样会大大降低协作成本。

第三个评估维度,即风险评估。技术风险评估,也叫技术风险判断力。即,有哪些技术风险需要未雨绸缪,考虑该技术方案带来最大损失的可能性和边界,以及在什么情形下会发生。这项评估工作很考验技术管理者的技术经验和风险意识,而且需要借助全团队的技术力量来做出准确判断。

对于一个技术方案或一项技术决策,如果你能从以上三个维度去评估,就说明你拥有了很好的技术意识和判断力;另外,你还会发现,如果能做好技术评估工作,你的技术能力并不会降低,还会持续提高。

那么,如何提升自己的技术判断力呢?

判断力不是天生的,也不是一蹴而就的。新经理的技术判断力,基本都来自于之前技术上的实际操作,来自于自己的经验积累。而做管理之后,技术评估方面的要求更高了,研究技术的时间和精力却减少了,这该怎么破?

别忘了,自从你带团队的那一天起,你就已经不是一个人在战斗。所以,你可以依靠团队和更广的人脉,去拓展技术视野和技术判断力。常见的几个方式如下:

  1. 建立技术学习机制。盘点你负责的业务,需要哪些方面的技术,成立一个或几个核心的技术小组,让团队对各个方向的技术保持敏感,要求小组定期做交流和分享,这样你就可以保持技术的敏感度。

  2. 专项技术调研项目化。如果某项技术对团队的业务有重要的价值,可以专门立项做技术调研,并要求项目负责人做调研汇报。

  3. 和技术大牛交流。越是厉害的技术人,越能深入浅出地把技术讲明白,所以针对某项技术找大牛取经,也是学习的好途径。你看,虽然实际操刀的时间少了,但是你和技术大牛的交流机会多了,一方面因为你有更大的影响力了,另一方面,你和大牛有了共同的诉求,就是把技术“变现”,让技术产生价值。

  4. 听取工作汇报。因为你带的是技术团队,大部分工作都和技术相关,在读员工的周报、季度汇报时,相互探讨,也是一种切磋和学习。

最后,你会发现,技术管理人的技术水准的提升和保持,主要看能从周围人的身上汲取到多少信息和知识,而不再只是靠自学。

归根结底,从技术实现者到技术应用者的转变,不断提升的是技术的使用能力,而技术实现能力由于投入的时间越来越少,会逐渐减弱。如果说带团队做项目就像组装一部手机,你会越来越清楚如何把各个组件集成起来,但是你不见得会清楚每一个电子元器件内部的技术实现。

既然你选择了做更大的事情,就不得不适当放弃一些细节,放弃一些技术实现能力,不断提升你的技术判断力,让团队行走在正确的方向上。你说是不是这么个道理呢?

文章出自极客时间《技术管理实战 36 讲》专栏。不管你愿不愿相信,对于互联网技术人来说,“带团队”不再是一个可选项,而是迟早都要面对的事儿。前百度最佳经理人刘建国为你解惑团队 leader 的 36 个场景,传授打造高效团队的 13 种方法,分享十年管理的“战地笔记”。

转载自:https://mp.weixin.qq.com/s/OOtTdGdLeP2aRPcc01GzWQ

好不容易当上技术管理者,却时常担心被下属diss技术水平,怎么办?的更多相关文章

  1. Atitit.技术管理者要不要自己做开发??

    Atitit.技术管理者要不要自己做开发?? 1. 为什么很多管理者不能自己亲自做了1 1.1. 沟通成本多了1 1.2. .组织分散. 1 1.3. 会议多 .协调多 1 1.4. 问题的根源在于我 ...

  2. IT技术管理者的自我修养

    1. 前言 本来写<IT技术管理者的自我修养>与<IT技术人员的自我修养>是一开始就有的想法.但发表<IT技术人员的自我修养>后,收到了不少良好的反馈,博客园的编辑 ...

  3. 史上最全的Java高级技术点,全是Java高级进阶技术,几乎包含了Java后端的所有知识点

    史上最全的Java高级技术点,全是Java高级进阶技术,几乎包含了Java后端的所有知识点 1

  4. AOP技术介绍--(.Net平台AOP技术研究)

    4.1.Net平台AOP技术概览 .Net平台与Java平台相比,由于它至今在服务端仍不具备与unix系统的兼容性,也不具备类似于Java平台下J2EE这样的企业级容器,使得.Net平台在大型的企业级 ...

  5. 音视频编解码技术(二):AAC 音频编码技术

    一.AAC编码概述 AAC是高级音频编码(Advanced Audio Coding)的缩写,出现于1997年,最初是基于MPEG-2的音频编码技术,目的是取代MP3格式.2000年,MPEG-4标准 ...

  6. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

  7. 微软抛弃微软.Net了吗?Net技术的未来在哪里-浅谈微软技术路线

    winform:优点是简单易学,缺点是界面做不好看,界面适应能力很差. wpf:微软结合了显卡渲染技术推出的界面设计方式,模仿html推出了自己的xaml,winform能实现的wpf都能实现,因为w ...

  8. ASP.NET跨平台、分布式技术架构技术栈概览 (迄今为止最全的.NET技术栈)

    今天有个学技术的小兄弟问我,现在这么多的技术我要学哪个?我说你根据岗位来学,学好了哪一门都可以在社会上立足,如今已经早已不是我们当年学习IT时候那么单纯了,给他讲了很多,发现现在的技术栈变得层次复杂且 ...

  9. 为什么DRAM采用地址复用技术?为什么SRAM不采用地址复用技术?

    行列地址复用:比如你的存储器容量是16bit,那么可以将这16个比特组织成一个4*4的矩阵,为了找到某个你想要找的bit,比如第1行第2列的那个bit.你先发送二进制的01,表示要找的数据在第1行:接 ...

随机推荐

  1. 实现base标签中有绝对路径

    1.首先在jsp页面中写一段神奇的JAVA代码 <% String path = request.getContextPath(); String basePath = request.getS ...

  2. js函数(2)

    8.3函数的形参和实参 js中的函数并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型的检查. 8.3.1函数的形参和实参 当调用函数时传入的实参比函数声明时指定的形参个数要少,剩下的参数都 ...

  3. Docker 安装 Tomcat

    查找Docker Hub上的tomcat镜像 docker search tomcat 取官方的镜像 docker pull tomcat 使用tomcat镜像 创建目录tomcat,用于存放后面的相 ...

  4. Object类入门这一篇就够了!

    第三阶段 JAVA常见对象的学习 第一章 常见对象--Object类 引言: 在讲解Object类之前,我们不得不简单的提一下什么是API,先贴一组百度百科的解释: API(Application P ...

  5. System memory 259522560 must be at least 4.718592

    [学习笔记] /*没有下面的话, 会报一个错误,java.lang.IllegalArgumentException: System memory 259522560 must be at least ...

  6. 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据

    request中发送json数据用post方式发送Content-type用application/json;charset=utf-8方式发送的话,直接用springMVC的@RequestBody ...

  7. SpringCloud 教程 | 终章

    错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝.赶快上船吧,老船 ...

  8. javascript之取余数、去商、天花板取整、地板取整

    demo1: console.log('//求余数'); //求余数 console.log(5 % 4); console.log(6 % 4); //求商 console.log('//求商'); ...

  9. hdu 1068 最大子序列和变形,,,

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #d ...

  10. django+uwsgi+nginx: websock 报502/400

    耽搁了近2个月,终于解决了,主要是nginx/uwsgi/django相关的配置: 一.django工程settings.py,添加 WEBSOCKET_FACTORY_CLASS = "d ...