物联网行业中的软件工程师发展路径
关于物联网,之前聊得更多的是解决方案的各个维度的信息和认知。今天换一个角度,来聊聊行业中的从业者的发展路径。芃篙在这个行当里从业也不到十年,自己的一些小思路,仅供参考。
01 发展路径
学生时代很美好,美好有很多理由,芃篙认为其中有一条应该是:目标比较清晰,不用对目标上的事情操太多心。你当然可以去定义一个远大的理想,但是在当下,你的首要目标是这个学期的期末考试。而考试又是一个既量化又公平的东西,这意味着目标是清晰的。
进入社会则完全相反,除了少数“家里有矿”的朋友,可以按照某些既定路径去走自己的人生之外,大部分普通人家的子弟,都需要摸着石头过河,走一条属于自己的路。而且作为一个社会人,也很难找到清晰的量化目标,来作为每个阶段的努力方向。
再具体到软件开发行业,这个行业在全球范围内兴起,也不过才几十年的时间,把目光放到国内来看,就更短了。虽然这两年都在嚷嚷着什么互联网增长见顶、行业下行,但是依旧改变不了这个行业是一个新兴的不成熟的行业的事实。在国内,最早成规模的一批互联网从业者还没有退休,大家都在这个行业里摸索着各种成长路径。
我们在把目光缩小到物联网行业的软件研发的范围来看,无论是时间上,还是业务领域上,都缩小了很多,可以参考的、学习的知识和案例就更少。
一个毕业三年以内的软件工程师是不太会迷茫的,因为他们有只需要聚焦在一个岗位,把技术做熟,把业务做通就可以了。在大型软硬件体系中,成长为一个局部软件模块的负责人就可以作为目标。再往后呢?
行业里每家公司给于软件开发人员的title定义都不一致,可以说既不标准也不权威,工程师、高级工程师、专家,或许可以印在名片上,但是别人未见得当回事,自己也很难定义这些title对应的能力是什么,以及如何才能具备这些能力。
芃篙在系统架构师教材上,找到了一条路径,或许可以作为参考。
职位 | 工作年限 | 典型特征 | 关键点 |
---|---|---|---|
工程师 | 1~3年 | 在别人的指导下完成开发 | 原始的“基础技能积累阶段” |
高级工程师 | 3~5年 | 独立完成开发 | 要需要“积累方案设计经验”,简单来说就是业务当前用到的相关技术的设计经验 |
技术专家 | 4~8年 | 某个领域的专家 | 需要“拓展技术宽度”,因为一个“领域”必然会涉及众多的技术面 |
系统架构设计师(初级) | 5~8年 | 独立完成一个系统的架构设计 | 形成自己的“架构设计方法论” |
系统架构设计师(中级) | 8~10年 | 能够完成复杂系统的架构设计 | 技术深度和技术理论的积累 |
系统架构设计师(高级) | 10年以上 | 创造新的架构模式 | 在于“创造性”,高级架构设计师能够创造新的架构模式,开创新的技术潮流 |
这里有几个注意点。
其一是,架构师只是一个发展方向,并且系统架构师只是架构师的一种。所以这个发展路径只能作为参考,根据自己的实际情况,需要具象化适合自己的路径。
其二是,理论上的抽象总是偏理想化的。10年以上的工程师就要具备创造新的架构模式,这是一个非常难的目标,能力和机遇缺一不可。大家可以从自己的实际情况出发,来重新定义合适的阶段性目标。
其三式,典型特征的描述其实是不够量化的。所以具体到自己身上,需要思考更明确的成长要求是什么。