如何做好技术经理
做技术经理也有较长一段时间了,现在总结下技术Team Leader负责的事情以及如何做好技术经理这个角色。技术经理不是一个神秘的角色,也不是一个看重权力的角色,只是职责不同而已。
技术经理有三个角色,下属、管理者、技术工程师,我的理解是“三位一体”。我们先列下各角色主要职责
作为领导的下属,保持与上级顺畅沟通,是保障你团队权益以及你领导力的必要途径:
-
与直接主管同步好公司战略方向、期望
-
向主管阶段性反馈进展以及风险,必要时询求帮助
作为团队管理者,跟进好项目及任务进展,培养好团队是主要工作:
-
带团队做好项目
- 将主管分配下来的OKR以及项目,拆分任务给组员,评估好技术方案以及风险
- 跟进项目/任务的进度以及风险,对进度延迟的及时调整人力,思考当前技术方案是否有更优方案
-
培养团队提升团队作战能力。有技术能力、有团队效率,我的想法是整个公司是个大轮子,团队是个小轮子,转的不够快会影响整体效率,如果转的够快甚至能推动其它部门的效率以及产品整体进度。
- 识别人才,技术能力、架构能力、成长潜力,组员其它的一些软件技能,比如沟通能力、做事积极性、格局思维等也很重要
- 选对人才做相应的事,人才有九宫格的概念,人不可能完美,人才能做好某个范围内的事就可以了。
- 有意识的培养人才,尤其是团队职级梯队,要有高中低职级,不同年龄以及不同职级,这样能形成人员的良性自发成长。另外团队整体素养,要以技术去驱动他们的热情,普及团队技术栈的知识点,提升整个团队的技术专业能力很重要。
- 选取团队的核心人才,作为你部分全局性工作的延伸。比如团队架构师、项目定制经理等,有意识的分出部分团队事务让他们承担,这样能培养后续接班人、后续能快速扩充团队。同时提升他们的全局意识,为团队考虑更多风险。
作为技术开发,承担的是技术攻坚以及架构师方面工作:
-
能够及时识别项目技术方案的问题以及更优方案
-
能够承担产品后续技术维护以及需求拓展,提前设计架构规避风险,提前预计相关技术。比如设计一个高性能的启动项框架,用来梳理项目的启动业务混乱。比如提前考虑后续业务很大可能的需求,提前确认可行性以及形成部分技术组件
-
站在团队以及公司的角度,思考团队的开发效率。比如构建团队技术栈的通用组件库,提升代码可复用性、问题定位效率。
-
引领团队技术创新,作为团队的技术领头羊,你的技术能力基本上会决定是团队成员的技术上限。技术能力强,团队组员也会更信服你,技术经理所谓的人格魅力脱离不开技术能力。
上面是我列的主要职责和内容,按我经验和理解来的哈,可能不全面。技术经理是有多个角色的,全局性思维考虑项目、技术的更多风险以及可能。下面多扯些我自己对技术经理的其它理解
做技术经理,是需要有点脾气的。不能和稀泥,要有底线,和和气气那种的领导,最后擦屁股的事情会一大堆。当然有脾气指的是任务目标不达标、组员们其实也期望规则条理清晰,哪些行为是错误的、哪些习惯是提倡的,不要最后打绩效时再来挑毛病。我看到公司有些主管全程开启放养模式,不讲明开发规范、团队框架流程,出问题就找茬。所以团队内应该明确任务目标、明确行事规则,至少不会让组员平时工作迷茫。
做技术经理,要有决策力,这是根据你以往经验、你的技术知识域来快速归纳结果,选一个最适合当前团队、当前项目、公司情况的解决方案。就比如架构/框架选型,如果是小团队、项目前期,我们应该选择一个合适、简单、后续可演进的方案,比那些华丽、复杂、一步到位的架构方案,更适合当前情况。懂得权衡取舍很重要,事情不可能完美,可以选一个目前最适合、优先级最高的方案
做技术经理,要深入技术开发过程,要能帮助组员解决问题,不管是自己去解决跟进棘手的疑难杂症,还是帮组员思考业务是否有更好的技术实现方案。一些技术方向,比如.NET跨平台,迁移.NET8这都是需要去确认的部分
对技术经理,我理解是为大家服务的。向上服务好公司,把控好项目风险、提前考虑项目以及公司后续发展的软件扩展,包括技术提前预研、架构提前设计,提高开发效率、减少团队运营维护成本等。向下服务好小伙伴们,协助他们处理技术问题,协调人力帮他们提升某个功能送测进度,统一团队开发规范比如代码风格、代码注释、接口设计原则,提升代码可读性、可维护性。我相信,相比屎山一样的项目代码,组员更愿意在一个易维护、易学习的项目里贡献自己的力量。
做技术经理,不同人带团队有不同的风格,我比较倾向于技术型。个人理解是,只有了解具体技术实现才能帮助团队去思考风险、更优方案、后续演进路径,不了解技术的管理能管理啥呢,单纯团队进度跟进的话筒 还是 分任务的机器人?沉入业务流程以及技术原理,才能帮助到产品、团队小伙伴。当然,具体的实现细节,没有风险就没必要去确认了。沉入技术有一个问题,平时技术经理已经很忙了,可能白天忙于各种部门会议、需求评审、客户问题沟通、版本送测跟进,精力有限无法去了解技术。那这个问题,我的建议是把一些全局事务分出来,让几个能力强、全局性思维不错的核心开发帮你承担下,这样能培养他的全局性思考,算是培养你的接班人了,后续你走人或者团队扩招了,他顶上来就能撑起团队。比如产品有定制项目吧,外部项目很多的话可以让一个组员统一支撑,定制项目版本管理、通用代码复用,里面的风险、效率有他帮你一起想,这个模块能做到的更好,另外他是具体细节执行人,可能他比你想的更完善。全局性人才的培养,也能帮助团队考虑更多边界性的风险,这是双赢。当然前提是小伙伴他愿意接哈
做技术经理,也要学会培养人才。能力强、潜力高的,尽量分配有点难度的任务,和他们沟通规划好后续成长路线。当前能力弱或者某方面能力不足的,不要给组员下定义,可以给出客观建议、多观察一段时间,人不是一开始就完美的、都需要有个成长的过程。绩效不能一言堂,多参考团队内其它核心开发以及负责部分全局性工作同学的意见,综合给出比较客观的绩效评分。当然每个公司绩效评分制度都不一样,不可能有完美方案的。比如我前东家CVTE,一个组内大家互评,容易思维惯性形成绩效固定阶梯、平时的高情商沟通等可以增加形象分等,当然如果团队氛围好可能问题不大,有意识的去尽量减少这类无效评分。我们讲回培养人才,比如Windows应用团队做.NET/WPF,我们需要梳理团队技术栈,完整的技术栈+技术培训、分享,能提高整个团队的素养和战斗能力,团队内建议以技术学习成长、分享为主要氛围。
做技术经理,掌握更多知识储备很重要。上面说了决策力需要经验去支撑,上级过来问某个功能是否具体可行性、客户突然提了某个需求,比较紧急的时候是没办法去研究技术细节的,所以我们需要有准备。个人大脑需要提前去了解当前行业的业务方向各类知识,比如我所在大屏行业,可以去了解大屏产品各个外设、行业壁垒、产品硬件功能矩阵、竞品软件生态以及具有竞争力的核心功能、公司战略3年内的规划以及技术可能需要支撑的扩展等等。另一个是技术积累,我们做应用开发需要解耦,为了复用为了高效维护会抽取很多公共组件、业务组件,那么除了当前业务也可以考虑后续发展需要,提前布局技术预研,不需要功能交互落地我们只做技术实现部分,写一些demo把它的可行性确认好,技术实现部分形成组件,需要了解组件设计概念可以看 组件/框架设计原则 - 唐宋元明清2188 - 博客园。有技术组件打底,后续业务功能过来,我们不用回复需要几天时间确认,我们应该肯定的给予需求开发时间。当然提前预研技术组件得掌握个度,和架构设计是一个道理,提前预研是为了解决我们能预见公司几年内业务发展场景的效率,那只需要考虑那些我们可预见的就行了,不必过度考虑。
做技术经理,管理人数不能太多,我的建议是10个左右。20个的话你关注不过来,团队组员技术能力肯定是层次不齐的,不要太期望他们能做的很完美,需要有人去帮助他们评审技术方案、协调人去支撑他们的业务进度。有些同学技术能力强不擅长沟通我觉得问题不大,我们来帮他协调就行了。我遇到过小伙伴在他的错误路线上搞了很长一段时间,反复修改技术方案,这是他没有提前想好设计,也有技术经理未及时参与进去评估技术方案的问题。还有的小伙伴以测试反馈问题为路线,不同的测试对同一个功能实现提了不同问题,技术方案改了一版又一版,技术经理关注不到位也有他的锅。总之,人数我不建议太多,团队效率会降低、产品风险会提高。现在的AI已经很厉害了,一些难的或者路径深的比较难找,简单、通用的技术在AI上搜索速度比goole快多了,更不用说那个广告一堆的百度。说到AIGC,我也不建议依赖它,目前AIGI能做到的只是简单的搜索,可能还会有胡扯,需要我们有扎实的技术基础去筛选、归纳,我觉得后面很长一段时间我们要聚集如何去融汇贯通、对比选型,更多技术知识点、更多技术方案在信息爆炸的时代我们需要自己去判断。AIGC并不能替代开发,我们有情感、道德观、是非观、家国情怀,懂得取舍能把产品做的更好,如果AI后续也有感情、道德。。。当我没说,那时可能已经没有人类。。。emmm,扯远了
技术经理,按我开头说的,没有权力的概念,与其它岗位只有职责区别。就像我现在的上级,作为部门负责人,他除了关注产品的整个链路、如何把产品做好,有时间还会和我们一起跟进、研究代码实现,最近一个定制项目反馈启动黑屏、花屏,他就在协助梳理点屏板模块流程,问题可能出在哪、还有哪些尝试方向,看起来比我更累。可能只有国企那类公司里,主管才看重权力吧。。。
还有其它的,比如沟通,如何与其它部门建立良好沟通,需要协助或者被协助,如何换位思考、借势引导等,这里有很多学习的地方。
总之,按我的经验,我的建议是如果你如履薄冰般的一直去思考你还能做啥,技术经理这个角色做的应该会比较好,毕竟不可能一开始就能掌握所有的不可变,而是根据最新情况及时调整、优化你的团队管理方案。
可能总结不太完善,我是想到什么就写什么。可能有很多不足,但这也是我分享的目的,open后大家也能给我提点建议,哈哈。另外大家觉得技术经理应该如何做好,以及对你现在主管有啥问题可以在评论里聊聊