其他职业越老越值钱,程序员越老越贬值?
今天一早,看到NBA交易消息中提到:小加索尔与洛杉矶湖人队签下两年老将底薪合同。业界评论一致认为湖人这次在中锋这个位置进行了补强,甚至有人认为湖人是捡了个大便宜。
小加索尔作为一个85年出生的球员,在NBA赛场上已经是处于职业生涯晚期的球员,为什么还这么受关注呢?其实每年NBA交易期都会有这样类似的情况,一些早已功成名就的老将,不在意薪水的多少,只想加入一只有争冠实力的球队,并且往往他们的经验会让球队受益匪浅,关键时刻往往会帮助球队获得胜利。正如我们华夏民族一直流转的那句“家有一老,如有一宝”。
每一个职业每一个行当,一代代的经验传承,造就了中华民族五千年的文化荟萃,但是现在似乎程序员这个职业有些另类,别的职业都是越老越值钱,唯独程序员,在众人的眼中越老越容易失业?越老越贬值?
那究竟是什么原因造成了这个现象呢?让我们一起看看知友们都是怎么说的吧
甲
做程序员这些年,我一直在思考一个问题,就是:
就互联网公司而言,对于公司好的发展逻辑其实是跟对于个人来说好的发展逻辑似乎是有冲突的。
对于一个大公司来说,一个新员工进来,首先要做的是什么?
学习遵守公司的流程规范,让自己的工作内容和工作方式都以一种标准化的方式进行。
哪怕你做了某个很好用的工具,或者发现了做这件事的更高效的方法。
那么在得到上级认可之后,你要干什么?
把这个东西整理成标准的流程,文档,以提高后面新入职的同事的工作效率。
为的是什么?
为的是哪怕有一天你不在这个公司了,你所做的这一部分工作也能很快地找到另外一个人来代替。
当然,然后还有进行项目开发时对于代码和文档的各种规范和要求,越是大公司,在这方面的要求越是严格。
为的是什么?
为的是哪怕你作为这个项目的核心开发者,但是如果有一天你主动离职了,或者年龄大了被公司裁了,这个项目依旧可以正常地运行迭代下去。
这确实是对于公司发展来说最好的逻辑。
但是问题是,这对我们作为员工的个人来说,可能并不是一个好的逻辑。
如果一个公司想要做大,想要走的远,那么他们就需要通过标准化,规范化的流程来把个人因素变动所带来的的影响降到最低。
而在里面作为的螺丝钉的程序员,除了写代码完成业务功能以外,还要把代码写的尽量让大家都能看懂,让后来人能轻易接手。
但这也为他后续被更年轻,更能996的程序员取而代之,埋下了伏笔。
而在某些传统行业,则不是这样的。
尤其是有些老一辈的手艺人,确实是越老越吃香,甚至是一个匠人到了六七十岁,还有人愿意把自家孩子送到这个匠人门下当学徒,学习手艺。
难道是因为这个行业真的有什么常人难以学会的知识或是技能,哪怕钻研了五六十年,还是有着很大的提升空间。
以至于研究了50年的手艺人,就真的比研究了30年的,要高好几个档次,所以大家才都青睐那个更老的手艺人吗?
也不一定。
也有可能是人家只是有几个压箱底的绝活,但是这个绝活,在这个手艺人临终之前,都不会轻易地交给自己的徒弟,更不要说是新入行的同事了。
毕竟人家是打算靠这点绝活,吃一辈子饭的,如果随随便便就交给徒弟,那师傅不就饿死了吗?
所以说,明白了吗?
为什么有些职业是越老越吃香,而程序员不是越老越吃香?
因为互联网公司的逻辑是:”虽然我需要程序员来帮我开发软件,但是我更需要的是这个软件离了他之后,依然可以好好地运行,所以说我会竭尽全力地来保证流程的规范化,代码的可读性以及业务逻辑的文档化。“
这样一来,即使程序员开发出了某个发展很好的项目,但是在这个项目进入稳定生产之后,也跟他没有太大关系了。
他并不能靠对着某个项目的理解,而吃一辈子饭,因为公司的规范要求他把所有有关这个项目的理解,都整理成文档,模型,和代码注释。
他要么抓住某个机会成为管理层,拿到公司股份,要么不断跟进学习日新月异的新兴技术,要么,就只能等自己老了,精力和体力都比不过年轻人的时候,被更加年轻的程序员所取代。
从这个角度上看,公司和程序更像是一个生命,而前赴后继的程序员们,只是不断往这个生命里面注入动力的干电池而已。
乙
大部分的中国企业,就没把程序员当做“脑力劳动者”,而是当做“体力劳动者”在用!
996是福报啊!过了35岁,搬不动砖了,996都没你的份。
我以前看报道,说“中国航天”深化改革啥啥啥的,其中一个成果就是“队伍平均年龄28.6(大概吧,总之很年轻)岁”,然后今年火箭已经炸了三次了。——这事我就随口一说,究竟什么原因炸的,炸得好不好,应该不应该,我不是行内人士,大家不用给我上课,实打实的说,我也不关心。
但以我一个快40的老码农而言,不说别人,就说我自己,我非常肯定确定以及一定:
我的能力从来没有贬值。恰恰相反,随着经验的积累,我的能力与日俱增。
我相信,就算不是全部,但很多老码农都会有这种感觉。
新东西学不动,那是懒得学!工作中用不到的,我学他干嘛?真要学的时候,分分钟捡起来,比你刚入行的菜鸟不知道快多少倍。
而且会倒腾个新技术就算有能力了?呵呵,
除了高质量代码生成以外,还有很多其他需要日积月累的技能,譬如全面审查需求,妥善安排进度,快速bug fix……
但是,企业关心这些么?
不过是搬砖的而已,能把砖搬过去就完事了,还管你怎么搬?
外包单位就不说了,卖出去一个是一个,关键是挣差价,你的工资是成本,当然越低越好。
互联网公司,钱烧得霍霍的,产品急着上线呢!还管你代码质量,只管你能加班不?!屎一样的代码糊上去再说,美其名曰“及时反馈快速迭代”……
软件公司……等等,中国有软件公司么?反正除了屈指可数的那几家,目之所及真能赚钱的都是骗补贴的!
明白了吧,这就是你问的为什么。
老程序员本身没有贬值,所谓贬值,是因为人力市场的需求。
怎么办?凉拌!
唉,希望未来能有更多脚踏实地的、以产品质量取胜的软件公司涌现出来吧!
丙
古话说的好:“飞鸟尽,良弓藏;狡兔死,走狗烹”。
不光程序员越老越容易失业,国内一切技术行当不都这样吗?
身为技术人员,在自身职业前景上,必然要遭遇两个问题。
第一个问题是他自己能控制的:你,究竟掌握了多高的技术?
是面向搜索引擎编程、只会CRUD呢;还是能够编写更高质量的代码、解决日常问题?
或者,是有充分的大中型项目设计、实施经验,甚至能够主持有一定难度的项目开发?
或者是,你能否掌握“核心科技”,挑战业界大佬?比如和思科比比网络调度算法、和Linus比比OS开发、写个数据库挑战Oracle、搞个Hadoop挑战yahoo甚至google?
可想而知,当你只会面向搜索引擎编程、只会CRUD时,你当然就是个一次性消耗品。用到三四十岁差不多也该用坏了,找个借口扔掉就是。
比赛“跑不死就往死里跑”的话,你怎么可能比得上二十来岁的小年轻呢?
想要“越老越值钱”,你就不能在年轻人的优势领域停留,你就必须不断提升自己、拓宽眼界、抬高上限——你猜Linus担心不担心失业?你猜yahoo里面编写/维护hadoop的、google里面优化big table page rank map-reduce的,他们担心不担心失业?
你究竟学会了多少,就决定了你的命运。
当你只能拼996007时,你那二十岁的身体还的确能支撑你扛大包;但到了三四十岁,哪怕没有落下一身职业病,你,还能像年轻人那样“昨天摔了一跤整条腿都紫了今天打个绷带照样活蹦乱跳”吗?
所以你失业了。那些挤走你、顶替你的,也会像你一样,在被人超负荷使用十年、落下一身病痛后滚蛋。
这就是第一个问题:你不为将来打算,急功近利透支身体996/007,所以你越老越容易失业。
你不光越老越容易失业,你还会落下一身病痛。三四十的身体甚至比不上那些会保养的、六七十的老人。你不得不掏出大量金钱来维持自己的基本生存。
如果你压根就不是什么“良弓”,凭什么阻止别人把你像垃圾一样踢开?
人无远虑,必有近忧。
技术人员必将遭遇的第二个问题并不是他们能控制的。
那就是:你把自己修炼成了全世界顶尖的超高精度复合弓;但你的国家压根就没有射箭比赛。
是的,你懂操作系统内核;但中国有哪家公司在开发自己的OS?
是的,你懂数据库算法编译器优化;但中国有哪家公司能做数据库能写编译器?
如果整个社会都只能追逐那么几只半死不活的残疾兔子;你,身手矫健又有何用?
人山人海,哪里见得到兔子。
结果你还想吃多点,否则……都不够维持你的一身肌肉。
相信我。用不了多久,你也会饿成一条病恹恹的瘦狗。
那么,这就是国内醉心于技术者面对的窘境:我们压根就没有能插手基础性、支柱性软件项目的公司。唯一会的就是互联网,就是想尽办法薅用户羊毛的终端软件。
对大多所谓的“互联网公司”来说,写这种软件,“面向搜索引擎编程”“调库专家”基本够用。更高的,他们根本不敢想。
正是这种现状,使得一些缺乏眼界者压根不敢想“需要熟练使用链表算法的工作”;相反,他们会告诉你,会调库足矣、照搬互联网上搜到的代码就够用了——甚至还有在我的回答下言之凿凿、说“专家”说了,能搜到现成的代码就千万不要自己写,自己写的质量太差……
但事实是,哪怕在中国,照样有不算太少的中高端职位;这些职位的基本要求就是“不准抄网上代码”。
这是因为写出这些代码的人水平良莠不齐、写的时候也未必是按工业化/商业化标准精益求精(经常就是为了让初学者明白,所以省略了很多很多东西)——对这类中高端职位所要求的、业界top5%、top0.5%、top0.05%的、较为正规的程序员来说,这种东西说好听点叫粗制滥造,说难听点就是垃圾。
当这些人崇拜的“专家”都在顶礼膜拜网上的劣质代码时,他们的水平也就可想而知了。
眼界所限,他们完全不可能知道那些中等以上水平的程序员在做什么;在他们看来,一行代码出一堆错误是必须的——我说自己一口气写几千行不出错,他们就破口大骂:追着骂、单独开贴骂;直白的骂、阴阳怪气的骂……
这种情况,在过去是不可想象的。
在当时,别说垃圾到这种程度了,任何问题只要简单到用搜索引擎搜一搜就能解决,你敢问,就会被老手怼回去。很多论坛把“提问前应该做到什么”置顶;“STFG(Search The Fucking Goolge)”是被人普遍接受的、对小白问题的标准回复。
但现在,连网上苦口婆心的解释都读不懂、只能逐字逐句照搬现成的代码的小白敢“组团围剿”那些敢说自己能写程序的“吹牛者”。
可想而知,这种劣质码农的声音淹没一切时,这个行业会变成什么样子。
别说开拓新的市场、新的疆域了,就连抄,他们都不敢抄热乎的。
这反过来强化了劣质码农们的认知——没错,中国啊,它本来就不需要高于“面向搜索引擎编程”的装B犯。反正你们学了也没用,大家一起996,欢乐的卷起来吧。
业界整体的低水平,使得你除非在校时就憋着一口气、玩命的往世界一流水平赶;否则一旦开始工作,庸人们很快就会把你拖进自己的节奏,然后干净利落的打败——这工作你能做我也能做,我见经理满脸堆笑,你呢?书呆子。什么叫你一周抵我们一年?谁看见了?
中国技术人员地位低,原因就在于此。
一方面,因为对未来的预期过低,因此从一开始就没学到东西,就是一劣质码农;另一方面,行业整体上限不高,绝大多数人还在一门心思的拉低下限。
如此一来,未来哪还有好?
但是,这并不是全部。
事实上,正常的市场竞争下,谁落后,谁死。
因此,报社的程序员可以写出django,车库里的穷小子能折腾出google。
技术是需要积累的。只要学进去了,你的积累就绝不会是无用功。
因此,虽然按比例算,也许99.99的程序员果然是年纪大了就得滚蛋;但这不正是他们为自己做的规划吗?起初就什么都没学到、入职了也只会996没有任何技术积累——美其名曰“你需要掌握的东西,入职一个月内就能学到”。
呵呵,真这么简单全世界的大学都在坑钱不成?一个月就能学完的东西,非要把你拘禁起来教上本科四年硕士两年博士N年都还不让毕业?
你把自己当一次性用品培养,就别怪别人用旧了把你一脚踢开。
相反,那些真正知道四年本科要教你什么、知道你和世界先进水平还有多大差距的人,他们会抓住一切机会,不间断的前进,前进,继续前进。
我大一就自学到了中断服务程序、可以直接写端口命令字绕开OS/BIOS直接控制硬件;也知道动画、音频、视频、3D图形等等的基本原理;当时同学间流行一个打字游戏,但我觉得那个东西写的不好,于是花了一周不到就写了个更好的。
因此,我可以毫不含糊的吐槽——绝大多数本科生,四年连个大一水平都没学到。
比我强的车载斗量。
那么,本科四年我都甩开某些人四年,之后工作了,盯着那些比我强的紧赶慢赶,都不过勉强维持个“看得到别人尾灯”的局面;那么,一毕业就比我慢了四年、还以为一个月就学会了一生所需的全部知识的他们,有可能看见我车尾的扬尘吗?
不光我不担心自己学的东西没人要;那些比我强的没边的,照样不担心自己学的东西没人要。
甚至可以说,越是不顾那些庸人的眼光、我行我素学的精深的,越是不怕失业。因为人家的就业市场是全世界。
丁
不是程序员这个职业越老越不值钱,而是现在的程序员处于工业革命早期煤矿工人所处的境地。
新的世界刚出现一个雏形,现在的程序员只是在用自己的血肉去充当地基和铁轨,铸造锅炉并充当点燃第一把火的燃料。
表面上看起来相对农民阶级(传统制造业),工业革命初期的产业工人收入待遇提高了很多,但是那是以压缩劳动寿命来实现的。
他们确实代表着先进生产力的发展方向(并且就像煤炭行业至今仍然是采矿和机械制造业最先进技术的集中展示平台一样),但是悲哀的是,他们自身却不是先进生产力。
他们用背篓和蜡烛,在没有任何安全保障的情况下,深入黑暗的地底,探索,挖掘,为开启新世界的工业革命带来所需的一切。
代价就是自己的健康,从业人员的超高速新陈代谢,以及成为新世界教材里“旧世界低下的生产效率”的代名词。
历史是一种循环。
在座的各位应该都能看到AI代替人工码农的那一天,就好像用掘进和输送机械代替人力矿工一样,这是必然会出现的一幕。
问题是,那一天到来时,现在的码农们又该怎么办?