第01课:技术成长的三阶段模型

2023-05-16

引言

作为整个系统课程的第一部分,我想先跟大家分享的是如何选择技术方向,我将结合技术成长的三阶段模型,讨论在入行、构建技能树、技术转型、团队技术方案选型等常见场景中如何选择适合自己的技术。

努力只有在方向正确时才有价值。

开发者选择技术也是如此。假如你阴差阳错地选择了一门过时的技术或者普及度不高的技术,你在找工作时就会不断受挫,即便投入实际工作中后也会忧心自己的发展前景。

我们先设想如下的几个场景:

  • 你刚进入软件开发领域时,急需选择适合自己和市场的技术才能更好地就业;
  • 你做了一两年技术工作,开始构建自己的技能树(知识图谱),需要选择与你现有技术相互补充、1+1>2的技术来学习和提升;
  • 你的技术能力慢慢在团队里凸显出来,成了先锋官,有新的项目、新的产品时,你总是被赋予探索技术方案的角色,可是一招不慎,你选择的技术就可能导致整个项目的失败;
  • 你使用 C++ 语言做了5年开发工作,越来越觉得这门语言不适合自己,想要学习一种新技术作为自己以后的主要开发技术,很担心再选错——因为你做开发的黄金时间,加起来也不过三四个5年;
  • 你成为技术负责人或者研发经理,需要决定团队的技术图谱,需要为团队承接的新项目选择技术方案,要考虑哪些因素呢?

所有上述问题,我们都会在第一部分中讨论分析,我们会找到选择技术方向时要考虑的各种因素,然后结合特定的场景,看看你在选择时具体需要做哪些考量。

希望每一位读者都能掌握选择技术方向的方法,这会让你具备更强的竞争力和更高的身价;作为团队的一员,你会知道在为某个项目选择技术时该如何综合考虑,在风险、成长、代价之间进行权衡。

技术成长三阶段模型

为了更好地选择技术方向,我们先来介绍一个模型,我给它取了个名字叫“技术成长三阶段模型”,参照下图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 解决问题”,而是“解决问题”)。简单说,就是你走出了被技术束缚和塑造的过程(前两个阶段),可以反过来回到问题本源来思考了。

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

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

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

思考题

最后,你可以思考一下现在自己处于技术成长的哪个阶段?你认为选择技术方向都需要考虑哪些因素?我会在下一期具体讲述。如果你在选择技术方向上有什么心得、疑惑或者建议,也欢迎留言与我探讨。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第01课:技术成长的三阶段模型 的相关文章

  • C++ STL

    C 43 43 STL vector 变长数组 xff0c 倍增的思想 size 返回元素个数 empty 返回是否为空 clear 清空 front back push back pop back begin end 支持比较运算 xff
  • 结构体对齐规则

    结构体对齐规则 xff1a 1 第一个成员在于结构体变量偏移量为0的地址处 2 其他成员变量要对齐到某个数字 xff08 对齐数 xff09 的整数倍的地址处 对齐数 61 编译器默认的一个对齐数 与 该成员大小的 较小值 3 结构体总大小
  • 串口通信数据位长度对传输数据的影响

    针对串口通信 xff0c 关于设置数据位长度对通信的影响 xff0c 如图 xff1a 在串口数据通信中 xff0c 会看到串口参数设置 其中 数据位 设置 xff0c 共有四档选项 xff0c 分别是8 7 6 5 那么改变这个参数会对数
  • 建议收藏丨你想了解的动捕内容全在这儿!

    导语 对于第一次听说动作捕捉的大多数人而言 xff0c 动作捕捉听起来是一个 34 高级 34 同时 摸不清门路 的词汇 它作为虚拟与现实的沟通桥梁 xff0c 被应用于科学研究 影视制作 虚拟主播 体育运动 步态分析等广泛领域 xff0c
  • ROS速成之发送&接收消息

    人真的老了 xff0c 扔了个周末 xff0c 完全不记得干了什么 论纪录的重要性啊 xff0c 当时觉得明白的很 xff0c 你扔两天试试 xff1f 扔一年试试 xff1f 扔几年试试 xff1f 最近参加的各种项目脑疼眼乏 xff0c
  • MFC VC 双缓冲绘图基本原理与实现,详细解释

    MFC VC 双缓冲绘图基本原理与实现 xff0c 详细解释 MFC做了一些时间了 xff0c 不得不面对 的是在界面上画图的 当然你可以直接搜索到能用的代码 xff0c 并且基本能满足要求 不过这样总不是学习的态度 本着学习分享的态度 x
  • 关于dlg.DoModal()==IDOk的理解

    问题1 xff1a if dlg DoModal 61 61 IDOK 怎么理解啊 xff1f 问题2 xff1a 当我 CMyDlg dlg 时 xff0c 对话框显示了吗 xff1f 是不是要写dlg DoModal 这时对话框才显示出
  • 关于中值滤波算法,以及C语言实现

    1 什么是中值滤波 xff1f p p p style line height 28px margin top 0px margin bottom 10px padding top 0px padding bottom 0px color
  • (重)python:subprocess模块之Popen方法简介,管道机制(stdout\stdin\stderr)实现shell命令执行

    subprocess是Python 2 4中新增的一个模块 xff0c 它允许你生成新的进程 xff0c 连接到它们的 input output error 管道 xff0c 并获取它们的返回 xff08 状态 xff09 码 本文主要举例
  • 图像分辨率和图像大小的计算

    一 BMP位图 1 一个实际例子 xff0c 选择一个24位深度的225 225位图 xff0c 由于24位位图是真彩色 xff0c 没有颜色表这一样 xff0c 所以 其文件大小为152 154字节 xff0c 则 152 154 61
  • 关于 *i++与 ++*i

    一直都不知道 i 43 43 与 43 43 i有什么区别 xff0c 也不知道该怎么用 xff0c 今天特地研究了一下 看下面一段代码 xff1a include lt iostream gt include lt string gt u
  • sql语句中select……as的用法

    as 可理解为 xff1a 用作 当成 xff0c 作为 xff1b 一般是重命名列名或者表名 1 例如有表table xff0c 列 column 1 column 2 你可以写成 select column 1 as 列1 column
  • C++中virtual(虚函数)的用法

    在面向对象的C 43 43 语言中 xff0c 虚函数 xff08 virtual function xff09 是一个非常重要的概念 因为它充分体现了面向对象思想中的继承和多态性这两大特性 xff0c 在 C 43 43 语言里应用极广
  • 关于32位系统中int、float、short、double等占多少个字节

    我用VC编译的 xff0c 测试了一下 xff0c 代码如下 xff1a include 34 iostream 34 using namespace std int main cout lt lt sizeof char lt lt en
  • C语言中关于int、long int、long long 的区别

    1 关于int 和 long int xff08 1 xff09 在VC下没有区别 两种类型均用4个字节存放数据 xff08 2 xff09 VC是后出的编译器 xff0c 之前有很多早期的C编译器 xff0c 在早期编译器下long in
  • arp a命令的通俗解释

    ARP A 查询系统中缓存的ARP表 ARP表用来维护IP地址与MAC地址的一一对应 比方说 xff0c 某推拿室总有30名服务员 xff0c 为了方便管理 xff0c 服务员都编了号 xff0c 由01编到30 客人们都只记得服务员的编号
  • sqlite模糊查询与分页

    sqlite模糊查询与分页 64 param queryWords 要查询的关键词 xff08 中英文都可以 xff09 64 param curItem 当前查询到的item 所在位置 64 param sizeRequest 每次请求查
  • 设计模式-回调函数和观察者模式

    Android的框架中有非常多的地方使用了回调的模式 xff0c 例如Activity的生命周期 xff0c 按钮的点击事件等 下面是回调的基本模型 xff1a java view plain copy public class A pri
  • QT之表格控件

    目录 一 xff1a 表格控件 1 QTableWidget表格的创建 1 QTableWidgetItem单元格 2 表格的信号和槽 3 代码引例 1 在 h文件中定义 2 在main文件中创建并实现 4 结果演示 GIF 一 xff1a

随机推荐

  • sequlize统一格式化时间

    数据查出来的数据格式 xff0c 如图 xff1a 自动格式化时间 xff0c 需要在数据库配置上加上 dateStrings true
  • Node 微信支付 “由于商家传入的H5交易参数有误 该笔交易暂时无法完成 请联系商家解决”

    之前稳定运行一段时间的微信H5支付 xff0c 突然报错 xff1a 由于商家传入的H5交易参数有误 该笔交易暂时无法完成 请联系商家解决 经过多方排查 xff0c 最终确定是微信下单的ip传递有误 上传的ip为 127 0 0 1 xff
  • css data:image/svg+xml 不显示

    原因 xff1a 新版chrome不支持 需要改成 23 如 xff1a test span class token punctuation span content url span class token punctuation spa
  • border-image属性分析

    border image是CSS3的一个属性 xff0c 由于比较复杂 xff0c 总是处于一知半解的状态 xff0c 今天下定决心 xff0c 花时间整理了一下 xff0c 供大家共勉和学习 border image的用处 没用borde
  • 纯CSS绘制箭头

    这几天研究别人的网站 xff0c 发现别人的箭头居然是用纯CSS写的 瞬间觉得高大上 细细研究其中的原理 xff0c 发现其实也很简单 CSS绘制三角形 绘制箭头 xff0c 首先应该懂得如何用纯CSS绘制三角形 我们先做一个宽高为0 xf
  • 如何更新npm至最新版本

    去年曾遇到过执行npm某项命令时提示要求更高版本的npm xff0c 当时百度解决了 xff0c 今天又再次遇到该问题 现记下来 xff0c 以供以后参考 命令行运行 xff1a span class hljs built in npm s
  • .*? 和 .*的区别

    在看js代码的时候 xff0c 有时候会遇到 这样的写法 xff0c 那么连续两个限制符是什么意思呢 xff1f 我们先来回顾一下正则表达式的基本知识 基本语法 符号用法 匹配除 r n 之外的任何单个字符 要匹配包括 r n 在内的任何字
  • 微信清除缓存的两种方法

    网址清除 微信浏览器打开网址 http debugx5 qq com xff0c 勾选如下设置 xff1a 点击 清除 按钮即可 代码清除 如果是自己写的网页 xff0c 在调试阶段希望不要缓存 xff0c 可以在html页面的head中加
  • PHP时间戳和日期转换

    时间戳转日期 date date format timestamp format 必需 规定时间戳的格式 timestamp 可选 规定时间戳 默认是当前时间和日期 例如 xff1a date Y m d H i s 具体时间戳 Y xff
  • 微信H5支付:网络环境未能通过安全验证,请稍后再试

    最近在开发微信H5支付 xff0c 并且已应用到某个网站进行支付 但奇怪的是 xff0c 一模一样的支付代码 xff0c 换了一个网站 xff0c 竟不能支付了 出现如图错误提示 xff1a 百度一圈 xff0c 均是说IP传得不对 微信s
  • 如何比较字符串大小

    今天我分享的是如何比较字符串的大小 xff0c 希望大家看完能有深刻的理解 字符比较 xff08 character comparison xff09 是指按照字典次序对单个字符或字符串进行比较大小的操作 xff0c 一般都是以ASCII码
  • node异步用await和不用await的区别

    最近在用node写项目 新版node异步用的是async await这两个关键字 我们都知道 xff0c 一般这两个关键字要成对出现 但是 xff0c 笔者发现 xff0c 如果不需要等待返回值的话 xff0c await可以不加 那么aw
  • NtripShare Cloud差分数据共享云平台

    RTK差分数据共享猫已更新至1 6 2版本 xff0c APP运行十分稳定 高级版本服务器已升级至华为云 xff0c 独享10M带宽 xff0c 进一步降低数据延迟 近期准备升级普通版服务器 xff0c 升级后将停止对1 6 0版本之前的不
  • RTK差分共享猫APP后台系统已开源

    RTK差分共享猫APP后台系统开源 xff0c 开源地址https gitee com forgy NtripShareCatServer 后台系统基于GUNS 6 0 xff08 https gitee com stylefeng gun
  • RTK差分数据网络播发软件

    解决短基线范围内多台设备同时作业 xff0c CORS差分账号资源不足的问题 基于串口或模拟网络RTK请求 xff0c 将实时差分数据进行转发 xff0c 支持Ntrip协议 xff0c 支持市面所有网络RTK系统 个人作品 xff0c 不
  • STM32使用cubemx的uart空闲中断接收不定长度数据

    void USART3 IRQHandler void USER CODE BEGIN USART3 IRQn 0 USER CODE END USART3 IRQn 0 HAL UART IRQHandler amp huart3 USE
  • 基于ROS平台的移动机器人-8-使用Kinect2导航

    基于ROS平台的移动机器人 8 使用Kinect2导航 ready 终于到写最后一篇了 不是经常写博文的老司机果然伤不起 xff01 在这一篇教程就是利用KinectV2来导航啦 go 1 安装一下所需的包 xff08 1 xff09 cd
  • kali linux学习——安装WingIDE(libqt4-webkit软件依靠问题)

    kali linux 中安装wingide xff08 libqt4 webkit软件依靠问题 xff09 走过的坑缺失的libqt4 webkit成功安装WingIDE 走过的坑 在kali linux上利用命令 dpkg i wingi
  • 华为的OD,值得去吗?

    最近有不少小伙伴接到了华为OD的面试邀约 xff0c 但搞不清楚OD到底怎么回事儿 xff0c 要不要去 所以今天来说说华为的OD到底是怎么回事儿 xff0c 怎么判断是否值得去 1 华为的OD是怎么回事儿 OD xff0c 是Outsou
  • 第01课:技术成长的三阶段模型

    引言 作为整个系统课程的第一部分 xff0c 我想先跟大家分享的是如何选择技术方向 xff0c 我将结合技术成长的三阶段模型 xff0c 讨论在入行 构建技能树 技术转型 团队技术方案选型等常见场景中如何选择适合自己的技术 努力只有在方向正