前阵子写了一篇《如果两个程序员差不多,选写作能力更好的那个》,就有读者留言说:“老板,不都是选工资更低的那个么?”。其实,这是另一个维度上的看法,正好最近也和一些经常招程序员的负责人们聊起过这个话题,顺着这个思路,不知不觉就想了很多。
人头值几何
早年刚毕业,找了一份工作。虽然不是外包公司,但由于承接的都是国有大型金融企业的项目,所以谈项目合同金额时,基本都是按这个项目大约需要多少人,投入多久,每个人的成本来计算的。
那时,甲方给的单人报价大约在 2.5 万,而我当时税前工资在 5 千,算上五险一金,公司办公场地、设备和后勤支持部门的摊销,估计像我这样的初级工程师的人均成本在 1 万左右。中间的 1.5 万空间,基本就是公司的毛利空间,对于我来说就是潜在的涨薪空间,而工资天花板显然是低于 2.5 万的,至少当时我是这么觉得的。
这样的业务模式,我称之为“卖人头”模式。在这样的模式下,招程序员的平均成本,也就是工资,显然必须远低于 2.5 万,公司才可能存在利润空间。但那是平均水平,就个体来说,依然会有少数人是可以高于 2.5 万的,这样的人在公司一般都是特定领域的专家,有业务的(比如,特别懂金融某个领域),有技术的(比如,那时特别懂大中小型机或中间件服务器或 Oracle 数据库),但这样的人不会太多,他们的高工资需要更多人的低工资来把平均工资拉低到让公司有利可图。
在这样的业务模式下,老板可能会有招低工资程序员的冲动。在程序员这个市场上,绝大部分还是符合一分钱一分货的,这里面的问题是,若是招的程序员工资是够低了,但实际的项目成本还有时间因素,万一比当初签单的估算超期太多,再低的工资也抵消不了无法按期交付合同带来的损失。这种损失,除了金钱的亏损,恐怕还有客户信任的损失。
站在老板的角度,工资仅仅是金钱的成本,而为了企业运转,涉及的成本除了显性的的金钱成本,还有很多隐性的成本,比如:时间成本,机会成本,相比少数优秀的程序员,管理更多差劲程序员的管理成本也不容忽视。而且,别忘了,曾经说过程序员的主要产出是代码,而代码是同时带有资产和负债属性的。
加薪的追求
如果一个程序员感觉自己工资低,很不满,除了抱怨还积极寻找路径获得提升,其实是一种挺好的品质。在追寻加薪这条路上,前段时间读到一个叫 Lucas(卢卡斯)的荷兰同学的故事,印象很深。
Lucas 同学因为在大学里沉迷于 WOW(魔兽世界),花了太多的时间玩游戏,太少的时间来学习,所以毕业后一直找不到工作。他妈妈看他都大学毕业了,还整天住在父母家混吃混喝,就怒了,说:“你要么立刻出去找一个工作,要不我就替你找一个。”。
卢妈妈的人脉不错,辗转托前同事帮他在一家 IT 公司找了一个程序员的工作。看在卢妈妈的关系上,公司勉强录用了小卢,给了一个非常初级的职位(a junior junior position),然后给他开出了一个很低的工资 €1500,而其他同学的最低水平在 €2100。
小卢还是很高兴,至少给了他一次机会去做一些事,挣点钱养活自己,不用再看妈妈的脸色,听她的唠叨。他便开始了没日没夜,从周一到周末的 997 人生困难版工作学习模式,一边学一边做。在 Visual Basic,WinForms 和 SQL Server 上编程。数月转瞬即逝,小卢同学不仅能修复原来系统的 bug,还可以开始开发一些新的功能。
小卢同学取得了长足的进步,然后到了公司一年一度的加薪期。他便向自己的老板提出了加薪的要求,他的目标就是 €2100 —— 刚毕业同学们的最低标准。他和老板谈了话,谈话过程不是特别愉快,老板说只能给他加到 €1750。小卢同学很委屈:
“为什么我和他们修同样的 bug,写差不多的功能,却要低一些?”
“但你不懂什么是类继承,也不明白接口设计,甚至不会安装一台服务器,你不懂这个,也不明白那个的原理...”
轮换了三个老板来给小卢同学说了一大堆他还不懂的东西,所以不能给他加薪那么多。小卢同学勉强承认确实还不懂这些,但心里又不爽,只好回家给妈妈吐槽心中的郁闷。卢妈妈听了前因后果,给他提了一个建议:你给老板说,你可以每周工作 4 天,额外的 1 天用来学习这些你还不懂的东西,然后接受 €1750 的月薪。
第二天,小卢把这个建议告知了自己老板们,老板们都被他这个创造性的建议给震惊到了,但最后他们都同意了。仅仅再过了 6 个月,老板又来找小卢谈话了,这次老板豪爽的说给他加薪到 €2500,但他必须要工作 5 天了,作为补偿,老板还给他安排了一个系统的大学 IT 培训课程,由公司出钱。小卢心里清楚,他做到了曾经提出过的建议,而且做得比其他一些同事们都要更好了。
之后没多久,小卢开始参与一些更有趣的项目,然后成了项目的主管工程师(Lead Engineer),在公司工作了三年后,小卢的工资涨到了 €3500。从一无所知,到获得一个最低工资机会,再到主管工程师,最后到如今,小卢的故事暂告一段落了。
小卢的故事说明了什么?没有卢妈妈的人脉关系,他也许连一个低工资的机会都没有。而小卢也用自己的成长性,从低谷爬了出来,重点是他始终盯着和他同级的同学在比较和较劲,始终向前比较,盯紧了前车的尾灯,最后完成了加速并超越。
投资的时间
人的时间有三部分,一部分是用来交易的,也就是用时间换工资。
小卢一开始工作时的 997 模式基本就是全部时间都用来交易了,若非如此他很可能连这个低工资的机会都保不住。之所走到这种境地,还不是在学校该学习时,都用来玩游戏了。而玩游戏的时间,就是我们时间的第二部分 —— 消费,用于游戏、追剧等等。
而时间的第三部分,是用来投资的。小卢用期望的 €2100 减去公司实际支付的 €1750,也就是 €350 的差价换来了每周额外的一天时间用于投资 —— 学习成长。你看时间有个多么具体的价格啊,越早开始把时间用在投资上,自己付出的成本用金钱来度量越低,而将来的潜在收益越大。
所以,曾经我写过一篇《程序员应该接外包吗?》 的文章,答案自然是不,接外包的本质就是把自己工作内和工作外的时间都全部用于交易了。聪明的程序员,给自己留下不交易的时间,用于投资未来。
...
年少时像小卢一样过度消费了时间的同学,还能拼命补救回来。而工作十年的人,工资低于同级平均水平,却是一个危险的信号。所以,聪明的老板实际是慎招工资低于同级平均水平的程序员,而聪明程序员也该找愿意选择高价的老板。