众所周知,软件开发已经是当前最为热门的技术岗位了,无论是传统行业亦或者是互联 行业,都需要大量的软件开发人员,同时软件开发培训班也为行业输送了绝大多数的软件开发工程师。那么从入职岗位到现在,你到底在软件工程师的职业生涯中属于什么样的阶段呢?
软件开发可分为四个阶段:
第1阶段:普通程序员
第2阶段:熟练开发者、高级开发工程师、技术组长
第3阶段:技术专家、架构师、一线经理
第4阶段:首席(资深)架构师、部门研发总监
那么对于这样的阶段划分,具体对应的是一种什么样的状态呢,下边我们来细说一下每个阶段所对应的能力或者说技能吧。
软件开发者的 4 个阶段,可依次对应普通开发者、熟练开发者、优秀开发者、卓越开发者四个。
1. 普通开发者
普通开发者,能够使用一定的专项技术,完成别人分配的模块开发。在工作当中,他们很少有机会决定自己做什么和怎么做,通常是在他人指导和安排下编码实现特定的细分功能。当你还是一个普通开发者时,虽然也算是技术岗位了,但实际上处在体力化的代码打写阶段,很容易被替代。
如果不能精进技术水平,三两年后就失去竞争力了——因为你的技能水平对不起你的工作年限,你把一年工作经验重复用了在了每一年,而你自己依然是只有一年的工作经验或者说能力。
在这个阶段,收入一般就在 5000 ~ 20000 元 / 月,很难突破 20000 元 / 月。同时,这个阶段的开发者,也很少有超过 30 岁的——因为超过 30 岁你还停留在这个阶段,基本上就混不下去了。(所以很多没有持续精进的往往做了几年的程序员之后就转行了)
2. 熟练开发者
一般的开发者,会在普通开发者这个阶段停留 3 ~ 5 年,然后就进阶为熟练开发者,能运用一组技能树,完成较为复杂的软件模块的开发工作。进入这个阶段的标识有两个:
1. 可以做某个功能模块或子系统的软件设计工作;
2. 可以分配任务给普通开发者。
到了熟练阶段,你才算是有一技之长,才称得上是靠技术吃饭(因为普通开发者越来越多,初阶的编码能力已经算不上一技之长了)。有了一技之长,你的收入就能获得突破,拿 20000 ~ 40000 元的月薪。你可能会在这个阶段停留 3 ~ 5 年。毕竟只有难以被替代才能让自己的技术岗位更加稳固。
在熟练开发者这个阶段,有一小部分人,能够在某个技术栈上持续精进,凸显出优势,靠这种技术优势,成为高级开发者;
另有一小部分人,一手技术,一手业务,靠交叉优势,也成为了高级开发者。在这两类高级开发者中,就会走向技术管理方向。
3. 优秀开发者
拥有技术优势的高级开发者,和拥有技术 + 业务组合优势的高级开发者,他们当中有一部分人会晋级为技术专家或架构师。
技术管理者可能会晋级为一线经理(技术经理、项目经理、研发经理)。这算是开发者的第三个层级。进入这个层级的开发者通常会:带人,带项目,安排别人做事情,在重要的技术决策上拥有话语权。到了这个阶段,你的年龄应该在 30 ~ 35 岁,年收入会突破 50 万。
处在这个阶段的开发者,都是独挡一面的优秀人才。已经超越了具体的技术能力,很好的建立了思维框架,解决问题的能力很强。
4. 卓越开发者
通常你只能在大公司中看到处于第 4 个阶段的开发者。而在很多小公司的技术领导者(包括首席架构师、资深架构师、CTO 等),实际上多数是从第三阶段拉出来的,利用相对周围人的优势获得了职能和头衔上的提升。谈收入的话,这个层级的开发者,年薪往往在 80 万以上,过百万的不在少数。除了薪酬福利,他们往往还持有股票。
那么对于不同的层级的不断进步提升,先是技术上的精进,让自己成为拥有一技之长的技术人才,再到解决带领项目的技术管理人才,最后就是高级的卓越开发者,在技术的基础上更能很好的解决实际业务需求,完成业务与技术的结合。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!