你好,我是雪梅。
这一节我想和你聊聊技术人职业发展的能力全景图。技术作为一个专业性相对比较高的工种,加上咱们应试教育“专才”的培养机制,导致很多技术同学的能力偏科非常严重。
比如很多技术小伙伴工作快 10 年了,职业发展碰到困境,第一个反应是问,是不是我的技术不够好?我是不是应该去学习 XX 技术,再提升提升?当然,学习技术没有问题,但我做技术人职业发展一年多,发现阻碍大多数 30+ 技术人职业发展的核心因素,根本不是技术能力,而是其它能力。
啥意思呢?往下看。
技术人职业发展能力全景图
事实上,任何一个岗位,影响一个人职业发展能走得多远的能力,都不是单一的专业能力,而是多种能力的组合,还有多种思维的组合。
T 型能力全景图
知名人才发展专家薛毅然老师在《职场真话》一书中整理过职场的通用能力库,我根据自己的经验,结合技术人日常的工作需要,整理了一个技术人的能力发展全景图。
在这个老生常谈的 T 型框架下,如果你还在迷茫,不知道该往哪走,那就尝试对照着我的分类定位看看。把 T 拆成“一”和“|”,那么“|”就是硬技能,就是专业技术能力,以及把技术运用到具体场景拿结果的“技术赋能业务能力”,这两个能力是技术人的立命之本。而有了立命之本,想要职业发展走得更远,坡道更长,还需要更多的软技能,也就是图中的横向部分。
我们来详细说说这张图。先说硬技能,这个大多数同学都能理解。下边的是我们的专业技术能力,也就是大家日常能理解的编码能力,问题分析定位能力,专项技术攻坚能力等等,这是日常技术人花最多时间研究的能力。
但光有专业技术能力还不够,我前面说过,技术是一种工具,需要在真实的世界去解决问题。因此,再往上就是技术赋能业务能力,把自己的技术能力更好地赋能给所在的业务,创造真正的价值。
这两个维度的能力是有差异的,下面的更像实验室的专精能力。比如你是 Java 开发工程师,对于 Java 语言的运用掌握得炉火纯青。而技术赋能业务是指你要去发现业务当前的问题,找出哪些可以用技术手段去优化,并用 Java 代码实现,真正解决问题。这里面考验得更多的是对业务的理解,将业务问题转变成技术问题,并且设计合理的方案去解决问题。更具体的精进方式,我们会在下一节展开。
上面横向的综合软技能,我把它分为了三层。
最底层是基本功,我把它称为个人修炼,包括沟通表达和自我管理。其中沟通表达指的就是日常工作中能与不同角色沟通。比如典型的组内沟通、跨组跨部门沟通、向上沟通等。除此之外,还要把我们的工作成果通过组内分享、述职、写作等方式表达出来,这些都是职场的基本功。另一部分,自我管理。这个包括职场都需要的时间管理、目标管理,以及非常重要的情绪管理,比如调节自己的情绪,更好地自我赋能等等。
如果说个人修炼是你单兵作战的基本能力,那再往上一层,你还需要与更多人协调,与大家一起完成任务,我把它称为聚人成事。其中左侧是我们的思维决策,也就是我们的系统思考,把一个复杂问题化繁为简,设计合理、可落地的方案,再加上可能需要的一些创新思维。右侧是我们把已经明确方案的事情具体去落地,这就是日常的项目管理。
再往上说,当一个人的综合能力,个人修炼基本功过硬,也能很好做复杂系统设计,与人协作把事情落地,那下一步更大的发展在于能否破圈升维。我把它总结为两部分,一部分是超越技术人的角色,能和更多的岗位更好地跨界协同,比如产品、运营,还包括跨业务线、甚至是公司外的资源。那另一部分,就是领导团队。这比项目管理更进一步,我在第 3 节提到过,当一个人从叶子节点到枝干节点,变成管理者之后,会历练管理相关的一组综合能力。 4 个关键思维
除了我们看到的能力模型之外,技术人的职业发展,其实还有需要多种思维。阿里内部曾经把技术人需要的思维总结成四种:技术思维、工程思维、产品思维、商业思维。
我们从下往上详细解释一下。
这个是最基础的。想一想,你从最开始只关注需求实现,到关注模块,到关注子系统,再到一个业务系统的功能开发,甚至交付到线上。除了需求开发之外,你还会关注到系统的技术指标,比如接口的 TPS、模块运行的资源使用等。当然了,日常的工作中可能还会有一些技术创新。比如引入一个新技术提升效率等。
技术思维是技术人最核心、最基础的思维,所有技术人都是从这里入手的,甚至每个人都在自己的技术生涯中不断打磨着技术思维。
技术思维很基础,但显然并不够。流程、质量、成本和风险都需要考虑,这就是再往外一层的工程思维。
拿我们都熟悉的软件开发来说,它是一个系统工程。从业务产品提出需求,到研发功能开发,到测试验证,最后线上发布,这个流程链路上一定有很多优化空间。
比如可以做项目分级,一些项目可以研发自测,自测如何用工具来保障。再比如串行的流程可以增加并行度,缩短发布周期。这几年很多大厂都在推行迭代机制,从月迭代到双周迭代,甚至特殊模块还可以做到周迭代……这些都是流程优化的方式。
其次,质量。质量分为线上质量和线下质量。为了线上故障、Bugs 能更好地发现以及处理,就需要精细的监控设计,各种稳定性预案以及 Bug 的回收机制。
当然,更好的解决方案是尽可能前置质量问题。因为越早发现系统的问题,带来的影响越小。 在做好线下质量这件事上,不但考验测试的基础和专项测试能力,更考验研发的代码质量。这就是研发小伙伴除了会写代码,还需要遵守很多编码规范,还有一定自测能力的原因。
最后,作为一个系统工程,每个技术动作还需要考虑成本和风险。比如一个新项目做技术选型,为什么选用 A,而不是 B?除了能不能满足需求,更重要的是还要考虑引入的风险以及长期的维护成本。这是很多大厂在常用中间件部分设置基础架构的原因,因为需要进行自研或者在开源的基础上做二次开发,核心还是为了降低未来的运维风险。
第三个重要的思维是产品思维。这里说的产品思维不只是说你理解产品给你提的需求,知道如何实现,而是你能对所在的产品全局有一定的了解,能理解客户的痛点。
如果不确定自己是否具备产品思维,那么可以时不时地思考这么几个问题。
用户 / 客户使用这个产品的体验如何,流畅度如何?
很多技术人会想,这不是产品要去考虑的吗?需求都是产品来提呀。为什么技术人要有产品思维?
给你分享一个故事。我之前组织过技术人的职场加油站,有人当案主,提出问题和困惑,其余人群策群力帮助他来解疑答惑。有一期的案主是一个工作 5 年的客户端研发,他基本的需求开发都能完成,感觉自己的成长停滞了,不知道下一步应该发展。
当时一位大前端工作经验很丰富的同学问了他两个问题,他瞬间就知道自己卡在哪里了。
你做的产品当下整体数据情况?比如日活,你所负责模块的 PV/UV 数据。
用户在你的 App 中的动线是什么,最常用的是哪些功能?他从哪里进,从哪里出?
为什么说问了这两个问题就能知道卡点了?因为如果你对于产品缺乏宏观的了解,那当然只能处于被动接需求的状态,眼前也只能看到有限的成长空间。况且,需求开发已经没有挑战了,那当然找不到自己下一步的成长点了。
但如果你非常清晰手头上的产品,那不但可以跟产品讨论需求的合理性,提出合理建议,还可以从技术角度挖掘更多可以做的事情,也就是把我们说的“技术赋能业务”能力更好地发挥出来,有更多的系统思考方向,以及复杂场景方案设计的历练机会,这样,你的成长空间也瞬间被撑大了。
最后一个思维是商业思维,了解自己所在业务域的商业模式,也就是靠什么赚钱。同时,还有需要具备一定的经营视角,这是绝大多数技术人最薄弱的环节。
我的一个朋友之前一直在大厂做技术管理,这几年开始转型做乙方,帮助一些传统行业做数字化转型。我问他从带技术团队,到带销售、产品、研发这样的综合团队,对自己触动最大的事什么?
他脱口而出,“经营思维!现在觉得在大厂工作时真的是太不会算账了,搭建一个数仓系统,动不动就要几百台机器。而如今常常要去甲方竞标项目,会把所有的成本,甚至包括技术人的工资、业务线其它角色的工资,服务器使用,办公产地的租金,甚至水电费都完全算上,细化到每天的成本,乘以工期,去计算总成本。真是不当家,不知道柴米贵!”
原来,他们刚开始即使有企业的品牌背书,但因为单日成本太高,竞标也经常失败。后来才开始不断想办法去“降本增效”,砍掉不必要的角色,关键流程提效,缩短整个开发周期……他说,“如果我们算出来一个系统,成本需要 60 万,而市场上别人能花 40 万买到同样价值的系统,那就就说明我们没有竞争力,还有继续优化的空间。”
我把他的故事分享给很多大厂的小伙伴,大家都感叹,看来我们还是在温室里面。所以,当一个技术人真正具备一定的商业思维,还能有经营的成本收益意识,那另一扇大门就开启了。
如何用好能力全景图
说完了 T 型能力全景图以及技术人职业发展的 4 个关键思维,你可能会问,它跟我的日常工作有什么关联?我需要现在就每个都去练习吗?
我会建议你把它当成一个坐标系,帮自己找到当下在哪,下一步应该往哪里突破?你可以搭配我们在第 5 节里提到的技术人职业发展的 4 个核心阶段,一起使用,效果更佳。 新人期,在硬技能上,你需要重点关注的是夯实技术基本功,达到大部分时候不需要辅导就可以独立干活的程度。
而在软技能上,先重点修炼个人基本功,能清晰知道当下的目标,有了目标就能行动。当然,还要知道怎么管理自己的时间,知道什么时候要做什么事。这个时候思维上涉及更多的是技术思维,关注点还是在需求功能的开发上。到新人后期,也慢慢过度到一些模块的开发,需要有一部分工程思维,知道流程如何改进,有基础的项目风险意识。
发展期和成熟期,这个阶段的发展关键是,硬技能上除了要在技术深度上继续精进(我们下一节会谈到),还需要花更多时间思考技术能力怎么与业务结合。
在软素质上,你可能不再是自己干活,慢慢会作为模块或者子系统的负责人,所以需要有更好的系统思考能力,能完成复杂系统的架构设计,对于系统的演进方向有较好的规划能力,还需要有不错的项目管理能力,带着人拿到结果。
当然也有部分小伙伴会慢慢晋升到管理岗,历练领导团队的能力。那在思维上,就需要能把技术思维、工程思维和产品思维很好地融合,才能更好地理清当前产品和业务的关键问题。
到了瓶颈期之后,大多数人的专业技术能力已经不算大的挑战了,更多的需要在业务问题上有一些创新思考,做出突破性进展。这时候光靠个人力量往往是不够的,还需要非常强的跨界协同能力。
在思维能力上,最好是把技术思维、工程思维、产品思维和商业思维融会贯通。真正拥有这样的综合能力之后,就算在瓶颈期也可以继续突破,领军创造价值。
举个例子,阿里对于 P9 的能力要求,是一个多面体,能知大势,能站在整个业务线的角度去洞察问题,能一针见血地洞察行业本质,做出专业判断和业务取舍。还能有很好的未来视角,精准把握行业发展趋势,对未来能有很好的规划设计以及组织架构设计能力。
当然,有些基本功是需要持续练习的,比如沟通表达,自我管理等等。以上只是把每个阶段的需要关注的重点做了一些说明,让你对于不同阶段的发展方向有一些思考。我把不同阶段的能力、思维发展重点汇总成了一个表格,方便你更好理解。
小结时刻
好了,我们来简单总结一下,这一节课我给你分享了技术人职业发展的能力全景图,是一个 T 型结构。T 型的竖线是硬技能,包括专业技术能力以及把技术与业务更好地结合起来的能力。横线我也给你分了个人修炼、聚人成事、跨界升维三个层面帮你更好理解不同的软素质在职业发展不同阶段的影响。
除了 T 型能力模型,我还分享了 4 个关键思维,技术思维、工程思维、产品思维和商业思维,理解了这 4 个思维,可以更好地指导你日常的工作。
对于技术人来说,技术是我们进入职场的敲门砖,也是我们职业发展的地基,基本功不扎实,后面的发展也容易走得摇摇晃晃,但影响我们长远发展的还是更多的综合能力。毕竟技术只是一个工具,我们是活生生的人,工具可以支撑我们走一程,但更长远的,还是要回到人的本身,回到自己的全面发展上来。
当我们的 T 型能力综合发展,融汇贯通 4 种关键思维,职业发展的路会越走越宽,让我们一起 TO the Future!
聊聊发展
对照这一节的能力全景图,思考下自己当下有哪些能力短板?下个阶段计划如何突破?欢迎留言讨论。
如果觉得有所收获,也可以把课程分享给更多的朋友,一起学习程序员职业规划手册,心里不慌,脚下不乱,做好每一天的成长。