论程序员成长:如何像游戏一样打怪?新手值得重视!

职级并非与能力挂钩

其中的部分内容来源于:我在和客户一起工作时所总结的,还有网上所看到的资料。

职级是在某一组织内部 ,将工作内容、难易程度、责任大小、所需资格皆很相似的职位划分同一职级。

对于大部分公司来说,职级体系必然与薪资体系相挂钩的。

你的职级越高,你要做的事情 level 更高,那么你的应得 收入就越多。即从理论上来说,你创造的价值越大,那么你所获得的收入就越多。

比如说,程序员 A 写了某个业务系统的关键代码,这个业务系统非常成功,那么你创造的价值就远比另外一个程序员 B。(PS:但是实际上并非如此,有可能不会伴随你产生的价值)。

与此同时,A 之所以拿的工资比 B 高,并非因为 A 的编码能力比 B 强很大,又或者是因为 A 的其它能力比 B 强。而是因为 A 刚好出现在一个合适的地点上,所以 A 有了更多的职级和更高的收入。

当然了,那些在 BAT 996 的程序员,能力都是比我强的。


 

职级与能力:外在与内在职业生涯

在写文章的过程中,我看到了一个更专业的词汇:外在职业生涯与内在职业生涯

外职业生涯(对外在职场而言),是指从事职业时的工作单位、工作时间、工作地点、工作内容、工作职务与职称、工作环境、工资待遇等因素的组合及其变化过程。

内职业生涯(对个人自身而言),是指从事一种职业时的知识、观念、经验、能力、心理素质、内心感受等因素的组合及其变化过程。

多数人在他/她们的职业生涯间,都要面对着各种各样的角色变换。

或是从开发人员变为产品经理,或是从测试人员变为项目经理,又或者是从程序员变成滴滴司机。在过去的几年里,我也面临着一些细微的变化,如从开发人员变为技术负责人,从交付项目来到咨询项目……唯一不变的是,写代码还是我日常的主要活动,但是我需要提升其它能力。

简单来说,内在就是你想做事情,外在的就是你做的事情。这两点的平衡是一件非常有意思的事 —— 尽管很难平衡。

角色成长路径

每个成熟的公司都有对应的职级路径,至于划分的好坏就是另外一回事了。晋升就是与职级路径相匹配的活动,它会伴随在我们的外在职业生活中。

回到标题上来,看看 Technical Anchor 角色的定义:

具有丰富的技术和行业知识的领导者,沟通者和工程师。 能够提供技术合作的信心和方向。 他们拥有解决方案和技术堆栈的设计和架构,从头到尾对其进行指导。他们专注于确保团队内部战略的成功实施

这是一个角色,并非与真实的职级挂钩。这个角色定义的能力有诸如于:

Technical visioning and roadmapping

Evolutionary Architecture

Integration

……

但是呢,Technical Anchor 的定义上和我去年定义的 Tech Lead 最大的区别在于:这个角色要花 70% 的时间在代码库上,而 Tech Lead 要花费的只有 30%。Tech Lead、Tech Anchor 以及 System Architect 相当于是这个第二级角色。

PS:一级角色就是具备完成工作能力的成员。简单来说,对比如下:

新手 vs 普通程序员

骑士 vs Tech Lead 等

圣骑士 vs Principal Engineer 等

这个过程,非常有意思,我们要围绕的是能力成长。换句话来说,我们需要练习打更强的怪,才能获得职业成长。

它要做的事情是推动复杂交付的引擎室 ,对应有一些关键能力:

    ☼ Legacy Mitigation

    ☼ Application Architecture

    ☼ Cloud Native Architecture

    ☼ Back End Development

    ☼ Distributed System Architecture

    ……

如果每一级都定义好了,那么我们只需要有针对性地提升能力,并进行实践即可。

其它

整个过程中,唯一麻烦的点在于,如果在一个组织内部,只有职级,而没有成长路径。那么,就需要从社区上来获得对应的能力模型,才能想着配套上对应的练习。


 

最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

【值得关注】我的 C/C++编程学习交流俱乐部!【点击进入】

问题答疑,学习交流,技术探讨,还有超多编程资源大全,零基础的视频也超棒~

原文地址:https://www.cnblogs.com/huya-edu/p/14213462.html