李雷(化名)与韩梅梅(化名)毕业后在同一家公司做起了程序员,几年以后,韩梅梅已经开上了宝马X5,现金股票期权也超过百万年薪,而李雷仍然停留在原地,苦逼的啃着方便面通宵上线。虽然拼命努力,吃苦耐劳,但李雷仍然徘徊不前,无法进入下一个台阶。这背后的差异到底在哪?
对于软件技术人员,尤其是应用软件技术人员而言,有一种能力至关重要,然而很多人却又没有意识到,这种能力就是技术迁移能力。
五年前,我在参与构建百度技术序列职称体系以及技术学院胜任力模型学习地图的时候,从T7开始增加了技术迁移能力的因素,也是出于对高T要有能力负责更大的技术范围的考虑。
顾名思义,技术迁移能力指的是可以跨领域进行技术实践的通用能力,能够利用已知已会的技能,快速应用到相关的技术领域、业务领域,从而负责更大的技术范围,参与更复杂的技术决策。
技术迁移能力可以分解为以下三个方面。
-
😊抽象能力。抽象能力是技术人员的核心能力。领域模型、需求分析是对现实世界的业务抽象。架构设计、程序设计是技术抽象。我们面对的就是用抽象的技术和代码去创造出可以解决现实世界问题的方案,只有抽象,才能在变化中找到不变,应对不确定性。这个就不展开再分析了。
-
😊模型思维。我们面对的是抽象,无法对应到实际事物,这就带来了很多沟通、思考方面的难题,就需要使用模型思维,提炼思考方法,总结稳定的模式。设计模式就是经过提炼后的解决代码结构的常用模型。架构模式同理。利用模型思维,可以把熟悉的技术经验提炼出来,便于迁移应用到相关的领域里去。
-
😊探寻本质。当今的技术几乎日新月异,新技术层出不穷。在令人眼花缭乱无所适从的时候,积极的探寻本质,找到根源,往往能牵一发而动全身。一个拿IDE的人与一个拿Framework的人争论优劣,这本身就是个不应该存在的现象。根本而言,我们使用不同的编程语言,针对不同的运行时环境,就可以写出需要的软件,这也是技术可迁移性的本质。出色的高手,换一门新语言的时间单位是小时,换一个Framework的时间单位是天,之所以有如此短的时间,是因为他掌握的是本质,语言的本质不是语法,是用法,框架的本质也不是API,是设计思路。
当用这些视角重新审视自己的时候,就会发现我们的技术迁移能力该如何提升了。
-
😊首先要做的是升级认知。我们已知的已知实在是太少了,这会鞭策我们始终保持空杯心态,持续精进。
-
😊培养模型思维,锻炼提升自己的抽象能力,归纳与演绎相结合,让思维可以在不同的抽象层次中自由穿梭。
-
😊敢于打破边界。无论是岗位边界,还是知识边界。软件是为业务服务的,行业的沉淀和业务知识的积累对高层技术人员来讲尤其重要。同时,新的人工智能技术族,也让我们看到跨学科、跨领域带来的技术进步。我们把眼光放开,可以看到更广阔的空间,这也是我们提升迁移能力的途径。
李雷终于找到了自身的不足,并感觉到自己的价值提升了很多,现在已经在奔腾的路上了,你呢?
--END--
扫码关注“文斌随笔”公众号,持续更新