当前位置: 首页 > 科技观察

64岁谷歌程序员的补丁vs35岁中年程序员的焦虑

时间:2023-03-19 18:45:42 科技观察

前不久,64岁的BillBudge爷爷送给谷歌的V8引擎(V8是Chromium项目的JavaScript解释器如果你现在阅读这篇文章工具是基于微信版本的Chromium内核,那么你可能正在使用V8)提交一些补丁。64岁爷爷的补丁过去一年,BillBudge在这个项目上很活跃:我不追星,我看到一些演员拍的好电影,顶多说他们好,我不想调查演员的背景信息。但是当我还在上学的时候,我通过阅读RichardStallman和Linus的生平故事开始了解开源和Linux内核。所以我没有放过V8模块的BillBudge爷爷:他目前在谷歌做软件工程师,还在写代码。我见过70后的程序员,但没见过64岁还在写代码的程序员。出身名门,在基础软件领域不断耕耘,努力工作(看他过去一年提交给V8引擎的补丁数量),这样的老人坐在一堆70后,80后、90后,开发和改进了软件行业最难的模块之一的V8引擎,这是一种怎样的境界?有兴趣的可以在领英和维基百科上搜索一下这位爷爷的详细履历。这里只是截一张他的LinkedIn主页,表达一下我对他的敬佩之情:一个焦虑的35岁爷爷,工作了39年,在世界上最伟大的公司满怀激情地写代码,维护着世界上最难的模块。当然,在退休前的日子里,他肯定会继续写代码和打补丁,我对此毫不怀疑。然而最近国内却传出不少35岁的中年程序员焦虑甚至下岗的消息。比如“老板告诉我,35岁以上不用看简历”,或者“35岁以后不转管理的程序员只能吃饭等死了?”。从表面上看,我们的环境(不讨论国有企业和事业单位)似乎与其他环境不同。我们的环境不包括35岁以上的程序员,但是是否需要35岁以上的程序员,不仅与公司开发的产品的知识密度有关,也与程序员自身的知识密度有关。本文试图从企业和程序员,即供需双方的角度来分析这个问题。企业的需求和知识的密度在爷爷所在的Chromium团队中,有很多已经工作多年的人(部分名单):除了2014年加入工作的BenceBéky(他是PHD),其他工作时间都在10年以上。可见老爷子和他的GoogleChromium团队对35岁以上的程序员有需求,并没有所谓的年龄限制。国内一些公司,比如华为,也欢迎35岁以上的工程师。要达到华为这样的知识密度,光靠人头和资金是不够的,还需要一代一代的垂直积累。没有理由相信华为会抛弃那些掌握了核心技术的老员工,否则他不可能在知识密集型通信行业取得现在的地位。对于网上流传的华为辞退部分35岁以上员工的事情,抛开华为的狼性文化和生存难度等因素,这其实是华为现有员工的又一次双向选择(确实很残忍,这样的双向选择又在其他民营企业和外资企业中也存在)。如果到了这个年龄,技术还没有深厚积累,管理还没有走上正轨,说明员工积累的技术和经验不适合这个企业。所以,老员工真正需要思考的不是年龄问题,而是知识密度问题。但确实有些公司会在招聘广告中注明年龄限制。以前去招聘网站找程序员职位,经常看到年龄要求是35岁以下。写这篇文章之前,我又搜索了一下,要求35岁以下工程师的工作少了很多。不过还是有年龄限制的,有的放宽到45岁,有的还是坚持35岁以下old:如果说华为,35岁以上的员工再申请,就是看员工的技术积累是否深厚。那么,如果在招聘要求中明确写明要求35岁以下,企业就要思考自己是否有足够的知识积累。也就是说,有这种需求的企业可能是资本密集型的??,而不是知识密集型的。在资本密集型企业,程序员的技术积累并不是那么重要,所以程序员的年龄可能成为致命伤。资本和知识的界限实际上是模糊的。在一个金钱可以买到任何东西的开放世界中,很难区分资本密集度和知识密集度。但现实世界远没有这么开放。这个封闭的世界为资本和知识圈设定了界限。我们来看一个资本密集型的??例子:小米公司。魅族起步早于小米,前期技术和产品做的不错,但没有建立起足够的技术壁垒。小米在商业模式和资本上都超越了魅族,能够用到更好的人,所以小米后来取得了巨大的成功。但资本不是一切。如果资金非常雄厚,即使不计成本,还是有可能在较短的时间内打造出BAT或者小米、摩拜滴滴等。但再有钱,也很难在短时间内造就苹果、谷歌、英特尔和高通。一方面,美国对核心技术的出口进行了限制,用钱很难买到他们的人和技术。另一方面,我们在基础技术方面落后了太多年,短时间内很难赶上。这是美国人智力上的成功。他们的知识密度不可能通过增加人员和资金在几年内赶上。是一代又一代的接力。而且,借助资本做产品占领市场后,企业和资本都想追求利润。产品和团队最终会回归知识密集型路线,从而保持产品的竞争优势,减少被资本更强的团队抢走的机会。企业之间互相抢地盘的例子比比皆是。上面提到的小米和魅族中,还有BAT:腾讯控股易迅,推出了自己的搜索;阿里钉钉;百度也有百度嗨。有钱有势的资本家总想霸占别人的地盘。BAT相互侵蚀的结果不是很明显,不是因为技术本身差很多,而是资本最终还是要看收益。看看去年火的ofo和摩拜单车。ofo早期的产品设计输了一局,但这不是输赢的关键。在打价格战的时候,价格决定了消费者的选择。当然,摩拜单车的产品维护成本低,这为他的资本争取到了更多的时间。企业的产品决定了企业对人才的深度和广度的要求,也影响到企业在用人时是否有年龄要求。如果一个企业的知识密度高,比如上面提到的谷歌和华为,对人的需求就不会有年龄限制。一些公司的工程师团队太年轻了。其背后的本质是,这些高科技软件互联网公司资金密集,公司知识密度低,核心IP技术含量不高。这时候着急的应该是企业,企业应该想一想为什么我只想要35岁以下的员工,是不是我们的技术壁垒不够?如果没有足够的技术壁垒,有人向我砸钱怎么办?BAT是大公司,大公司如此频繁地试图入侵对方的领地,而那些被入侵的公司也在不遗余力地利用资本和垄断地位的暂时优势来增加自己的知识密度,强化自己的护城河。因此,那些只有35岁以下员工的中小企业也需要思考如何深挖、拓宽知识护城河。否则,难以面对同行的技术竞争,更难以应对大资本的拼搏。每个程序员都有不同的十年。小时候,如果一个木匠做木工活多年,我们自然会认为木匠做的是好事。现在,如果说这个程序员已经写了很多年代码,是不是几乎等同于变相贬低人?这几乎等于说,你看,他工作十几年了,还是个程序员。自古以来,对于工匠来说,我们都认为旧为好。老的有经验,干得不错。那么为什么现在老程序员不太吃香了呢?比如之前的招聘广告要求35岁以下的程序员,程序员和公司是供求关系。上一篇文章从企业的角度分析了为什么有的企业只有35岁以下的需求,接下来我们从供给的角度来看这个问题,也就是程序员。前面提到,企业的知识密度决定了企业是否需要35岁以上的程序员,撇开那些知识密度低的公司不谈,即便是华为这种知识密度高的公司,也会选择性地让一些35岁以上的工程师离开。这时候,问题不仅仅出现在企业本身(无论管理还是创业)。一个原因是35岁,我们积累的知识的深度和广度都不够,所以失去了性价比。35岁的我们,逐渐把知识密集型的脑力劳动变成了缺乏创造力和深度思考的机械体力劳动。脑力劳动变成了体力劳动,这是技术快速升级造成的,也是社会和个人的浮躁造成的。从2007年到2018年,大概十年的时间,这个行业经历了很多热点:新的移动计算平台:IOS、Android、Chrome、HTML5;云计算、物联网;新的编程语言、编程框架;虚拟现实、增强现实、人工智能。在这十年里,有些人可能会尝试所有主流操作系统(被动或主动,比如我被动地为Android、Windows、IOS写了HelloWorld);有的人做全栈,网站后台和前端都学;有些人已经学会了所有流行的语言和框架;有些人可能会在硬件、软件和管理之间切换。对于一个技术切换频繁,积累不是很深的程序员来说,在企业眼里,十年的工作经验和两三年的差距不会很大(不排除少数非常有才华的人,可以学习所有主流技术的程序员。本文讨论的是更一般的情况)。所以这个时候,企业当然会优先考虑经验少但性价比更高的程序员。时代总是在变化。WebOS、裸眼3D等一些热点逐渐消散,VR、AI也经历了起伏。有些一直吸引着人们前进。比如操作系统,虽然从Windows/Linux变成了Windows/Linux/IOS/Android,这些系统在过去的十年里也经历了很多的版本更新,但是一些基础的东西并没有什么没有被彻底颠覆和颠覆的通常是用户体验和软件架构。少数对技术本身有执念的人,可以坚持一些比较长期的重大技术方向,看穿新旧技术背后的算法和数理原理,达到对新旧技术的掌握。因此,每一项新技术出现后,他的知识密度就会更高。结束语目前,AI技术非常火爆,我身边的很多人都开始将目光投向了AI。这个时候,你是选择融合原有技术的新旧版本,还是跟随历史的车轮,加入AI阵营?工作39年后,你还有机会为一个影响深远的项目给一个著名的、提交祖父补丁吗?还是像我家人说的,看到一个有点秃头,对未来有点焦虑的上了年纪的看门人,他可能是前程序员?后记:其实我不喜欢这个过于直白的标题。比如Gonewiththewind,译成乱世佳人,很有意境。译成《乱世佳人》,能揭示小说的主题,但平淡无奇。如果考虑市场需要,应该叫乱世少妇,三夫。还有一个边城,如果说是船家姑娘的爱情故事,大概就知道这个故事了,也很吸引人眼球。这些伟大的作品都坚持了他们诗意的名字。但是我的这篇短文不能像这些伟大的作品一样随便命名:爷爷的补丁。这篇短文无非是一种快消品,屈从于市场对抢眼的需要。作者:许星,2007年毕业于武汉大学,硕士毕业,工作十年专注于图形系统架构研究。目前就职于一家半导体公司,从事开源项目Chromium的基础图形系统研究。