古典经济学对工资、雇佣的处理,是极度抽象的。在经济学家看来,就业水平和工资总是取决于市场的供给与需求,而企业的最佳雇佣政策也不外乎:增加雇佣某种类型的雇员直至最后一名雇员的边际收入产品正好等于其工资率。然而,基本的古典模型并不能准确地描述现实社会中的雇佣关系,因为在那个高度简化的理论世界里,候选人是同质的,面试甄选是多余的,既不可能存在雇佣上的失误,也根本不会发生招不到人情况……这一切,明显与我们身边一过完年就发愁的HR们的处境不符。与理论世界相比,现实中的雇佣问题无疑要多得多。经济学家Herbert Simon就曾坦言:“古典经济理论研究雇佣合同和劳动力管理的方式非常抽象,事实上,它甚至把我们在世界中观察到的许多最重要的经验事实都抽象掉了”。
要处理具体的现实问题,研究者就必须深入到经验事实中去。就像经济学家张五常一直坚持的:“若不知道事实的真相,我们就无从用理论去解释事实”。这是对专业学者的要求,也是对一线从业者的要求。作为人力资源的从业者,在理论深度上我们比不上专业的学者,这可以说是必然的,但这并不见得会对我们的工作形成阻碍。会对我们的工作形成阻碍的,是既缺乏理论、又脱离现实,这甚至可以说是作为从业者所会遭遇到的危险中最为致命的一种。所谓的现实,并非指统计数据,统计数据告诉你今年程序员的平均工资一万五千,其实也跟什么都没说一样,因为这个“平均的程序员”在现实中我们永远也不会遇到。所谓的现实,是那些平均化、数据化之前的事实。我们要招人,我们就要努力弄清楚,在一个具体的职业里,雇佣者的生产率是被什么决定的?是怎样分布的?在经验上,一个一般经验的从业者,与一个有丰富经验的从业者,他们的区别在哪?他们的区别有多大?如果没有弄明白这些,我认为我们的招聘工作就是盲目而又低效的,而我们的雇佣政策,也会因不得要领而形同虚设。当今,程序员跳槽率远高于其它行业,人才留不住、招人也越来越难,这一普遍现象,不能说跟大环境毫无关系,但究其根本,还是我们针对这一职业的雇佣政策出了问题。再往深一层次说,是大部分公司在制订人才策略时,所奉行的一些假设,已严重脱离了实际,存在着根本性的缺陷。
这一问题可借由心理学家Kenneth Craik所提出的“心智模式”(mental models)的概念来进一步分析:
心智模式,又叫心智模型,是指深植我们内心之中关于我们自己、他人、组织及周围世界每个层面的假设、形象和故事。并深受习惯思维、定势思维、已有知识的局限。也通常指人们一种习以为常、理所当然的认知。
可以说,“心智模式”不仅决定着我们如何理解世界,同时也决定了我们如何采取行动。心智模式本身就是带隐蔽性质的,这一点已内涵于它的定义之中。因此,在思考问题时,人们很难察觉得到它的存在;而在作出决定时,也往往意识不到它的影响。一个人、或者一个群体的心智模式,或多或少都是有缺陷的,甚至是不科学的,但由于我们很少意识到它的存在,因而我们也就没有机会去认真地了解它、检查它。如前文所述,我们之所以说古典经济学对雇佣的分析是抽象而又宏观的,不足以指导现实中组织的雇佣政策,是因为古典经济学的心智模式是公开的,它已经详细地向我们表明了它假设了什么、简化了什么,所以我们能检查它、知道应当把它用于何处。但是,我们自己的心智模式却往往由于隐蔽性而得不到检查、反思与修正,这也成了我们思维的固化之源。所以说,雇佣工作的成果,固然与外部环境的好坏有关,与组织资源的多寡有关,但更多的还是取决于HR的心智模式。HR的心智模式与现实之间的差距越大,我们的行动就越难以达到预期的效果。因而我们需要系统地反思与之相关的心智模式。而在程序员的招聘与甄选过程中,我认为HR的心智模式在以下几个方面普遍存在着误区:(1)程序员之间的替代率、(2)面试评价的统计指标化,以及(3)准租金问题。
一、我们严重低估了优秀程序员与一般程序员之间的替代率
早在1975年,Frederick P. Brooks就在《人月神话》中写道:“……最好的和最差的表现在生产率上平均为10:1;在编程速度和空间上具有5:1的惊人差异!简而言之,20000美元年薪的程序员的生产率可能是10000美元年薪的程序员的10倍”,并认为:“一拥而上的开发方法是高成本的、缓慢的、低效的”。最后,Brooks建议:“如果在一个200人的项目中,有25个最能干和最有开发经验的项目经理,那么开除剩下的175名程序员,让项目经理来编程开发”。
在Brooks看来,一个25人的优秀程序员团队,在效率上要优于一个175人的普通程序员团队。优秀的程序员可以做到1个顶7个,这一观点对任何人的心智模式都是一种挑战。就像我们不太相信足球比赛中能踢出两位数的分差一样,我们也不太愿意相信薪资如此相近的人会有如此巨大的差距——但这就是事实。因而在程序员雇佣问题上,Brooks提倡了一种极端的精英化策略:只要优秀的,普通的一个都不要。《人月神话》出版至今已经有40多年了,在今天,尽管编程语言的门槛已有大幅降低,可供复用的程序库、框架的数量比之当年也已是云泥之别,但程序员之间的生产率差别却并没有同样显著的缩小。一个月薪20000的程序员,在生产率上10倍于一个月薪10000的程序员,可能不再是普遍情况。但两者之间的差距,仍要比绝大多数人所猜想的要大得多,我们的心智模式在这方面是明显偏于保守的。从现今大多数公司中优秀程序员的薪资水平及人数占比来看,我认为优秀程序员的作用仍在被严重低估。至于那些推崇程序员团队“梯队化”的HR,我想,如果不是其所在的组织本身不存在经济上的要求,那么就是这些HR对于不同程序员之间的差距还缺乏最基本的了解。
关于优秀程序员与一般程序员之间的替代比率,实际上可以用一个经济学概念——消费的边际替代率(Marginal Rate of Substitution in Consumption,MRSc)来表示。MRSc是指,一个消费者在维持效应水平或满足程度不变的前提下,增加1单位X所需放弃的Y的数量。如果我们将优秀程序员定义为X,普通程序员定义为Y,那么这里的MRSc就是指:当我们往团队中引入1名优秀程序员后,在确保生产率不降低的条件下,可释放出多少名普通程序员。因此,MRSc既可以看作是优秀程序员与普通程序员的生产率的之比,同时也可以视为是组织“精英化”的指示器,MRSc值越大,精英化的收益就越大。总而言之,只要作为替代率的MRSc大于优秀程序员与一般程序员的工资比(Px/Py),用优秀的程序员替换总额等价的普通程序员就总是经济的。
Marginal Rate of Substitution in Consumption依照现今国内的行情,优秀程序员与一般程序员的工资比(Px/Py)平均在3左右,而两者的边际替代率MRSc再保守估计,也至少在5以上。所以我们的雇佣政策可以是极为简单的:那就是在给定的工资总额下,尽可能地招聘优秀的程序员(或是能在短期内成为优秀程序员的人),而不是普通的程序员。因为从每一单位的薪资成本所产生的收益来看,优秀的程序员在今天仍然是最廉价的劳动力。从1975年出版的《人月神话》,到1987年的《人件》,再到2002年的Jolt大奖图书《软件工艺》,在这些软件界的思想家看来,优秀程序员的重要性是怎么强调都不过分的。《软件工艺》的作者Pete McBreen甚至这样写道:
“优秀开发者的价值至少应与任何管理者(包括CEO)相当……几乎所有企业策略方针都会反对这样的薪酬计划,但事实就是这样:高薪比本章中所有其他的建议都更加有效。 ”
(未完,待续)
网友评论