为什么软件开发行业看不见白发苍苍的程序员?年长的程序员都去哪里了?各个公司会辞退年长的程序员吗?
如果一位50多岁的程序员申请20多岁或30多岁的职位,有多少公司会雇用他们呢?关于这个问题,有很多流言传说,也有一些残酷的现实。
当然40岁,甚至是35岁就被当作“老人”就委实很让人震惊。这里的“老人”一词指的是程序员可以计划退休或换个工作了。
首先,我们来一组统计数据。
统计数据:程序员40岁就该退休了?
我发现有些调查的统计数据有一些相互矛盾。Stack Overflow于2019年对全球的66,329名专业开发人员进行了调查。结果如下:
在专业开发人员中,35岁以下的程序员占71.7%,40岁以下的占85%。与其他任何行业相比,这组数字都很不寻常。
透过50,705份调查结果,我们发现,澳大利亚和美国的开发人员的平均年龄最高,为32.8岁;印度最低,为25.9岁。
根据这份研究报告(https://arxiv.org/ftp/arxiv/papers/2004/2004.05847.pdf),年龄在55~64岁之间的软件开发人员的数量,从2011年的87,000(8.3%)增至2019年的195,000(10.7%)。其中美国的高龄开发人员数量高于大多数国家。
但是,情况每一天都在发生变化。
根据Evans的统计数据,全球约有2400万开发人员,到2024年,这一数字将再增长20%,达到近3000万。美国目前拥有约440万软件开发人员,数量最多,但印度有望于2024年赶超美国。
另外,亚洲的软件开发人员数量在不断增加,但软件开发人员的平均年龄则日渐降低。
为什么年长的软件开发人员如此稀有?
高昂的薪资
很显然,经验丰富且年龄偏大的软件开发人员拿到的薪资理应高于年轻人(尽管有时未必),而且他们的期望值也会偏高。
问题在于需求。软件公司是否需要这些经验丰富的开发人员?他们值得雇佣吗?基本上可以说,答案是否定的。各个公司往往并不需要大量经验丰富的高级开发人员。
每个公司都需要面对现实的问题,负担大量高薪的高级开发人员的压力可不小。
换工作
绝大多数开发人员都会找到一种无需编写代码即可赚更多钱的方法。因此,换工作是另一个原因。
永无止境的学习
技术、编程语言和框架的发展日新月异,所以许多年长(甚至年轻)的开发人员都跟不上时代的步伐。
随着年龄的增长,人们还要负担很多其他责任。他们往往没有足够的时间来学习新技术。这是这个行业没有太多高龄开发人员的另一个原因。
其他行业的专业人士就无需面对如此巨大的学习压力。程序员需要没完没了地学习新技术。
环境
随着时间的流逝,大家会逐渐注意到自己成为了团队/公司的老一辈,周围是一群年轻的程序员。
由于代沟以及其他的一些因素,许多人无法与年轻的程序员很好地沟通。他们感到在工作中很孤独。这是另一个原因。
相对较新的行业
与其他行业相比,软件行业比较新。这是最大的原因之一。随着行业的发展成熟,希望我们有机会看到更多年长的开发人员。
创业文化的推动
企业家们希望快速地构建软件产品,并打破旧世界。每个企业家的梦想都是以某种积极的方式改变世界。作为企业家,我也可以理解这种心理。
光有想法还不行,我们需要脚踏实地的执行力。但是在执行之前,企业家需要一些高科技产品(如果是一家科技创业公司的话)。他们无法承受需要等待很久才能做出的产品。
因为如果一个想法失败,他们就必须从错误中吸取教训,然后根据实验结果向另一个方向发展。所有这些实验都需要快速开发高科技产品。
此外,由于开发软件的资金都是通过融资获得的,因此通常他们都没有其他可支配的资金。
因此,为了通过低廉的成本,快速地开发技术产品,企业家不得不寻找年轻的开发人员。但是,在一家创业公司进入成熟发展阶段后,他们就会需要经验丰富的高级开发人员,因为这些高级开发人员能够为产品建立强大的基础和坚实的体系结构。
HBO的电视剧《硅谷》的前编剧Dan Lyons在采访中曾说:“我认为,他们都觉得年轻人能够带来最大回报:使劲压榨年轻人,等他们不行了,然后再换一批人。”
科技行业的这种年龄歧视引发了很多问题,给年轻以及年老开发人员都带来了精神压力。
程序员如何在这个行业生存
对于许多人来说,编程不仅仅是一份职业。最近,我在阅读一些相关的文章时发现,许多50岁以上,甚至60岁以上的开发人员仍在从事编程。
他们中的一些人也有其他的工作机会,但是他们都拒绝了,因为他们喜欢编程。其实,能够从事自己喜欢的工作,是人生一大幸事!
但是,无论你喜欢与否,如果想长期从事这个职业,就需要牢牢记住一些忠告。无论你是年轻还是年长,所有程序员都需要记住:
时刻努力学习新技术,否则就会被时代抛弃。
紧跟年轻人的思想
除了便宜以外,各个公司喜欢招募年轻开发人员的原因还有两个:
他们渴望学习。他们很好奇,喜欢学习新鲜的事物。他们学习的知识都很先进。
他们可以激发很多新想法,并分享新的观点。
因此,请紧跟年轻人的思想。只要有年轻的心态,年龄无关紧要。
放下“技术包袱”
许多程序员都有技术“包袱”。请放下包袱,对新技术保持开放的心态。
如果某个程序员长期从事某个特定的编程语言,而没有任何其他方面的工作经验,则一些招聘人员会视之为危险信号。
程序员的出路
阅读至此,你可能会想:“在工作一段时间后,年长的程序员是不是都会迫不得已寻找其他出路?”答案是,大多数人都不需要。
下面,我们来看一看大多数程序员的出路。
管理
由于公司可以花更少的钱雇佣年轻、有朝气的开发人员,因此经验丰富的开发人员就需要担负起一些重要的角色,比如一线或二线的经理。
顾问
年轻人虽然有很多优势,但是他们无法承担起顾问的角色。经验丰富的开发人员可以考虑顾问一职。而且顾问也可以赚到很多钱。
自由职业者
还有一些人成为了自由职业者,按照自己的想法工作。
专业领域的专家
许多年长的开发人员都成为了专业领域的专家。我见过很多特定领域的专家,例如医疗保健的大数据专家或Azure云结构体系专家。
某些特定领域对经验的要求一直很高。
提前退休
还有一些开发人员选择了提前退休,并成为年轻开发人员的培训师。
创业
许多经验丰富的开发人员会利用自己的人际关系和技术,然后再拿出一部分资金来创办新的科技公司或创业公司。
继续做程序员
是的,这也是一种选择,许多开发人员到了50岁,60岁仍在从事软件开发。技术力可以让他们在这个行业中继续生存下去。
总结
高龄开发人员都会担心工作的稳定性。他们往往会承担很大的心理压力。我认为如果提前做好准备,就可以避免这种情况。
新的编程语言、框架和库层出不穷,因此要不断地学习。有时技术人员常常会忽略这一点。但现实情况是,这些技术很快都会过时。
Zoho的首席执行官Sridhar Vembu进行了一项实验,他们直接雇佣了一批17岁的高中生。然而,他发现,两年后这些新员工在工作中的表现与受过大学教育的同龄人几乎没有什么区别。
难留少年时,总有少年来。
软件开发是否真的会成为年轻人的游戏?尽管我个人认为年龄只是一个数字,但前提是程序员都不会因年龄而陷入困境,并保持积极学习的心态。你认为如何?