程序员年入百万指南(五)从一线技术经理到CTO
本文为【程序员年入百万指南】系列之VOL.五 从一线技术经理到CTO
作者:胡嵩
写正文之前: 英雄已逝,而生者仍要继续。不能在一线抗病毒, 只能继续奋发码字,为程序员群体的进化、从而为推动这个国家的进步做一些微小的贡献。
一线技术管理新人的困扰
今天我们来聊聊技术管理的进阶,大家还记得之前写过的技术管理的进阶图吧?
今天我们聊的是红色这条路径的中间这一列。
有小伙伴在后台问,技术经理正下方没有节点了,所以是能一入行就做技术经理的吗?
答案是不能,这个图里面除了走业务路线而乱入的高级产品经理,所有路径的起始节点都是工程师。技术没有进阶到高级,是不应该做技术管理的(现实中也有反例, 那就是成为酱油青芒果参见系列三)。
所以正常来说,能走上技术管理路线的,都是原来组内的技术骨干。由于技术本身过硬,能带来天然的权威,但是由此也产生一线管理者的困扰:
困扰1: 当爹又当妈
一线技术管理仍然要做大量的技术决策甚至还有一些重要的编码需要你来承担,很多小厂架构师和一线管理的职能并没有分开,这样在一段时间内会面临即当爹又当妈的窘境。工作压力相比纯做技术时其实是会大很多的。这时候不少同学扛不住压力,一缩头就走回技术路线了。
这种情况很难避免,可以称为技术人员转管理的第一重考验。嵩哥给大家的建议是咬牙挺住, 同时抓紧培养技术骨干,让新的骨干来承担你原有的技术职能。
知乎上曾经有个一个问题:组内有能力超过我的下属,该如何管理,会不会取代我的位置?
其实摆正心态,这不正是管理者要追求的结果吗? 有技术能力上比自己强的伙伴, 取代你技术骨干的位置, 你才可以有更多的精力放在管理上。
能不能培养出技术能力达到甚至超过自己的技术骨干, 正是嵩哥对一线技术管理者的核心要求之一。
困扰2:自己做到90,还是让组员做到70分?
一线管理在一段时间内仍然是组内技术最强的人, 这时经常会面临另外一个问题:很多事交给组员,他的完成度往往达不到你亲自动手的水平。
这时会出现两种处理方式:事必躬亲式管理和命令放养式管理。
第一种比较常见,因为觉得组员做得没有自己好, 经常忍不住冲上去自己干,或者每件事都抠得很细。这样会导致:
1. 自己累得半死
2. 团队成员养成依赖和惰性——反正事事有人兜底
3. 团队总体绩效上不去
就算你一个能打五个又如何呢?
而第一种情况受挫后, 不少同学又会走向命令放养式管理, 口头禅是:『我只要结果,不关心细节』。 任务传达下命令, 中间过程放养, 最后结果达不到又是一顿发飙。
这样的管理方式, 团队成员一样得不到成长, 产出也不会好,久而久之你的管理威信会日益下降。
正确的做法是:定目标给方法, 定期检查做指导,结束做复盘。
即便组员一开始肯定做得没你好, 也一定要先让他自己做一遍。
前提是把任务做好分解,给每个组员他要足够努力踮脚够一下才能做好的任务。同时把做事的方法给到他;包括你预判可能存在的坑,也可以给些提示(取决于踩这个坑对他的成长而言价值如何)。
如果任务周期较长,执行过程中不要不闻不问,而应该定期检查,询问遇到的问题,同时针对性给予指导。
最后在一个任务完成后,要有意识引导组员做复盘, 先让组员自己总结做的好和有待改进的地方,你再做点评。
这就是教练式的管理方法, 从做一线管理开始, 会贯穿整个管理生涯。
一线的技术管理者, 技术和管理的精力可能各占到一半左右。那么晋升到二线之后又如何呢?
从一线到二线
高级技术经理/技术总监都是二线管理的岗位,和一线的不同,就是两个词的差别:带人做事 和 做事带人。
一线技术管理者的工作主题是:做事带人。
日常是围绕项目来转的,新的需求产生新的技术项目, 在推进项目的过程中,合理分配任务, 同时锻炼团队,培养技术骨干。 因此有些公司的一线技术经理也叫项目经理(和2B交付的项目经理并不是一码事)。
而二线技术管理者的工作主题是:带人做事。
二线技术管理者的管理范畴,对应技术团队中的一个明确的条块,有按技术领域垂直划分的,如大前端、服务端或平台架构。也有按照业务线水平划分的, 例如 电商前台(web+app)、电商后台(crm/进销存/供应链)、商业智能(数据分析)。
不同的业务组合划分方式下,二线的业务类型千差万别,但总体而言, 他对上需要承接业务需求,对下需要管理不同的一线leader(所代表的team),将各team的能力整合为一个明晰的服务接口。
这决定了二线的工作更多需要思考的是如何合理的搭建团队,分解并传递业务目标, 并激励团队成员deliver业绩。
从一线到二线的晋升,最大的改变,一是业务感知力, 知道业务需要什么,从而有更强的技术方向把握能力, 二就是对人的识别使用激励培养的能力更强。
很多卡在一线管理上不来的同学, 问题就在这儿。
而这两项能力的提升,确实需要深厚的积累。 用句行话,叫做底盘要厚实。
欲求木之长者必固其本, 欲求流之远者必浚其源。
业务感知的背后, 是对商业社会的理解, 是对需求的洞察。
人员培养激励的背后, 是对人的理解, 是对人性的洞察。
所以有志于技术管理的工程师朋友, 一定要扩大自己的知识面,保持对世界的好奇,读万卷书、行万里路,再加上阅人无数。
古人诚不我欺也。
技术高管要做什么
做到技术VP/CTO就步入高管序列了。 还有一些公司可能不设/或暂时没有CTO岗位,技术VP就是技术管理序列的最高职级。
技术高管直接向CEO/事业部总经理负责, 要直接面向最终的市场需求。整个技术团队就是你的产品,所有工程师兄弟的产出就是你的产出。
你的工作就是一句话:用技术协助达成业务目标,提升技术团队的能力,积淀公司的技术资产。
因此技术高管需要懂得使用业务人员能听懂的语言,和CEO/总经理一起沟通确定业务的整体战略,明晰技术团队整体目标,并沟通获取所需要的资源(最重要的是人头数,其次机器带宽等硬件资源)。
需要和HR一起确定职能划分,根据有限的预算配置人员,搭建技术团队(初创公司往往没有HR, 那就得自己当HR),尤其关键的管理和高阶技术岗的招聘得亲自上。
需要构建技术职级体系,为技术人员指引成长方向。指导高阶技术与管理人员的成长。
需要把握总体的技术架构,选择适合业务阶段的方案,同时做好技术储备。在合适的时机,将公司内的通用技术平台化,提升整体效率。
从二线管理到技术高管之间,并没有什么不可逾越的障碍,缺的往往是业务的机遇。在快速发展的平台上不断有新的业务,就能让二线多去新业务中去牵头去挑战,就会良将如云;而在一个业务发展停滞的公司,技术管理人员也会批量的遭遇瓶颈。
这些年嵩哥见到的大量的例子,无不验证了这一点。
这就是平台选择的重要性,还是那句话:选择比努力更重要。
那么如何选择平台呢? 这里又有大学问, 我们下回分解。
一起踏上财务自由之路