0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一位软件工程师的成长曲线

工程师人生 来源:网络整理 作者:工程师吴畏 2018-07-30 18:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

小李毕业后在一家公司做软件工程师,转眼间一年多的时间已经过去了。

回想刚毕业那会,他是怀着无比忐忑的心情进入了这家公司的技术部门。各种新奇的开发工具,叫不上名字的众多软件框架,庞大的代码库,井然有序的工作流程,都是小李以前在学校里不曾遇到过的,这让他感到了前所未有的压力。于是,在开始的那半年,小李就像一株久旱的禾苗遇到了雨水,拼命地吸收着工作中遇到的每一点知识。他学习新的编程语言,学习新的开发工具,学习调试和解bug的技巧,也学习处理各种棘手的业务逻辑。虽然每天工作很累,但每天都是满满的收获。

而现如今,小李俨然是一名很有经验的老手了。对于工作中一般的问题,他都能游刃有余地加以解决,无非是把现有的一些内部接口重新组合利用,或者按照原有的套路重新设计改进一番。应付工作既然比以前轻松了许多,工作的压力也就显得没有那么大了。于是小李平常也能抽出时间来上上网,看看美剧,或者打打游戏,有时候也带着女友去看场电影或者球赛。

然而时间长了,小李心里却隐隐多了一丝不安。他再也找不到开始那种突飞猛进的爽快了,而且当对工作越来越熟悉之后,工作本身开始变得枯燥、没意思。他决定花更多精力在自己的技术提高上,但却感觉无从下手,很难突破。每次完成一个新的开发需求,也只是不断重复旧有的东西而已。

成长曲线和四大阶段

小李的情况其实非常典型。很多技术人员在工作一两年之后,对工作周围的事情都驾轻就熟了,就可能会陷入第一个瓶颈期,再难突破。

为了能更清晰地分析技术成长过程中出现的各种情况,我们来对技术的成长曲线做一个总结。如下图:

一位软件工程师的成长曲线

技术的成长过程并非匀速线性的,而是分阶段的。每个高速增长的突破期后面,都跟着一个平缓的增长期,可以称为舒适期,也可以称为瓶颈期。舒适期是针对过去而言的,而瓶颈期的说法则更着眼于未来。

一般来说,突破的过程,绝非轻而易举,而且有可能伴随着阵痛。它需要我们付出十分的心力,甚至承担一定的风险,做成一些原本超出自己能力极限的事情。而一旦过了突破期,各种技能在这个层次上融会贯通,就会给我们带来极大的自信和成就感。这个时候,处理同一层面的问题,逐渐变得轻车熟路,于是进入了舒适期。

舒适期对人有一种天然的吸引力,我们只要待在这个阶段,就能获得最大的安全感,尽量少地遭受不确定性的折磨。很多人会选择待在这个区间,不再走出一步。而另一些人则会对这一阶段的缓慢增长产生焦虑,于是舒适期变成了瓶颈期,从而引发下一轮的突破。

以每一次大的突破为分界,我们可以将技术人员的成长粗略划分为四大阶段:新手、熟手、专家、宗师(开创者)。

新手经过半年到一年的工作经验,如果能成功适应这份工作,基本就能有所突破,变成一个熟手。熟手的特点是,能对现成的工具充分利用,胜任大部分日常工作。在技术水平的表现上,他了解大部分的技术概念,但不一定理解真正的含义;在他的眼中,技术还无法自成体系,能理解到的知识架构还有所残缺。他解决问题所依靠的,更多是经验而非缜密的逻辑。前面提到的小李,就处于这个阶段。

熟手再向上突破一层,则成为技术专家。专家,在某个领域拥有足够全面、系统而深入的知识储备,对于技术上的疑难杂症,有能力深入到足够的层次,指出问题的症结所在;另一方面,专家还应该能够完成对具体问题的抽象,拥有“造轮子”的能力。在专家的眼中,技术的黑盒子被打开,知识点也不再是孤立存在的,而是相互枝连,构成一个完整的逻辑系统。

而真正达到宗师这一级别的,整个世上也寥寥无几。他们是真正的开创者,能够引领一个技术时代。什么样的人才配得上“宗师”这个称呼呢?比如Dennis M. Ritchie(C语言和Unix之父),再比如Linus(Linux内核的发明人)。

但就像前面的技术成长曲线图所描绘的,技术的成长阶段并没有一个上限。无论你处在哪个阶段,前面仍然存在无限的上升空间。

郭靖的进阶之路

近日细读金庸老爷子的《射雕英雄传》,忽然意识到,郭靖乃是金庸武侠中天资最为鲁钝的一位主人公。然而,郭靖从一个普通少年,终成长为一代大侠,这一过程,正好暗合了前面讲到的技术成长曲线。

郭靖从六岁开始,在蒙古大漠接受江南六怪传授武功,花了整整十年。后又得全真教掌教马钰传授内功一年有余,武功初入门径,获得了武学上第一个突破(熟手期)。处于这个阶段的郭靖,在武功上与同龄的杨康不相上下。

郭靖在武学上的第二个突破,起因于两个事件:一个是“北丐”洪七公传授他降龙十八掌,另一个是老顽童骗他背诵《九阴真经》。经过一番历练,在华山顶上,他已经拥有了分别与“东邪”和“北丐”过手三百招而保持不败的战绩。此时的郭靖,已经是高手中的高手了(专家)。这第二次突破,他只用了两年有余。

而郭靖的第三个突破,已经是在《射雕》之后了,终于成长为一代武学宗师。

为什么天资并不出众的郭靖,却能够接连取得突破呢?至少两个原因不容忽视。一个是勤奋,“人家练一朝,我就练十天”,所以根基打得好;另一个原因是他恰好学对了东西,降龙十八掌和《九阴真经》都是正宗武学,有幸学到自然是突飞猛进。

突破的要领

技术成长的关键在于突破。

然而,在技术成长的路上,越到后面,突破的难度就越大。大部分新手,只要保持足够的勤奋,总能达到熟手的程度。但很多人却止步于此,他们或流连于舒适期的诱惑不肯走出来,或长期卡在瓶颈期却找不到突破的出口。能够突破达到专家这一阶段的技术人员,已经足够成为各大公司技术部门的翘楚了。而要达到宗师的级别,则不光靠个人的努力,还需要时代的机遇才有可能。

那么,为了达到真正的突破,有哪些因素是我们需要重视的呢?

第一,根基。

在接触一门新技术或者一个新的技术领域时,良好的基础有利于我们快速突破,抵达下一个阶段。不同技术之间,基础却是相通的。比如,对于计算机软件学科的基础知识——数据结构和算法,处于熟手期的程序员可能多半会认为它们在工作中根本没有用。这是因为这个阶段的技术人员主要靠孤立的经验解决问题,一些基础的知识自然就用不上。但对于技术专家层次的人来说,数据结构和算法却是在系统设计的很多方面潜移默化地发挥作用。对于其它计算机基础学科,这个道理也同样适用。

再比如,现在人工智能机器学习技术比较火,似乎全民都在学习。但要想学好这些技术,至少应该对于微积分、线性代数、概率论、统计学等数学知识有比较扎实的基础,才能走得更远。

第二,外因,一个不疾不徐的环境。

过于宽松的环境自然不利于人的进步,而盲目的紧张也不利于人的成长。

突破的过程需要付出巨大的精力,所以需要投入足够的时间去从容地完成。我们大概都经历过这样一种场景:新产品上线在即,但还有很多问题需要解决。如果距离预定上线时间还有数天,那么我们可以相对从容地用比较优雅的方式来解决这些问题,并做一些长远的打算;但如果我们碰到的情况是,两个小时以后就要上线了,那么我们多半会想一些歪点子来规避这些问题。

产品开发和技术优化,有时相辅相成,有时又互相矛盾。如果你所处的工作岗位,只是要求你不停地修改业务流程,盲目地试错,那么,可能公司根本没有给你留出技术突破的空间。试想,一个主旨不清,功能点做了新的就扔了旧的,而没有长远的目标,也不去持续优化体验,这样的一个产品,又怎能有持续的生命力呢?

第三,正确(正宗)的学习资料

新手刚开始工作的时候,通常只要看一些入门教程(Tutorial),跑几个Demo,扫除了表面上的技术疑问点,再针对业务代码向老员工请教一番,基本就能开始工作了。然后一边编码,一边查阅所需要的API Reference,时间长了,经验和技巧足够多了,就自然变成熟手了。

而从熟手向专家的突破,则需要系统地去补习知识架构。技巧应该建立在对于普遍规则的理解之上。这里不得不提及Spec,它是涉及某项技术的完备的、系统的描述,包含该项技术涉及到的方方面面(具体参见我的另一篇文章《技术的正宗与野路子》)。在奔向技术专家的路上,阅读Spec,是不可逾越的一道功课。《射雕》中郭靖的武功突破,很大程度上就是因为他阅读了《九阴真经》这份大大的Spec。当然,除此之外,你可能还需要通读重要部分的API Reference以及Source Code。

技术专家必然将原始文献(官网Spec、论文等)作为知识的第一来源。相反,跟着某人的博客去系统地学习某方面的技术,是要冒有很大风险的,还需慎重选择。

最后,要想成为技术上的一代宗师,则需要更高的抽象,做出完全创造性的工作。这份工作不仅仅是阅读Spec,解决具体的问题了,而是创作Spec,开创全新的天地。

第四,独立思考,不要自我设限。

现在,很多人喜欢把技术好的人喊作“大神”。这自然是代表一种尊重,很多听的人也很受用。

但是,“神”的称呼暗含了一层意思:神是无法超越的,是普通人学不来的。这是人们在潜意识里划出的一道鸿沟。所以,我就不太喜欢类似这种称呼。

很多人碰到问题就喜欢找身边“大神”去问,但殊不知问再多问题,你仍然无法真正地有所提高。普通人和“大神”之间真正的鸿沟在于,能否独立思考和解决问题。

在追求技术成长的路上,不可能总是一帆风顺。我们不免有时沮丧,有时欣喜。

人生苦短,有人穷其一生,就是想要达到理想中的那个状态。但不管结果如何,当我们青春不再的时候,只求问心无愧。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1604

    浏览量

    71293
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一位硬件工程师的PCB工艺笔记:设计如何为制造让路

    PCB工艺不是制造部门单方面的事,而是电子设计不可分割的部分。个优秀的电子工程师,必然对线宽、过孔、阻焊、拼板和DFM有着清晰的认识。
    的头像 发表于 05-22 13:42 43次阅读
    <b class='flag-5'>一位</b>硬件<b class='flag-5'>工程师</b>的PCB工艺笔记:设计如何为制造让路

    咖啡机液方案#硬核拆解 #电子工程师 #造物大赏 #产品方案

    电子工程师
    ICman
    发布于 :2026年05月08日 10:55:24

    你知道电子工程师,到底分几种吗?

    种,硬件工程师:他们擅长画原理图、选元器件、调板子,是电路的专家、产品项目的“总导演”!第二种,软件工程师:脑子里全是代码,天天跟驱动、算法打交道,芯片怎么跑,他们说了算。第三种,固件工程
    的头像 发表于 04-20 08:52 187次阅读
    你知道电子<b class='flag-5'>工程师</b>,到底分几种吗?

    SASETalk | 从车辆工程到ASIL D芯片安全:一位年轻工程师成长进化论

    “SASETalk”是磐时打造的深度访谈栏目,通过与企业内资深技术专家对话,记录他们亲历的技术历程与行业观察,从个人视角解读行业发展变迁,共同探讨未来技术趋势与工程师成长路径。本期嘉宾PROFILE
    的头像 发表于 04-02 18:03 2283次阅读
    SASETalk | 从车辆<b class='flag-5'>工程</b>到ASIL D芯片安全:<b class='flag-5'>一位</b>年轻<b class='flag-5'>工程师</b>的<b class='flag-5'>成长</b>进化论

    十年铸剑・共敲开市锣|一位工程师与美格智能的“A+H”新征程

    。庄重的仪式过程中,有这样幕让在场的许多人印象深刻:与其他公司的上市仪式不同,在最重要的8登台嘉宾中,美格智能的一位年轻工程师,作为全公司800多名
    的头像 发表于 03-19 19:05 1240次阅读
    十年铸剑・共敲开市锣|<b class='flag-5'>一位</b><b class='flag-5'>工程师</b>与美格智能的“A+H”新征程

    电子工程师的双标瞬间 #电子 #电子爱好者 #电子工程师 #扬兴科技 #双标

    电子工程师
    扬兴科技
    发布于 :2026年03月02日 18:04:13

    什么是BSP工程师

    、嵌入式系统 要明白什么是嵌入式软件工程师,我们先从嵌入式系统(嵌入式设备)说起。维基百科上对嵌入式系统的定义如下: 嵌入式系统(Embedded System),是种嵌入机械或电气系统内部
    发表于 01-13 06:54

    工程师变身AI“指挥者”,吉利与阿里云的软件开发变革实验

    1975年,IBM工程师Fred Brooks在《人月神话》中提出软件工程的核心难题:随着系统规模和团队规模增长,复杂度会呈指数级上升。他的结论是, 软件工程“没有银弹”,没有单技术
    的头像 发表于 11-13 10:43 625次阅读
    <b class='flag-5'>工程师</b>变身AI“指挥者”,吉利与阿里云的<b class='flag-5'>软件</b>开发变革实验

    硬件工程师面试必会:10个核心考点#硬件设计 #硬件工程师 #电路设计 #电路设计

    硬件工程师
    安泰小课堂
    发布于 :2025年09月23日 18:00:33

    招镶入式工程师1个,硬件工程师个,

    东莞市研生科技有限公司是家蓝牙方案公司,主营蓝牙方案的设计开发,产品包括蓝牙BLE/4G透传/AI智能体方案开发,因公司发展需要需对外招聘嵌入式软件开发工程师,对蓝牙音频/BLE以及智能IC读卡器有三年实操经验,能单独完成项目
    发表于 08-29 02:14