程序员,你为什么值这么多钱?

听说一段时间不加薪,人就会开始思考起和工资有关的问题。消费水平又提升了,能力也进步了,经验也更多了,怎么还没涨工资呢?

近两年,有了点余钱就开始考虑起投资来,比如:投资股票首先需要判断的就是关于公司价值和价格的关系。回到个人身上,似乎工资也就是个人价值在市场上的一个价格。那我们的工资是如何被定义或确定的?

因为我的程序员职业背景,下面就以这个职业为例来分析下这个问题。

表象与实质

工资的高低给我们的感觉似乎和你的技能、经验呈一个正比关系。毕竟每次找工作面试的时候,考察的都是候选人的技能、经验相关水平,然后给予一个相应的级别,最后确定一个工资范围。而且一般有正规工资体系的公司,都会按照专业水平划分能力级别,以此对应不同的工资等级。

这个对应关系是我们能观察到的一个现象,且有切身的体会。所以很直觉的就会把工资高低和我们的技能水平、经验值关联起来。工作初期的很长那么一段时间内我都是这么以为的。

因而,当刚工作了两三年后,技能水平迅猛提升、经验值飞速增长,这个阶段属于《两种增长类型》中的对数增长初期。上升曲线特别陡峭,而工资的增长呢,则属于指数增长的初期,几乎感觉不到增长,自我感觉是技能和经验已经翻倍,但工资似乎还在原地或就涨了 20%。

其中有个例外就是校招,校招刚毕业的同学的工资有可能比毕业工作了两三年的同学更高,出现倒挂现象。这在大公司的校招比较常见,这里决定工资高低的,和经验技能无关,只和公司的人才储备、市场竞争、品牌宣传有关。

所以,工资和技能经验的直观关系仅仅是一个表象,那么它的实质是什么呢?曾经读到刘润的一篇文章,其中写道:

工资不是用来支付给技能的,不要以为技能越高、工资自然应该越高。

工资是用来支付给责任的,责任越大,工资越高。

涨工资,是因为承担了更大的责任。

上面所说正是工资的实质。所以,站在公司的角度,它会设计很多不同的岗位,有管理岗、有各种专业系列岗,而每个岗位又对应不同的职责。而岗位职责对技能和经验的要求决定了该岗位的工资范围,也决定了整个公司的人力成本范围。

搞清楚了工资的实质,就明白涨工资是怎么回事了。涨工资,一种是岗位职责工资范围内的调节,毕竟如果长时间不涨,也不利于人员稳定。另一种是,升级到更高级别岗位,这种除了当下领到的工资涨了,而潜在的可涨的工资范围也提高了。所以,有时你的技能提升后,但公司业务发展没那么快,不能提供更高级别的岗位职责,工资也就涨不上去了。

另一个误解是,工资跟我的表现有关。今年工作很努力,表现很好,年底了公司业绩也很好,就会预期涨工资。但前面说了工资是支付给责任的,不取决于你的表现。这种情况一般通过发奖金来奖励突出的业绩,这属于短期激励,当然也有公司会在岗位职责工资范围内适当调节提升以保持长期激励。

对于管理岗位,因为经理人不属于个人贡献者,所以其工资的一部分通常和团队绩效绑定,称为“绩效奖金”。这个奖金一般在管理岗的全部薪酬中的百分比会随着薪酬的增加而增加,比如:高层可能占到
50%,而中层占到 20%-30%。前 Intel CEO 安迪·格鲁夫说过:

每一份工作所包含的最大价值都是有限的,不管一个人在这个职位上待了多久,最后总会达到薪资的上限。

这个上限就是岗位工资范围的天花板。而外部市场会提供一些工资立即涨 50%
甚至翻倍的机会。面对这种机会时,先不要自大的以为你的价值被低估了,心想你看外面市场给了翻倍的价格。很可能是这样的,外部公司出现了岗位空缺,考虑到公司业务正快速发展的时间和市场机会成本,所以会开出一个高于一般市场价格的工资水平来迅速补缺。另外,空缺的岗位职责实际可能比你在当前公司的职责更大,你还要考虑自己能否承担得起。别通过了面试,最后却过不了试用期,仅领了三个月或半年的翻倍工资,实际是得不偿失的。

认清自己,认清工资的本质。

价值与价格

程序员提供的是软件开发这种技术服务,而为了提供这种服务需要相当长时间的知识、技能和经验的积累。获得具备提供这类服务所需的学习和实践的时间构成了我们的「技能成本」,这形成了价值的一部分。

而公司支付给程序员的工资就是提供技术服务的市场零售价。既然提到了「市场零售价」这个概念,想一想,市场上有没有同类的,成本差距不大的商品,零售价却可以差距巨大,这是为什么?

我想到得是:女士皮包。曾经看到过一个案例:

北京新光天地的某著名奢侈品专卖店遭遇盗窃,据说一个零售价好几万的包包被偷了。店长报警,但最终警方并没有刑事立案,因为那个包包的成本进价不过几百块钱。

而在程序员提供技术服务的市场上也存在类似情况,技能经验水平差不多,但工资(零售价)差别巨大的个体。思考下包包的例子就明白了,奢侈品包包除了材料成本,还有什么成本?客户之所以要买这个奢侈品包包,最大的成本不在材料,而是在客户的头脑中建立起关于这个包包的品牌信息并形成一种对客户有独特价值的认知,这属于另一种成本:「传递成本」。

那么,程序员也有两个成本:

技能成本:专注于提供技术和服务本身所占用的时间和注意力。

传递成本:让你潜在的“客户”知道你所能提供的技术和服务的价值占用的时间和注意力。

这里有个案例很形象的说明两者的关系:

2003
年,一群海洋科学家历时三年,花费了三百万美元研究经费,完成了一份关于美国海岸环境状况的报告。这份报告反映了巨大的环境问题,可以说是触目惊心,所以参与研究的科学家都认为此报告一出必然石破天惊,成为每晚电视新闻主题,登上《时代周刊》的封面,等着被记者采访轰炸。结果除了纽约时报在二十二版给了个报道,报告几乎没有引起任何反响,这件事就这么结束了。

花费了三百万美元研究经费,但仅有 3% 用于宣传,所以毫无影响力。这个案例之中,97% 的研究经费相当于「技能成本」,而用于宣传的 3%

相当于「传递成本」。当二者差距悬殊时,即使很有价值的东西也很难被市场所知晓,无法实现价值最大化。传递价值也需要成本,而且成本不低,正所谓酒香也怕巷子深。

所以,有人总是感觉自己被低估,因为他正巧知道了另一个和自己技术差不多的人,似乎只是人际关系更好反而获得的零售价更高。而程序员这类技术人员倾向于高估自身的价值,而认为市场低估了自己的价格,往往是因为对传递价值部分的成本没有足够的认识。

这两个成本最终都会成为你价值的一部分,而且市场上确实会为此埋单。两个技能水平相当的程序员,一个在市场上默默无闻,一个在市场上拥有相当的影响力并占据了潜在客户的头脑。当后者要去市场上出售时,零售价通常会更高。

搞清楚了价值的两个成本,就能很好的理解其价格了。思考下,为什么程序员在一线城市的人力和生活成本高居不下,企业还是要在一线城市最贵的写字楼扎堆?

我的理解就是这两个成本的原因。程序员的技能成本大量依赖一线城市的高校教育资源。而程序员群体的普遍特性是忽视传递成本,那么企业只好在其扎堆的地方以最小化传递成本。因为考虑市场的时间和机会成本足以覆盖一线城市相对二三线城市的人力成本差价的。

市场上的商品有两种销售方式:

卖的更多:大型卖场,薄利多销。

卖的更贵:奢侈品,相对成本一百倍的毛利。

程序员提供的技术服务因为无法卖的更多,所以只有一种选择,像奢侈品一样卖的更贵,前提是学会像奢侈品牌一样思考。

发展与变化

有时价值没变化,但工资也可能会一直涨。从现在起你即使停止技能增长,只是维持技能不被市场淘汰。在可预见的未来十多年,你的工资还会翻好几倍。这有两个原因:

货币是保持贬值趋势的

人口抚养比变化

人口抚养比,是一个国家非劳动的人口占总人口的比率。来自国家信息中心的数据,2011
年是中国人口红利发生转折的一年,从这年开始,总抚养比由降转升,2011 年为 34.4%,2012 年为
34.9%。这是劳动年龄人口相当长时期第一次出现了绝对下降,这意味着中国 15 岁以上不满 60 周岁的劳动年龄人口,在 2030
年以前将稳步地有所减少,中国已经面临“人口红利”逐步消退的压力。

简单说,就是 2016 年,14 亿人有 5 亿无法工作,人口抚养比 5/14=35.7%。如果 60 岁退休政策不变的话,2030
年大概会反过来,5 亿人工作养 9
亿无法工作(未成年、退休)的人。按这个趋势和经济规律,好消息是劳动力供给减少价格自然会上升;坏消息是,劳动强度和压力会更大,毕竟一个劳动人口差不多要养活两个非劳动人口。

另外一个值得关注的可能就是人工智能的发展,需要多少年,对人的替代因素能达到一个不可忽视的比例?这一点暂时只能且行且看吧。

关于工资,我们从表象到本质,从价格到价值,从当下到未来逐步看清了其中的真实。那么就只需客观面对这个真实,按照经济规律行事,理解市场定价原则。再积极一些,尽可能高效率的提高个人价值产出率,但也要认识到工资的“玻璃天花板”。

还记得前面提及的《两种增长类型》吗?不幸的是工资增长符合对数曲线,但价值增长是可以有办法走指数曲线的,跨过了指数增长的拐点再兑现价值,收入就会突破工资增长的天花板。

至于如何做?还没有清晰的思考认知,倒是觉得和菜头这句话很有道理:

因为只有真正认识你价值的人,最终才会成为你价值的一部分。

当然,如果你还在对数增长的陡峭期,那么就简单了,先让工资增长到天花板附近吧。

作者:mindwind

来源:51CTO

时间: 2024-10-24 12:46:42

程序员,你为什么值这么多钱?的相关文章

专属于程序员的理财建议,抱走不谢

最近两年,程序员们似乎成为了社会新的高收入群体,但是程序员们往往比较擅长与和电脑或者说是代码打交道,但是说起管理自己的资金,可能程序员自己都不知道自己有多少钱,并且没有什么时间去研究这些东西,这时候怎么办呢?答案当然是:找个老婆(或者女朋友)呀!哎哎哎,大哥我错了,别砸狗粮呀!!!咳咳,好吧,那答案就是学会理财吧,只有你去理财了,财也会理睬你,学会了理财就距离成为"高富帅"又近了一步,那么离"迎娶白富美"也更近一步,怎么又扯偏了,言归正传,本文就为各位程序员GG提供

呆萌程序员眼里,世界是单色的

呆萌程序员眼里,世界是单色的 "护照是什么?""美洲还分南美洲和北美洲的?"不要笑,这是真实的,从程序员口中冒出的疑问.如果说世界是彩色的,那么程序员眼中的世界大概是单色的.不信?那就来看看这些呆萌的程序员的日常吧.由于多为爆料,以下故事主人公的名字全都做隐掉处理. 程序员工作起来是这样的: 一次去某互联网公司参观,走到技术部门时,黑压压的一片.程序员们的桌上堆满外卖盒,有吃剩的炒面,发黑的大排,喝了半瓶塞了十几个烟头的可乐--而他们就像一尊尊石像,坐立在电脑面前,

为什么很少见工资高的程序员炫富?

本文综合整理自 知乎 同名讨论帖.题主的补充: 反观网上炫富的没有一个是程序员,哪怕是平时聊天吹牛的也没见程序员晒. (网络图) 鼹鼠的土豆 的回答, 我不是程序员,我嫁给了程序员,我从一个程序员的老婆的角度回答这个问题啊!或者说从一个IT男老婆的角度回答这个问题. 首先是太宅,没什么花销,或者说没机会炫富,或者说他们的消费项也达不到炫富的程度,拿我爱人来说啊!不抽烟,出去应酬才喝酒,每天早上在家吃完早 饭才去上班,车停单位免费停车场,午饭在公司食堂吃,基本上每月饭补发饭卡里都会花不完,请人吃饭

S.O. 推出程序员身价计算器,看看自己值多少钱?

近日,Stack Overflow 推出了一个程序员薪水计算器.它可以通过你所拥有的技能.工作地区.教育程度.工作经验等,估算出你在编程界值多少钱.该工具将根据各类因素给出直观图形化的显示,从而来衡量自己的薪资是否达到自己工作的一般水平,保障自己的利益,并且让开发人员进行一般的财务处理工作. 如果你有打算去国外就业,那么就不妨用这个"计算器"估算一下自己的薪资. 当然,在国内一些程序员依然可以混得风生水起.特别是那些北上广的程序员,生活可谓滋润. 根据2017年程序员薪水的数据统计,j

程序员是否值那么多?

记录片<次郎寿司之梦>(Jiro Dreams of Sushi,2011)里有个很牛的场景----世界上最著名的寿司师傅转身对他儿子(将要去开一家自己的餐馆)说:你无家可归了.面对这一幕当你仔细一想,就会发现这父亲的话其实并不让人觉得太过严苛或沮丧,实际上这是对一个正要开展新旅程的人的最佳说法了. 去年十月我辞了职,成为一个自由写手.写作只赚到了900美元,但我最新的作品,一份关于Douglas Hofstadter档案,吸引了两家美国大杂志的兴趣.我得到了大概10,000到20,000美元

钱多话少死得早?我来说说身边真实的程序员们

早在没有接触程序员之前,就特别好奇程序员身上的各种标签,像什么黑框眼镜格子衫,内向邋遢情商低之类.甚至网上还流传着各种经久不息的段子,比如找对象一定要找程序员,因为钱多话少死得早. 怎么看这些标签对程序员都不太友好,似乎程序员们是游离于社会之外的一群编外人,与这个世界有些格格不入.可是,如果你接触到程序员,真正融入他们,你就会知道他们其实是一群非常可爱的人.作为一个IT公司的行政小妹,今天就来说一下我身边那些真实的程序员们. 程序员们简单,单纯. 这大概是他们最普遍的特质.他们穿着随意(注:随意

人都说程序员人傻钱多死得快,事实真是这样的吗?

人人都说程序员人傻钱多死得快,事实真是这样的吗? 人傻 这个"傻"指的是,有些程序猿们,情商比较低,又或者为人比较老实憨厚,想想每天8-12小时都坐在电脑前,看着一堆堆的字母敲代码,解决一个又一个bug,人品大部分都是比较靠谱的.也因此,没有女朋友咯~~这个"傻"其实是褒义词.智商方面起码在中上等水平,工作3-5年以上的程序员,每天敲代码会锻炼自己的逻辑思维能力和解决问题的能力及考虑事情能做到未雨绸缪把控全局的能力,因为程序和人生一样,就是面对各种条件的判断和选择,

为什么很少见人傻钱多的程序员炫富?

程序员一直都是一个备受人们关注的群体,据IDC2015年的统计数据,全球约有1850万名程序员,中国占10%.随着近年全国互联网创业热潮的兴起,"互联网+"."云计算"以及"智能硬件"等领域发展迅速,市场对程序员的需求更为旺盛.除了需求旺盛之外,程序员的工资水平也相对较高.有人说,程序员行业刚刚步入中产阶层,其实...这帮程序猴子们早就迈进中产了,只不过他们从来不炫富,或者说他们根本不知道自己有多少钱...Org,对于程序员而言,电脑和键盘.鼠标

《C和C++程序员面试秘笈》——1.6 看代码写结果—有符号变量与无符号变量的值的转换

1.6 看代码写结果-有符号变量与无符号变量的值的转换 C和C++程序员面试秘笈考点: 有符号变量与无符号变量的区别和联系 出现频率: #include <stdio.h> char getChar(int x, int y) { char c; unsigned int a = x; (a + y > 10)? (c = 1): (c = 2); return c; } int main(void) { char c1 = getChar(7, 4); char c2 = getCha