程序员的技术成长三阶段模型

版权声明:转载请声明 https://blog.csdn.net/qq_40732350/article/details/82829115

技术成长三阶段模型

为了更好地选择技术方向,我们先来介绍一个模型,我给它取了个名字叫“技术成长三阶段模型”,参照下图1-1所示。

enter image description here

图1-1 技术成长三阶段模型

我们在一个专业领域内的成长,基本上都会经历三个阶段:

  • 初级阶段:专项能力的提升
  • 中级阶段:技能体系的构建
  • 高级阶段:融合创新

1.初级阶段:专项能力的提升

专项能力提升阶段是初级阶段,针对某项具体任务你必须先具备某些基础能力,比如从事软件开发工作,你要学会某种语言、某个 IDE、某种技术框架……

如果你刚刚从学校毕业从事开发工作,或者刚刚从别的跑道转换到开发领域,那么你就处在这个阶段。这个阶段最重要的目标就是提升专项能力,让自己能够迅速搞定一些别人安排给你的事情,体现出你的价值。

这个阶段持续的时间长短因人而异,可能会是1~3年。如果超过3年还没有进入下一个阶段,那么你的成长速度就需要提升了。

2.中级阶段:技能体系的构建

当你拥有了一组技能,围绕某个方向构建了自己的知识图谱,能够用自己的方式来解决问题时,代表你已经进入了中级阶段。比如你使用 Java 语言做后台方面的开发,你的技能体系可能由 Java、MyBatis、Spring、SpringMVC、Netty、MySQL、Python、Linux 等组成。此时你在团队中,应该已经可以独立负责某个模块,能够完成模块的设计和开发工作,也能够指导初级阶段的同事进行开发。

你可能需要2~3年,经历2~3个项目才能慢慢构建起自己的技能树,然后还会在这个阶段再待上1~2年,不断练习你的技能体系中的各项技能。所以当你能够拥有一棵强大的技能树时,距离你刚从事开发工作可能有5~8年了。

假如你超过这个年限,用过的技术还是散乱的,东一榔头西一棒槌,不能有机组合在一起,那么你的开发经验和能力,肯定大大落后于你的工作年限。换句话说,你可能把一年工作经验学到的知识、技能机械地重复了几年,没有获得应有的成长。

3.高级阶段:融合创新

这是高手阶段,你拥有了丰富的实践经验,具备了 T 型知识结构,形成了自己的思维框架和解决问题的框架,能够融合不同领域的知识,组合各种资源,创造性地解决各种问题。

进入这个阶段非常重要的一个标志就是当你遇到问题时,不再从下而上去思考(即从技术实现细节来考虑问题好不好实现、拿技术去裁剪问题或重定义问题),而是从实现细节跳脱出来,站到更高的层面,自顶向下去思考、去分析,先运用框架、逻辑去分析真正的问题是什么、问题的目的、问题的现状、如何去解决。搞明白这些之后,你才会沉降到技术层面去考虑实现的选择,而且实现时,你也不会拘泥于某种技术,而是什么技术合适就用什么技术(你的目的不是“用 Java 或 Redis 解决问题”,而是“解决问题”)。简单说,就是你走出了被技术束缚和塑造的过程(前两个阶段),可以反过来回到问题本源来思考了。

在这三个阶段中,我们都会遇到选择技术方向的问题。比如在初级阶段,入门时要选择,发现某种技术不适合自己时要重新选择;在中级阶段,我们要选择某些技术来构造我们的技能树,或者要做技术转型,需要重新选择技术方向;再比如在高级阶段,我们往往会负责产品的技术方案探索与选型,免不了要选择技术方向,甚至在这个时候,我们个人也可能会在技术方向上转型,必须有所选择。

所以,我们根据技术成长的三阶段模型,挑选了下面几个可能需要选择技术方向的时机,分开来讲在这些时机下如何选择技术方向。

  • 入行的技术选择
  • 构建技能树的技术选择
  • 技术转型的选择
  • 方案选型的选择

猜你喜欢

转载自blog.csdn.net/qq_40732350/article/details/82829115