先上今天的主角——开发者山行图:
这是 9 月 23 号,我在西安 Plug and Play 孵化器做线下分享时准备的一张图,它描绘了开发者的职业发展路线和不同段位的收入水准。
本文提到收入,均以西安地区为基准,如果是一线地区,需要乘个系数。
开发者山行图把开发者分成如下几个层级:
- 普通开发者
- 熟练开发者、高级开发工程师、技术组长
- 技术专家、架构师、一线经理
- 科学家、首席(资深)架构师、部门研发总监
今天的文章,我们先解释下层级划分,回头我们再补一篇文章,介绍怎样从一个层级进阶到另一个层级。
【1】
普通开发者,能够使用一定的专项技术,完成别人分配的模块的开发。在工作当中,他们很少有机会决定自己做什么和怎么做,通常是在他人指导和安排下编码实现特定的细分功能。
当你还是一个普通开发者时,实际上处在体力化的代码打写阶段,很容易被替代。如果你不能精进技术水平,三两年后就失去竞争力了——因为你的技能水平对不起你的工作年限,你把一年工作经验重复用了 N 年。
在这个阶段,收入一般就在 3000 ~ 8000 / 月,很难突破 10000 / 月。同时,这个阶段的开发者,也很少有超过 30 岁的——因为超过 30 岁你还停留在这个阶段,基本上就混不下去了。(这个阶段会有大量的人退出,谋求转型……)
【2】
一般的开发者,会在普通开发者这个阶段停留 3 ~ 5 年,然后就进阶为熟练开发者,能运用一组技能树,完成较为复杂的软件模块的开发工作。进入这个阶段的标识有两个:
- 你可以做某个功能模块或子系统的软件设计工作;
- 你可以分配任务给普通开发者。
到了熟练阶段,你才算是有一技之长,才称得上是靠技术吃饭(因为普通开发者越来越多,初阶的编码能力已经算不上一技之长了)。有了一技之长,你的收入就能获得突破,拿 10000 ~ 20000 的月薪。
你可能会在这个阶段停留 3 ~ 5 年。
这个阶段会有大部分人开始怀疑程序人生的意义,一方面对开发工作很熟悉了,也没激情了,另一方面又很难进入下一阶段获得突破,于是倦怠、空虚、无聊、意义匮乏等状况纷至沓来。在这个三十而立的年纪,很多人会考虑转型,一部分人因为看不到其他的机会又难以放弃开发技能的积累和高薪,在犹犹豫豫中蹉跎岁月;另一部分人未雨绸缪,在日常的开发工作中,已经发展了支线剧情,转型比较顺利。
在熟练开发者这个阶段,有一小部分人,能够在某个技术栈上持续精进,凸显出优势,靠这种技术优势,成为高级开发者;另有一小部分人,一手技术,一手业务,靠交叉优势,也成为了高级开发者。在这两类高级开发者中,又会诞生出 Team Leader 这种角色。
成为上面这部分人的典型标志就是:你被很多人需要,有各种疑难问题需要你参与或主持解决。
【3】
拥有技术优势的高级开发者和拥有技术+业务组合优势的高级开发者,他们当中有一部分人会晋级为技术专家或架构师。Team Leader 可能会晋级为一线经理(技术经理、项目经理、研发经理)。这算是开发者的第三个层级。
进入这个层级的开发者通常会:带人,带项目,安排别人做事情,在重要的技术决策上拥有话语权。
到了这个阶段,你的年龄应该在 30 ~ 35 岁,年收入会突破 30 万。
假如你过了 35 岁,还没到第三阶段,嗯,我猜,要么你待错了环境错失了进阶的机会,要么你主动放弃了职场成长,觉得拿个 1、2 万月薪过过小日子已经很舒服了。
处在这个阶段的朋友,都是独挡一面的优秀人才。已经超越了具体的技术能力,很好的建立了思维框架,解决问题的能力很强,所以你会看到,很多人能够迅速在非开发领域取得成绩。这就是大前研一所说的即战力。
有的人能在这个阶段待上十年八年,直到获得突破,进入第 4 阶段;还有的人,虽然不能进入第 4 阶段,也会想留在技术岗位上维持优势轻松赚钱,然后寄情别处,发展其他兴趣爱好,谋求和谐的生活;另有一部分人,在这个阶段待上一两年就转型了——因为他们想有新的突破但往第 4 个阶段走又实在是比较困难。
【4】
通常你只能在大公司中看到处于第 4 个阶段的开发者。
很多小公司的技术领导者(包括首席架构师、资深架构师、CTO等),实际上多数是从第三阶段横跨出来的,利用相对优势(脑补吧)获得了职能和头衔上的提升。(汗颜,我就干过这事儿)
这个层级的朋友们,他们在做什么事情,我没有切身体会,先放这里,回头我会访谈一些朋友,弄明白。
好啦,今天我们主要介绍了开发者的四个层级,你可以看看自己处在哪个层级,琢磨下怎么进阶。我有一个打算,写一个系列文章,描述开发者的练级过程。大家觉得需要的话,请点赞,点赞数越多,我会越有动力写下去。