关于技术能力的思考和总结

简介: 要解释清楚什么是技术能力还得看透技术能力的本质,从源头上来做剖析。本文将挑选几个程序员日常的工作问题来做个剖析比对,从我们的日常感观中来辨识下哪些是有技术能力的做法,哪些是没啥技术能力的做法。

image.png

作者 | 朱春茂(知明)
来源 | 阿里开发者公众号

技术人成长的悖论

在程序员界有一个悖论持续在困惑着很多技术人:在写代码的人的困惑是一直写代码是不是会丧失竞争力,会不会被后面年轻的更能加班写代码的人汰换。典型代表就是工作5年左右的核心技术骨干,此时正处于编码正嗨但也开始着手规划下一个职业发展阶段的时候;没在写代码的人困惑是我长时间不写代码(或者代码量较少)我的技术功底是不是在退化,我在市场上还会有竞争力吗,我的发展空间是不是被限制住了。典型代表就是带业务项目的架构师或者团队Team Leader,他们更多的精力是在业务需求理解和拆分,团队事务的管理上。

这种围城现象非常严重,是技术人在职业发展过程中必定会面临的困境。但要回答清楚这个问题,其根源不在于是写不写代码或者代码量的多少,其本质还是要回到什么叫技术能力以及如何提升技术能力这个根节点上来。我把我的一些观察和思考总结下来,供大家参考。


到底什么是技术能力

要解释清楚什么是技术能力还得看透技术能力的本质,从源头上来做剖析。挑选几个程序员日常的工作问题来做个剖析比对,从我们的日常感观中来辨识下哪些是有技术能力的做法,哪些是没啥技术能力的做法。


两类日常工作

重复琐碎类工作

有一类工作是专门处理其他组技术同学对组内业务的疑惑进行解答,我们称之为daily支持。比如咨询你负责的系统在开发环境有一个报错影响了他们的项目联调是什么原因。这种工作的典型特征就是,随时都可能有人来问你问题,还有可能是同一个问题不同的人来问你很多遍。这类工作称归纳为重复/琐碎类工作。这类工作我们来看看几种做法:

  • 第一种:就事论事,把这个问题回答了结束。到这个程度你只是解决了一个具体的问题。很可惜我们很多技术同学都是处于这个层次。
  • 第二种:解答完这个问题后即整理成文档,把排查步骤写清楚,提升自己和同组人的工作效率。到这个程度说明你看到并解决了内部效率问题。
  • 第三种:将此排查问题的方法和逻辑固化为小工具给到咨询的同学去用,让他以后可以自助排查解决,这样既解决了别人的问题也彻底释放了自己和同组人的效能。到这个程度说明你重新定义了效能问题并找到更好提效的办法。
  • 第四种:将此问题背后根因找到,从业务原理或者产品功能上去找解法。将技术工具抽象为业务功能的完善。到这个程度说明你已经从单纯的技术提效看到了架构合理性问题,并尝试在业务上寻求彻底根治的办法。

这四种不同的做法我们可以看出来,即使是这些重复的琐碎类工作,我们也可以从扩大受益面的角度去提炼价值,然后寻求多个层次的解法。在解决问题的过程中自然而然也锻炼了自己多层次的思考和抽象能力。

抽象复杂类工作

还有一类工作是相对抽象和复杂的工作,它的典型特质就是需要只能感受到现象,很难找到根因,没有明确目标和固定解法,需要自己做方案定策略。举个实际中遇到的例子,就是在复杂的系统链路中往往会出现联调效率十分低下的问题,每个研发同学都在抱怨各种各样的问题,但就是没法去根治。面对这样的复杂抽象问题,也有好几种做法:

  • 第一种:找到抱怨的同学,问一问具体的问题是什么,然后针对性解决。
  • 第二种:更加广泛收集问题,然后列出来表格,归类分析并安排负责人跟进解决,最后定期跟踪进度。
  • 第三种:深入分析表格的中的问题并对问题进行抽象,从架构调优和产品功能的角度去寻找原因,并寻找解决这些问题带来的业务价值,并确定目标拆解路径,最后按照任务推进和跟踪进展。
  • 第四种:从更全局角度去思考此目标与年度目标的关系,与组织发展的关系,思考如何扩大此事的效益,思考如何通过这些事的解决锻炼和培养团队同学。

可以看出来这种抽象复杂的工作,其实也有多种做法,看得更加细致是可以看到技术架构的调优,看得有深度可以与目标、组织成长结合在一起。当然也有很一般的做法,那就是纯粹单个问题解决,纯粹是变成项目经理,通过任务列表跟踪进度。


技术能力层次模型

通过上面两类日常工作的分析,我们很明显可以看到有技术能力的做法特征是能够通过现象看到本质,并能够通过对问题的抽象归纳进行技术架构层调优以解决同类问题。

因此我对技术能力的定义是:技术能力是一种以解决某种问题为目标的思路、方法与执行手段,其本质就是解决问题的能力。在编程领域,就是对遇到的业务问题进行抽象、提炼以及逻辑的构建,通过研发工具以提升解决问题的效能,减低人工低效的重复工作。

如果用技术能力这个定义的方法论对“什么是技术能力”进行剖析,我提炼了一些模型来表达。


image.png

这个能力模型按照逐步境界阶段分为了三层:

术,硬核技术能力

术这个层面其实更多是硬核技术能力,基本上就是技术的基础功底(如计算机基础,分布式技术,质量意识等)。虽然这个归为是基础类,但这也是技术人的立身之本。工作3-5年的同学基本上都还是处于这个阶段,即需要大量的练习使得自己的技能非常娴熟。

处在这个阶段最重要的就是需要有技术好奇心,要有技术的专研力,通过时间的磨炼持久去学习去练习,使得自己能够成为团队的核心骨干力量。

法,技术架构能力

法这个层面其实更多的是技术架构能力,即通过现象看透本质,通过模型、原则来表达本质以解决抽象复杂类问题。这是一种高阶的技术架构思维,基本上5-10年的同学会处在这个阶段。这个阶段更多强调问题发现,问题定义,问题分析,问题解决的能力。

处在这个阶段是需要很强大的认知能力提升,这里必备的素质就是皮实和包容,要容得下不同的观点也要禁得起各种挑战。但这个阶段也有很大的误区,即非常容易被简化为就是要学习很多方法论或者套路。

道,技术领导力

道这个层面其实更多的是技术领导力,即通过技术影响力去寻找愿景和目标,带领组织拿取结战略结果。在这个阶段我们要基于深厚的技术架构能力和技术硬核能力。通过技术思维去解决超越纯技术领域的问题,一般来说10+年的同学会遇到这类问题。这个阶段的成长也会更多面临人的底层素质能力升级,需要更多靠领悟而不是纯粹的训练和问题驱动的思考。这个阶段其实也有很大的误区,即很多人只学到了表面功夫而没有深得要领,纯粹就变成是对己就是自我修养的提升,对别人就是PUA。

如何提升技术能力

image.png



随着把技术能力层次模型定义出来,其实如何提升也有了一定指南。后续有机会可以分章节来论述这个技术能力的提升过程。但产出详细章节的实践论述前,还有一篇“内功心法”可以分享给大家:


  • 寻找成长的源动力

大家往往对这个问题不以为意,觉得成长是每个人都想要的,但是大家没有仔细琢磨过促进你成长的到底是什么:是你自驱想要享受这个练、思、悟的过程 还是 因为渴望得到周边人的认可/反馈/评价。这两者在你顺利的时候可能没什么感觉,但当你面对晋升失败,项目不利等挫折的时候就会有非常大的差异。
如果你能够找到自己成长的源动力,那么在遇到真正的困难和迷茫时候才能够摆正好自己的心态,寻找突破口,让自己走出困境,得到长足的成长。

  • 常态化的总结与反思

不管是编码类的技术基础学习成长,还是相对抽象的问题解决,还是技术领导力成长。只要是成长,只要能够抓住这两个关键就一定能够成功。

  • 第一个就是反思,能够敏锐地反思自己的不足,然后不断去修正自己的心态和行为让自己蜕变。
  • 第二个就是总结,总结的过程是不断梳理自己的过程,把自己迷迷糊糊,是是而非的东西分类归类,而且总结越多就能够用好时间的复利,就能够越促进成长。

找到了源动力就解决了底层动机问题,通过总结和反思是能够利用上时间的复利,通过这两样心法就能够使得自己成为一个能够不断丰富完善自己的人,达到这样的状态必定能够成为技术强人。


  • 实用技巧

要做到常态化的总结与反思,最简单的技巧就是写文章,通过文字的整理可以让自己的思考更加成熟,想得更加成熟以后自然而然对外就能够讲得更加清楚,能够对外讲清楚就能够更好分享交流才能够真正去校正自己的想法是不是正确。所以我提了,以写代想,以想促讲,以讲验真的 实用技巧。

相关文章
|
6月前
|
数据采集 人工智能 算法
技术能力是大型模型发展的基石
【1月更文挑战第8天】技术能力是大型模型发展的基石
53 1
技术能力是大型模型发展的基石
|
6月前
|
机器学习/深度学习 运维 Cloud Native
构建未来:云原生架构在企业数字化转型中的关键作用构建高效机器学习模型的五大策略
【5月更文挑战第31天】 随着企业数字化进程的加速,传统的IT架构日益显示出其局限性。本文将探讨云原生架构如何成为推动企业敏捷性、可扩展性和创新能力的核心力量。通过深入分析云原生技术的基本原理及其在业务连续性、资源优化和跨云协作方面的应用,揭示了其在实现高效、灵活的企业IT环境中所扮演的角色。
|
4月前
|
机器学习/深度学习 人工智能 运维
智能化运维:如何利用AI和机器学习优化IT基础设施管理
随着技术的快速发展,传统的运维方法已无法满足现代企业的需求。本文将深入探讨如何通过人工智能(AI)和机器学习(ML)来革新IT基础设施的管理方式,提升效率并降低成本。我们将从实际案例出发,分析AI与ML在智能监控、故障预测、自动化修复等方面的应用,并讨论实施这些技术时面临的挑战与解决策略。
72 1
|
3月前
|
人工智能
就AI 基础设施的演进与挑战问题之通过应用核心概念来优化研发过程的问题如何解决
就AI 基础设施的演进与挑战问题之通过应用核心概念来优化研发过程的问题如何解决
|
4月前
|
机器学习/深度学习 运维 自然语言处理
智能化运维的崛起:如何利用机器学习优化IT基础设施管理
本文深入探讨了智能化运维在现代IT基础设施管理中的关键作用,特别关注于机器学习技术如何革新传统的运维模式。文章首先定义了智能化运维的概念,并分析了其对提升运维效率、预测性维护和自动化处理故障的重要性。随后,详细讨论了应用机器学习进行日志分析、异常检测、资源优化以及安全威胁预测的具体案例。最后,本文强调了实施智能化运维时需要考虑的挑战,包括数据质量、模型解释性和技术整合问题,并提出了相应的解决策略。通过综合运用机器学习与大数据技术,智能化运维正在成为提高企业IT运维能力的重要手段。 【7月更文挑战第22天】
57 0
|
6月前
|
机器学习/深度学习 Cloud Native Devops
构建未来:云原生技术在企业数字化转型中的关键作用构建高效机器学习模型的五大策略
【5月更文挑战第29天】 随着企业加速数字化进程,云原生技术以其灵活性、可扩展性和敏捷性成为推动创新的重要力量。本文深入探讨了云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps实践,以及它们如何共同促进企业快速响应市场变化,实现技术优势。文章还将分析采用云原生技术的潜在挑战,并提出相应的解决策略,以帮助企业在竞争激烈的环境中保持领先地位。
|
6月前
|
机器学习/深度学习 Cloud Native 持续交付
构建高效机器学习模型的策略与实践构建未来:云原生技术在企业数字化转型中的关键作用
【4月更文挑战第30天】 在机器学习领域,构建一个高效的模型不仅需要深厚的理论基础,还需结合先进的技术手段和策略。本文将探讨一系列提升模型性能的方法,包括数据预处理、特征选择、模型调参以及集成学习等。通过具体案例分析,揭示这些方法如何在实际问题中得以应用,并讨论它们对模型性能的影响。文中还将涉及最新的研究进展,为读者提供前瞻性的指导意义。 【4月更文挑战第30天】随着企业加速其数字化转型之旅,云原生技术已成为推动创新和灵活性的核心。本文深入探讨了云原生架构的原则,包括微服务、容器化、持续集成/持续部署(CI/CD)、以及声明式APIs。分析了这些技术如何共同促进可伸缩性、敏捷性和容错性,同时
|
6月前
|
人工智能 搜索推荐
AI能力更加原子化,业务流程迈向“无感智能”
【1月更文挑战第7天】AI能力更加原子化,业务流程迈向“无感智能”
177 1
AI能力更加原子化,业务流程迈向“无感智能”
|
6月前
|
边缘计算 分布式计算 数据处理
大规模数据处理:挑战与创新
在数字化时代,大规模数据处理成为了企业和组织获取商业价值的关键。然而,面对海量、复杂的数据,传统的数据处理方法已经无法满足需求。本文将探讨大规模数据处理所面临的挑战,并介绍几种创新技术和方法,如分布式计算、边缘计算、流式处理等,以应对大规模数据处理的需求。
142 1
|
安全 内存技术
线材-电子线载流能力
线材-电子线载流能力
143 0