美文网首页Java
找公司 CTO 聊了聊,原来成为技术总监需要掌握这些能力

找公司 CTO 聊了聊,原来成为技术总监需要掌握这些能力

作者: 前端架构巴拉啦 | 来源:发表于2022-11-23 10:18 被阅读0次

对于做技术的程序员朋友来说,我们都知道有两个发展方向:纯技术与技术管理。对于管理方向来说,技术经理、技术总监、技术 VP、CTO 是一个很常见的职业发展路线。在学而优则仕的中国文化背景下,走技术管理路线是大多数人的理想方向,但他们却不知道怎么一步步去实现自己的目标。

实际上,在职业生涯规划中有一个叫做「职业生涯访谈」的工具,它通过与目标岗位的人访谈,可以帮助你看清目标岗位的工作状态、能力模型等信息。通过职业生涯访谈,你能更好地认清自己存在的能力差距,帮助你更好地制定学习计划,让你更高效地向目标岗位进发。

对于我来说,技术总监的能力模型也是谜团一样的存在。为了更好地解答这些问题,我很幸运找到了一位创业公司的 CTO,并与其进行了一次深入的职业生涯访谈。在担任创业公司 CTO 之前,他在国内一线互联网公司担任了长达 4 年的技术总监,其在技术总监岗位上已经有非常多的积累和实践。

这次访谈对我收获非常大,让我进一步认清了技术总监的工作环境以及技术总监的能力模型。我相信这么高质量的内容对大家也有帮助,于是在征得当事人同意后,我将访谈内容整理成文与诸君分享,希望给同在奋斗路上的小伙伴们一些启发。

此次访谈对象是一位工作了 15 年的创业公司 CTO(下称 D 哥),其职业履历大致如下:

2008 年毕业,校招后进入腾讯工作 6 年。
工作第 6 年,进入国内某手机厂商任职技术经理。
工作第 9 年,晋升为公司技术总监。
工作第 13 年,进入某独角兽创业公司担任 CTO。
以下是此次访谈的详细内容,以问答方式呈现。

树哥:对于一个岗位来说,弄清楚它的岗位职责非常重要。在您长达 4 年的技术总监职业生涯中,您觉得技术总监的主要职责是什么?

D 哥:技术总监,重点在于总字,至少是某个产品所涉及到的技术都归你管。例如对于网易的某个游戏产品来说,那技术总监就要对这个游戏产品所用到的所有技术负责。从职责上来讲,他对所有的技术结果负责,没有任何推脱的借口和理由。

不同公司对于技术总监的定位不一样,有些公司可能技术总监只负责后端团队,有些可能会多负责前端、测试、运维,有些可能还会兼管产品团队。但无论如何变化,总监应该是负责某块内容的所有技术,例如:前端部门的技术总监负责所有与前端相关的技术,测试部门的技术总监负责所有与测试相关的技术。

树哥:这么来看,技术总监主要是意识层面有了进一步的提升。相对于技术经理只关注某个系统的技术问题,上升到了关注整个产品(部门)的技术问题。

D 哥:说得对。对于一线员工来讲,只需要做好自己的需求,他关注的是某个功能模块或者说某个系统。对于技术经理来说,则是关注某几个业务系统。而对于技术总监来说,则需要关注产品所涉及到的所有技术实现。

树哥:在许多小伙伴看来,技术总监似乎是一个很舒服的岗位,只需要派发一下任务就好了,又不需要自己去写代码干活,实际上真的是这样子吗?您能不能给我们说一下技术总监一天是怎么度过的?

D 哥:这可能是一个误解。虽然技术总监确实可能不怎么写代码,但他绝对不可能清闲,反而会比绝大多数人还忙、还累!至于为什么这么说,我跟你讲讲我大致的时间安排就知道了。

对于我来说,我的工作时间基本可以分为三大块,分别是:管理部分(50%)、技术部分(40%)、个人成长部分(10%)。

管理部分又可以分为向上管理、向下管理、同级配合三大块,这块会占用我大概 50% 的时间。

对于向上管理这块,指的是与上级的沟通,以及对公司层面信息的把握。首先,你要知道公司、部门层面最近做出了什么决策,有什么业务活动要开展。当你了解这些内容之后,你需要提前思考如何更好地去支持业务?

以什么样的技术、什么样的资源、什么样的组织形式、什么样的节奏去支持业务?其次,你要与上级和公司统一沟通的语言,比如业务语言、数据语言。例如你作为一个技术总监,你的上级是一位销售,你需要支撑双十一活动。

那么你需要通过他听得懂的语言来沟通,比如当前的系统能支持每秒 XX 笔订单,并且我们能实时地监控网站的 PV、UV,以及下单整个漏斗环节的数据等等。

对于向下管理这块,指的是团队分工、协调等问题。首先,你要知道下面的团队每天都在做什么?团队里存在什么问题?这些问题是什么?是能力问题,还是人的问题?还是匹配度的问题?还是成就感的问题?明确了具体问题之后,你要想想应该怎么解决?

如果是团队人才梯队不够,那么需要通过招人补充,那么招人也花费一些时间。如果去找一个优秀的人,需要去学习对应的技术。例如之前没写过安卓,但你要去组建客户端团队,这时候你需要去学对应的技术。

对于同级配合这块,指的是对于兄弟团队的配合。例如你是后端团队,那么就是产品、测试、运维、前端就是你的兄弟团队,你要多去了解他们的情况,他们是否需要你的一些帮助?需要什么样的帮助?

比如,双十一期间,你需要和你的下游团队(比如运维团队)提前沟通好计划,必要时要将几个团队临时合在一起成功一个专项来推进。

技术部分主要是指处理与技术相关的问题或决策,这块会占用我大概 40% 的时间。

例如团队里重要项目的技术方案评审,你可能需要去参加一下。此外,如果你的技术方案依赖其他技术团队的基建,你需要去跟他们沟通整体上的规划。例如公司要做两地三中心的落地,那么你的团队就需要去配合整个公司的基建团队。

例如其他兄弟团队要做公司主数据统一,那你需要去协作做这个事情。例如线上出现了某个故障,那么你需要去看到底是什么问题导致的。

例如要新采购服务器要花多少钱,是否值得。要花时间去做技术规划,例如看到未来的方向,例如引入自动化测试,那你需要去研究这块东西。

个人成长部分指的是一些个人能力成长的规划,这块占用大概 10% 的时间。

这块时间主要用来思考自己还欠缺哪些哪里?我需要怎样去提升、锻炼这些能力?我如何能在当前团队里锻炼这些能力,又能对团队有收益?

树哥:对于我来说,技术总监的工作内容似乎都比较神秘,您能不能给我们聊聊这个岗位的工作环境、工作时间、工作强度是怎么样的?

D 哥:写代码可以说是最舒服的工作了,因为代码是确定的,你只需要按照逻辑完成就可以了。但对于技术总监来说,他要处理的事情就五花八门了。无论什么类型的总监,他的工作环境基本上是纷杂的环境。啪的一下会有人找你问这个事情,啪的一下又有一个会议要找你支持。

对于技术总监这个岗位来说,他是一个一直有各种信息输入让你做决策的岗位,较少处于一个非常安静、不受打扰的环境。做总监之后,我基本上没有一个小时戴耳机安静工作的情况。

所以如果你喜欢一个安静地工作,那么总监可能不适合你。对于总监来说,50%、60% 时间都是在开会,开会就是工作的一部分。总监做决策,需要各种信息,而开会就是信息输入的方式、并且有时需要当场处理及输出决定。

对于工作时间和精力来说,很多人会觉得技术总监应该会比一线开发轻松,但实际上并不是这样的。对于一个处在发展中的公司来说,技术总监的工作时长、需要投入的精力一定会比一线员工长。

因为你是部门的技术的一把手,你身上扛的是整个技术部门的责任,如果你付出的比一线员工还好,那只能说明你在某些方面偷懒了。

另外,如果你自己都不能做到身先士卒、勇往直前,那么你怎么说服你的团队跟你一起冲?如果你的产出没有别人多,那你凭什么拿钱就比别人多?

所以技术总监的单位产出要比别人多,你是整个技术团队的杠杆。因为有你的存在,原先只能产出一百万产值的团队,现在能产出两百万、甚至更多的价值。那么这些多产出的价值,就是你作为技术总监的产出,就是你的价值所在!

树哥:对于很多技术经理小伙伴来说,技术总监是他们后续的目标岗位,弄清楚这个岗位的能力模型非常重要。您能不能聊聊这个岗位对人有什么样的技能、知识,或者个性的要求?

D 哥:对于这个问题,我之前有大致想过。在我看来,技术总监需要的能力根据重要程度由高到低可以分为三大块,分别是:价值观、软技能、硬技能。

第一块能力:价值观。

价值观是人性最底层最本质的一些素质,它决定了这个人能够走多远以及变化有多快。举个例子,如果作为一个公司的副总裁,他在为人处事上不正直,那么他会给公司带来很大的负面影响。

如果他只是能力差一些还可以容忍,但是如果他为人不正直,他去贪污受贿,去做一些违法的事情,或者说搞一些丑闻之类事情,那这样对公司的影响就非常大了。所以对于一个技术总监来说,正确的价值观是非常重要的。

在我看来,我认为有几个价值观是比较重要,分别是:开放的态度、责任心、自驱力、大局观。

开放的态度。 如果你是一个总监,那你一定要保持开放的态度、开放的思维。如果你的心态不开放,别人跟你提几句意见,你就怼回去,那你是很难开展工作的。例如别人说你不懂 xx 技术,你就觉得自己被冒犯了,立刻就给别人怼回去。那别人下次就再也不敢跟你提意见,那你的进步是很慢的。

正确的态度是:虚心听取别人的意见,不急着与别人辩论,而是先思考自己别人为什么这么说?是不是自己有哪些地方做得不够好?还是自己沟通上没做好?

如果你能一直保持开放的心态,那么你就能看到自己身上的不足,从而让自己持续进步。当你保持开放心态的时候,你就接纳了别人的批评,你会去迭代、去进步。相反,如果你听不见别人的意见,那你就会一直呆在自己的圈子里原地踏步了。

责任心。 作为一个总监,你就要对所有所有与技术相关的东西负责。即使这个事情不是你直接去做,甚至你还不知道这个事情,但做这个事情的小伙伴是你的团队的人,那就是你的责任。

作为技术团队的话事人,任何有关这个团队的事情,都是你的问题,你必须得去兜底,有什么问题都是你的问题,你不能推卸责任给别人。你要有能力把这个事情做好,你不能去甩锅,这个就是责任。

自驱力。 自驱力的意思是:在没有很多指导的时候,你能不能自我驱动,让自己有目标、有方向地跑起来?当你是总监或者一线经理之后,你的上级一定是信任你的。

对于总监这个岗位来说,就意味着在技术这块没人比你更擅长了,当你的领导没办法给你指导时,你需要自己去定目标、定方向,然后带着整个团队跑起来?如果你自己都驱动不起来的话,那你怎么去影响别人?

要有大局观。 作为一个技术总监,你不能老盯着自己的一亩三分地,而要站在整个公司的角度上去思考。例如某个兄弟团队需要我协助做一个事情,但这个事情又不在我的 KPI 里面,于是我就爱答不理。这种就是典型的没有大局观的表现,这种思想会限制你的发展。

大局观的另外一个表现是:站在更高维度去思考问题,例如:站在领导的角度去思考问题。你要多想想:领导为什么要这么做?领导这么做的出发点是什么?

当你学会站在更高角度思考问题的时候,你可能会明白更多的事情。作为管理者,很多时候都是在委屈中成长的,甚至有时候要在短期内牺牲自己的利益。但从长期来看,有大局观的人不会被亏待。

第二块能力:软技能,包括:共情能力、沟通表达能力、汇报规划能力、学习能力等。

共情能力,指的是明白对方想要什么(what)?为什么要(why)? 例如你的下属跟你申请一个权限的问题,一般人就简单地给他开个权限就了事了。但作为一个总监,你要思考:下属需要这个权限,为什么需要?

是因为要看 xx 数据?那为什么要看这个数据?作为一个总监就不能仅仅只是做事,而要知道这背后的原因是什么,然后思考是否有优化的空间。只有想好了 why,之后才是怎么做(how)的问题。why 没有想好,那么 how 做好了也没啥用。

沟通表达能力,指的是你怎么跟别人沟通。 共情能力让你知道对方的出发点,但如果你讲不清楚,就很难跟别人很好地协作。共情能力更多是理解,沟通表达则是说出来。

例如我曾经有一个下属,他当时职位和产出不匹配,我给他打了一个差的绩效。这时候如果我只是简单地说他表现不好,不跟他说具体的原因,那么他可能会有很大的情绪,而他也并不能意识到他自己身上存在的问题。

而我为了能指出他身上存在的问题,我当时跟他沟通了好几个小时,我跟他说:我给你一个比较差的绩效是因为你当前的能力和职级不匹配,你应该在 XX 方向上多留意一些,争取后面能够在能力和产出上有所提升。如果你需要什么资源的帮助,我这边可以帮到你,你随时跟我说。

当我跟他沟通完之后,他直接哭了。他第二天找到我说:你说得对,我能力上确实不够,产出也不够,感谢你指出我的不足,我后续会在这方面继续努力。

随后,我也和他制定了一个针对性地提升计划,也让一些有经验的同学对他进行一些帮扶。从这件事情,我们可以看到沟通表达的重要性。一个好的沟通,可以让对方意识到问题所在,从而帮助他意识到不足,从而达成一致的解决方案。

汇报规划能力,指的是你做了啥,还有你准备怎么做。 对上级领导来说,他没办法一直盯着你的团队,领导了解团队的方式就是你的汇报。你要学会跟你的领导汇报你们的产出?你们做出了什么成果?你们遇到什么困难?你们需要什么帮助?你有什么想法?为什么有这个想法?你准备怎么做?

学习能力,指的是要快速学会需要的知识。 学习能力对一个总监来说非常重要,没有谁是生下来就全能的。只要你有较好的学习能力,那你就可以很快地把东西学会。但如果你没有很好的学习能力的话,你学一个东西非常慢,那你是没办法去跟别人去沟通协作。

举个例子:在我刚入职某手机厂商没几个月的时候,我的老大让我去参加营销部门的双周例会。会议上讲的都是关于库存、销售额等跟研发无关的内容,当时我对营销相关的知识啥都不懂,这导致我参加会议之后一脸懵逼。但对于这些跟我的软件技能无关的东西,我得去快速学习,这样才能理解他们说的事情。

但当我慢慢听懂他们的讨论内容之后,我才慢慢了解了公司的业务全貌?我才知道在什么业务阶段需要研发技术介入?介入的时候需要达成什么样的结果?举个例子:当时我们某个手机要发售了,和湖南卫视某个节目进行合作,通过口播的形式进入某个页面抢购。

在这种场景下,流量会一下子通过二维码跳到特定页面。如果你作为总监没有了解到这个场景,相关的落地页面和接口没有做好限流和熔断,那么这很可能就是一次失败的抢购活动了。

第三块能力:硬技能,指的是具体的专业技能,包括:后端开发能力、前端开发能力等。

硬技能,其实就是具体的一些技能了,例如:后端开发能力、编程能力等。对于硬技能来说,我认为是要一专多长,在一方面很在行,但其他方面要了解。例如你是后端出身的,那你在后端就要比较在行。

而对于运维这块,你要知道、了解。当运维在跟你谈事情的时候,你要能知道,并且能做决策,不能说不懂。

为什么说要有自己很在行的领域呢?因为知识很多时候是有通用性的,如果你在某个方向很深,那么你可以很快地学会另外一个领域的知识。

例如:你是后端开发出身,你对后端发布流程很熟悉,你知道后端发布过程有打包这个流程。当你要去优化前端团队发布流程的时候,你会很容易理解前端的打包是啥意思。

树哥:看来技术总监所需要的能力还是非常全面的,不仅仅是技术,还需要沟通能力、规划汇报能力等软实力加持。

D 哥:确实如此,越往上层走,技术的占比就越少,综合软实力的要求就越高!

树哥:对于技术经理们来说,如何更快、更高效地升职为总监是他们很关心的事情。您能不能聊一聊您身边的总监都是通过什么样的途径晋升为总监的?

D 哥:在我看来,技术总监的晋升途径基本只有两种:一种是公司内部晋升,另一种是从大公司去到小公司。

对于在公司内部晋升而言,你需要在一个领域做得好,这是你的立身之本。随后,如果你能证明你在另一方面也能做得好,那么你就有了成为总监的潜质。最后在机会的加持之下,你就有可能成为技术总监了。

对于跳到小公司而言,相对来说机会更多一些,但也存在一定风险。当你在一线互联网公司做到较高级别,你有机会去到一个中小型公司做技术总监,但一般最多也就是往上升一级。当然,如果你去一个很小的公司,你当 CTO 也是有可能的,但这并不在我们讨论的范围内。

这两种不同的方式没有优劣之分,只是两种不同阶段的主体对于风险偏好的不同而已。对于大公司而言,他们相对更加谨慎,他们只会在你拥有相应能力之后再给你晋升。

对于小公司而言,他们对人才的容忍度更高,他们相信你未来能达到这个能力,愿意给你时间去学习提升。但无论你通过哪种方式晋升为总监,你最终还是需要掌握总监所必备的能力。

树哥:这么看来,如果想要往上层走,最好的一种方式还是在一个公司工作比较久的时间。如果每一段工作都工作 2、3 年,那么基本上都会一直在一线领域打杂,很难有晋升的机会。

D 哥:确实是这样的,所以我比较建议刚毕业的同学不要为了几千块涨幅还工作,而要看得更加长远,要学会沉下心来学习东西。

树哥:在你多年的职业生涯中,你觉得优秀的技术总监都有什么共同的特征?

D 哥:从我身边的朋友来看,优秀的技术总监有三个特征:会激励人心、有很强的规划能力、和业务的关系很好。

第一,他们都会凝聚人心,激励人心。 优秀的总监都会把人心聚起来,会鼓舞团队一起去达成目标。很多同学以为总监就是靠强行压迫、剥削管理团队的,但实际上并不是这样。

短期内靠强压或许有些效果,但长期看来单纯强压是没有意义的。如果一个总监一直靠强压来管理团队,那么他总监的位子是不稳的。作为一个优秀的总监,你要知道怎么给团队做激励,去为他们争取成长的机会,同时也把事情做成了。

第二,他们都有很强的规划能力。 优秀的总监不是仅仅只做自己那一块,他想的更多更远,这样的话他才能够往高于总监 Level 上去进步。

第三,他们跟业务的关系都很好。 优秀的总监更多地关注技术是否为业务带来价值,是否能够帮助业务把事情做得更好。如果总监整天把心思放在技术上,不去关注业务。

那么即使你的系统性能很好,团队技术能力很强,那也没有什么价值。因为你没有帮助业务成功,你对于公司的业务是没有价值的。因此,优秀的总监都会和业务建立非常友好的合作关系,去帮助业务把事情做得更好。

树哥:技术总监的薪酬福利、工资梯度大概是怎样的?

D 哥:对于技术总监的薪资范围,不同行业、不同公司会有一定的差异。对于我所在的一线城市而言,身边的技术总监总包应该在 50 万到 100 万之间。

树哥:技术总监日常面临的问题和挑战有哪些?解决的办法是什么?

D 哥:我身边的总监经常遇到的问题是团队协作的问题。

在一个团队中,不同的角色的人站的角度不一样,这样就会有矛盾。但是站在总监角度上来看,他们都是要为一个共同的产品去负责的。如果他们不能齐心协力的话,或者他们节奏不一样的话,那会影响整体的交付效率。

这里的团队协作也还意味着跨团队协作,因为技术总监管的是技术团队,你要和产品总监、运营总监去配合。他们的规划和你的规划是有差异的,这时候就要去做跨团队的协作沟通。

很多时候你要做很多的平衡和优先级决策,我觉得自己天天都在做这些事情,比如说业务人员说我要什么时候上线,这时候可能要把之前的技术优化又往后延。

例如你想做一个重构,但现在没看到业务价值,那你能否找到一个合适的契机,顺水推舟把事情做成?平衡和优先级问题,如果能够找到一个契合点达到双赢,那么是最理想的情况了。

树哥:对于团队协作问题,你有什么经验可以和我们分享吗?

D 哥:团队协作的问题有点 case by case 的感觉,但有一些原则还是比较重要的。

首先,团队协作的很重要的点是:你要让团队的目标是清晰的,这个是团队协作里面最根本的问题。

你得告诉他我们做的是什么事情(what)?为什么要去做(why)?把为什么要做讲透?这个讲透意味着说每个人都能充分去理解了,理解了知道上下文,它不是一个工具人去做了。他可能还会在这个基础上有自己一些创新或者自己一些改良,然后去达到你说的这个结果。

其次,你要给 owner 很大的权利。 你需要定一个 owner 来做这件事情,他对这件事情的结果负责,与此同时你给 owner 很大的权力去推动这个事情。除此之外,作为上级领导也要给一些额外的帮助,例如:参加他的项目启动会、帮他做好进度和风险管理等等。

另外,你要帮助团队把一些阻碍的因素给干掉。

例如这个团队 A 需要 B 团队的支持,但 B 团队在做其他的事情,很难抽时间给你出来。那你作为总监的话,你要去协调,要去判断优先级。如果确实团队 A 的事情更重要,那么就需要团队 B 优先支持。这一切都需要作为总监或经理的你去沟通、协调。只有这样,你的团队才能够没有顾虑地去往前冲。

树哥:你觉得做总监最有成就感的地方是什么?

D 哥:我觉得主要是两点:业务成功、培养人。

作为一个技术带头人最大的成就感莫过于帮助业务高速发展,这样会让你觉得很有成就感。就像我之前的公司,我们部门是为营销做技术支持的,因为有我们的直接或间接的技术支持,公司的手机业务每年都高速发展。

当时一款新手机出来的时候,我们每个开发小伙伴都很开心,我们都自发地转发朋友圈做宣传,甚至是开售当天自己去抢一台。最高峰的时候,我们每人每年为公司创造 1 亿的营收,业务成功能为每一个人带来很强的自豪感。

在帮助业务成功的同事,如果能够培养一些下属成长起来,这也是非常有成就感的。在我刚进入之前公司的时候,那时候部门只有十几个技术人员。

在我工作 6 年离开公司之后,大概还有 7 个人都还在公司的不同部门,并且他们各自发展都很好,有些转为比较成功的项目经理,有些成为一线技术经理或总监。

一个优秀的管理者建立的团队,应该是将流程、机制建立起来,而不是事事都要靠管理者。如果 leader 走了,整个团队都运转不下去,那我觉得这个 leader 的管理是有问题的。

如果说 leader 走了之后,这个团队能照样跑起来。甚至是有另外一个 leader 过来接手,团队还能够跑起来,他们各自还有成长的空间,那就说明你的管理是有效的。

树哥:在您看来,技术总监的晋升空间和路径是怎样的?

D 哥:一般来说可以往两个方向走,一个是技术 VP 方向,一个是业务负责人方向。总监和 VP 是不一样的,总监只管理一个业务,而 VP 则是管理多个业务。

技术 VP 需要在多个产品之间,看看能不能做一下技术能力复用。此外,总监更多是执行,是战略承接者,VP 更多要参与战略的制定。

原文:
https://mp.weixin.qq.com/s/8IQ9poSrKRTaXOFB24DOGw

作者:陈树义

如果感觉本文对你有帮助,点赞关注支持一下

相关文章

网友评论

    本文标题:找公司 CTO 聊了聊,原来成为技术总监需要掌握这些能力

    本文链接:https://www.haomeiwen.com/subject/dbuoxdtx.html