一般来说,公司到了一定规模都会形成自己的职场阶梯,程序员在攀登这条阶梯时,肯定会涉及到一个评定的过程。那从评定者的角度,或者晋升者的角度,该如何看待你在阶梯上的位置呢?

晋升的结果和个人利益有直接的绑定关系,而且这个过程从来都不是一个简单的是和否的选择,那你该如何看待这个“不简单”的晋升过程呢?

标准维度

先站在评定者的角度,假设你作为一名评委,你会如何去评定?又有怎样的标准呢?

技术晋升评定是依赖人的判断,本是非常主观的一个过程,但为了规避这种过于“拍脑袋”的主观性,就需要去制定标准。制定标准的初衷也是为了给评定过程增加客观性,将人的主观判断约束在一定的客观范围内。

这让我想起了奥运会的一些打分和结果具有主观特性的项目,比如:跳水。这样的项目不像跑步、球类等有非常客观的得分标准,打分还是靠人。但跳水项目,也有一些客观的标准,如:动作代码、动作姿势和难度系数。分解出了一些客观标准后,这样对于运动员完成情况的评判相对就会更容易形成一些共识判断。

我在参考了一些行业里大公司的晋升和技术素质模型,并结合当时团队的具体现状,制定了出了一些标准维度:

  • 通用能力,包括学习能力、沟通能力和领导能力等;
  • 业务能力,包括业务理解和领域建模等;
  • 技术能力,包括深度、广度和技能应用等;
  • 影响力,如知识总结、知识传承和人才培养。

除以上 4 个大维度外,还有一项“工作业绩” ,不属于现场技术评定的维度,直接来源于过去一年的工作业绩评价。每个大维度会占据一定的比重,然后可以针对每个大维度去打分。

曾经我在早期的实践过程中犯过一个错误,就是想在小维度上去打分,感觉这样可能会更准确。但经过一次实际操作后,发现很难在短短的晋升述职过程中去仔细判定这么多细分的维度,这对评定者会产生很高强度的判断疲劳,最后反而更可能产生更大的判定误差。后来在一本解读大脑工作原理的书上了解到,人的大脑一般只能同时记住和判断 4 到 5 个并行任务。过于细分的维度,会让人的大脑负担不过来。

虽然有了客观的标准维度去细分判断,但人打分在细微之处依然会有主观的偏好。还是以跳水运动为例,郭晶晶和一个新秀一起参加国际大赛,她们跳同样的难度,同样的组别动作,并完成得同样好,但最后可能郭晶晶会得分高一点(我印象中有届奥运会上就出现过),这就是人主观评判的细微之处了。

过程识别

晋升识别过程是一条链路,而技术标准评定只是其中的一个环节。

晋升过程启动一般由 HR 部门驱动发起,经过各个部门直属领导提报候选人,再经由技术委员会进行专业线评定,再去到管理层复议,最后又回到 HR 部门最终确定。这个过程是一条过滤器链路,有没有感觉像是编程中的责任链模式?

第一个环节,HR 部门的责任是对提报候选人进行晋升资格确认,比如是否满足上一级别或岗位要求的工作年限,是否存在公司行政处分导致失去资格等;第二个环节,部门从满足资格的员工中进行提报,部门的作用是对提报员工过去一年在本部门工作绩效的认可;第三个环节,就进入了技术委员会组织的专业线技术评定,而通过技术标准评定后,是对其专业综合能力的认可。

最后,就进入到管理层复议环节,这个环节会有一个冲突点存在。奥运会的跳水运动员,不管你得了多么突破历史记录的高分,但奖牌却只有 3 个;同样,公司每年的晋升名额也是有限的。一般公司每年的晋升名额都会有一个比例限制,这是出于控制成本与优化人才结构的考虑,因而经过前面的环节,最后到达这里的人数可能多于这个名额。所以,管理层复议其实就是对最后多出来的人数,综合考虑整体和局部的利益,进行调节筛选。

了解了评定的标准和过程,就可以反过来站在晋升者的角度想想,如何才能更有效地被识别出来?

晋升述职过程仅仅只有 10 到 20 分钟,即使采用了前面所述的标准维度,晋升述职者也只能在有限的时间内把过去一、两年的工作成果、能力成长展示在几个点的范围内。这对于评定者来说,就像在管中窥豹了,看不到全貌,看完几个展示的特征点后就需要判断这到底是“豹子”(符合下一级别的晋升标准)还是“猫”(不符合)。

我在做晋升评委时,就一直被这样的判断所困扰,多数述职同事都在这几个点上表现得很好。这就像是说,如果是豹子,它确实该有这些特征点,反过来,拥有这些特征点的就一定就是豹子么?这些特征点,是豹子的唯一或足够有区分度的标志性特征吗?

我发现靠“点”上的判断,准确度自己其实也完全没把握,后来就想到了一种更好的方式,靠“域”的判断。域,即领域,包含了:责任域和能力域。蜘蛛侠里有句台词是这样说的:“能力越大,责任越大(With great power comes great responsibility)”,能力和责任总是相辅相成的。

责任域,就是你负责什么,这个相对容易识别。而能力域则过于抽象,很难清晰识别,在述职这样的形式中,最容易判断的仅仅是表达和沟通能力;至于业务和技术能力,虽不那么容易判断,但好在其有最好的展现形式:作品。

对于程序员,作品可以是一个完整的系统,但其展现不应该是一系列的技术点,而是先有整体(面),再深入局部(点),应该是一个画龙点睛的过程。从这样的展现过程中就能很好地体现出晋升者的业务与技术能力。

识别的过程,本质是在解一个概率问题,当参与这个过程的两方(评定者和晋升者)都这样努力去考虑时,我想这样的过程就会有更高的准确率。

博弈权衡

晋升过程因为涉及太多个人的利益,所以评定过程的公平性是所有参与方都关心的问题。

以上过程乍一看还算公平,里面有绝对客观的资格筛查,而对于主观的人为评定也采用了多人制评定方式,分散了个人的好恶影响,并且还由客观标准限定了人为评价范围。但这里面依然存在不公平因素,这个因素就是评定过程本身的形式。

程序员的特点是多擅长和机器打交道,编程能力强于表达能力。而评定的过程是靠述职这种形式,它偏重于表达。若一个完全不擅于表达,而编程和解决问题能力很强的人,在这样的形式下就会吃亏,这就有失公平性。但反过来说,如果要追求一个对所有人绝对的公平方式,那么可操作性和成本可能也没法很好地控制。

以前读过吴军两篇关于讲法律的文章,在传统的理解中法律应该是最在意公平和正义的,但在文章中他提及了几个概念:民意与民义,民力与民利。这四个概念的含义如下:

  • 民意:人民的意图;
  • 民义:人民最在乎的公平和正义;
  • 民力:人民让渡给国家和政府维护公平和正义的必要力量;
  • 民利:人民的利益。

吴军在文章中阐述了这些概念代表的内容与法律代表的公平和正义之间的博弈权衡过程,有如下:

在现代社会中,一切都是有成本的,绝对的正义是不存在的。当给予一部分人正义时,可能要以在其他地方付出巨大的成本为代价。如果一个判决伸张了正义,但是让受害的一方更倒霉,这就违背了司法中关于民利的原则。

这让我受到了启发,司法判定和晋升评定有异曲同工之处,都是需要判定一个事情,也都受这四个因素影响而导致博弈权衡。

评定中的“民意”来自会参与晋升的员工,及其相关的直属领导和所在部门。而“民义”,依然是保证公平。但“民力”的来源则不同,评定的权力实际来自于组织(公司),而非员工,所以最后的“民利”就应该是组织(公司)的整体利益。评定判断实际就是站在授予权力的一方,兼顾公平和利益。

当绝对的公平和利益发生冲突时,法律的判定实际更站在利益一方,符合“民利”原则,这就是吴军文中给出的一些观点和启发。那么技术评定中的公平会和组织利益产生冲突吗?什么是更符合组织利益的呢?也许人员和团队的稳定与良性流动是有利于组织利益的,选拔出更能代表组织技术实力的技术人员是更符合组织利益的……

当把这些因素都考虑进来后,真正的评定过程实际就是所有这些因素的博弈并达到平衡。你看,虽然评定的结果只有是或否,但过程却是多种维度的考虑与取舍。

著名管理学家劳伦斯·彼得分析了千百个有关组织中不能胜任的失败实例,归纳出彼得原理:

在一个等级制度中,每个员工趋向于上升到最终他所不能胜任的职位。

晋升的本质是承担更大的责任,而责任和能力是需要匹配的,晋升就是完成这样一种匹配关系的过程。一个公司中的责任域是有限的、发展的、变化的,那你当下具备的能力域是否匹配相应的责任域?你正在学习和开发的新能力域,是否能在组织中匹配上合适的责任域?这才是看待职场阶梯与晋升的正确方式。

保持不断学习和提升能力,找到并承担起合适的责任域,那么后续的晋升并贴上一个相应的职级标签,就是一件自然而然的事情了。

晋升、职场阶梯和级别,更多是一种形式和标签,其实最后更重要的还是自己的成长,你说呢?