软件开发工程师的年龄天花板是什么?
当你50岁的时候,「从业经验超过25年」真的是最好的求职话术吗?
在reddit上,这样一则问题引起了无数大龄程序员围观。
大龄雇员对于公司而言意味着什么?
显而易见,年龄偏长的雇员几乎就与低性价比画上了等号。
在题目下,很多人给出了非常现实的回答和建议。
「公司通常想要更年轻,并且人工成本更低的人,对于一项新技术而言,公司也倾向于为年轻人培训,因为公司认为年轻人有更好的学习能力。」
「大于40岁的人通常拖家带口,无法适应公司的加班工作。」
「对于一个56岁的人而言,我会说是的:在处理了一天的蹩脚代码之后,「终于结束了」对于我而言的潜台词是「我快死了」。而对于团队中最年轻的成员而言,他如果在工作结束是说自己「精疲力竭」,那绝对是个善意的谎言。」
「IT行业如今仍然是新鲜事物,我们如今看到许多40~50岁的中高层管理人员、CTO、架构师,是因为目前处于发展时期的公司有这样的需求,但是对于如今20多岁的程序员而言,当他们到了40岁的年龄,现实就远没有这么乐观了」
「任何可以自动化的工作,最终都会被自动化机器所取代,削减成本、降低人力开销是所有公司能够生存下去的主题。」
「任何工作迟早会成为死胡同,这就是人们退休的原因。我是一个 55 岁的程序员,当我 40 岁的时候,我似乎会永远喜欢编程,这只是一个高薪的爱好。问题是这项工作不仅需要大脑,还需要功能良好的手指、手腕、眼睛、脊髓、颈部等,所有这些都不会随着年龄的增长而变得更好。」
对于IT行业而言,一方面技术迭代日新月异,10年前的技术很可能在今天就变得毫无用武之地;另一方面与很多行业一样,年龄偏大的员工意味性价比低下:工作年限以及家庭负担使得他们需要更多的薪水,但是无论身体、精力还是工作时间都无法与年轻人相提并论。
现实真的这么令人沮丧么?
几位「软件工程师老爷爷」给出了不一样的回答。
65岁「软件老爷爷」:找工作很难,但我仍然充满热爱
软件工程师的经历有多丰富?
一位65岁的工程师回复道:
「我是一名 65 岁的软件工程师,曾在 Apple、Adobe、eBay、Microsoft、VMware、Cisco、FileMaker、XO Communications、2Wire、Egnyte、Nexsan 和其他两家初创公司工作过。在我的职业生涯中,我被解雇了五次。但是,我总是能在 3 到 4 周后找到另一份工作——即使是在经济衰退期间。我曾四次将我的工作外包给印度或中国——尤其是在过去八年中。
尽管如此,之后总会有另一个就业机会在等待。
我爱我的工作,并且我还在坚持。而且,我没有要停下来的想法。而且可以说,我很擅长这门工作,这倒不是因为我是个天才,而是因为我从事软件开发工作已经很长时间了,时间的长度让我从错误中吸取了教训。
这份工所带给我的经历颇多:大部分计算机语言都难不倒我,而且目前为止我对所有操作系统平台都运用熟练。除了美国,我还在苹果的中国和爱尔兰分公司工作过。除了英语,我还学会了说(很差的)西班牙语和意大利语,还可以用普通话说大约十个短语。
而且,我的子女中也有一人是工程师,他在Netflix工作。
根据我的最后一份社会保障报告,我迄今为止的总收入为:3,042,040 美元(约合2千万人民币)。
话虽如此,但年龄歧视和外包在硅谷非常普遍。
在 45 岁之前,我可以很轻易地找到一份工作。而现在,我已经64岁了,我需要大约十次面试才可能找到下一份工作。
我有时也不得不在没有福利的情况下担任承包商。而且我学会了忍受来自傲慢但却手握权力的年轻人的面试,他们大多自以为是实际上却连我所知的十分之一都没有,也几乎没有出色的学历。(我在德州农工大学获得土木工程学士学位和计算机科学硕士学位——后者我的成绩在班上名列前茅。)
所以,软件开发是死胡同吗?
不!这是一份很棒的工作。随着年龄的增长,找到下一份工作会变得更难吗?哦,是的。但是,那又怎样!如果你喜欢它,就像我所做的那样,除了死亡或健康不佳可以阻止你。所需要的只是一个决心。
永不放弃!」
66岁的老父亲被谷歌猎头挖角
我认识的一位软件开发人员最近接到了 Google 猎头的电话。
这位开发人员是谷歌的一位前员工,五年前他离开谷歌去从事其他项目,据说他离职的原因是因为不喜欢谷歌所在的城市。
他没有计算机科学学位,也没有上过OOP的课程,但显然对于谷歌而言,他仍然是个不可或缺的人才。
鉴于他之前离职的原因,谷歌的招聘人员提出了更好的建议:他可以与新加坡的Loon项目团队聊聊。(编者注:Loon计划由于成本过高在今年流产了。)
他在电话中与招聘人员反复确认:「你知道我多大了对吧?」「是的,您今年66岁了。如果您愿意,可以在一周内到我们总部来谈谈。」
那个66岁的开发者就是我的父亲,2008年他首次进入谷歌,当时已经58岁了。在谷歌他使用java这种他45岁时才被发明出来的语言编程,而且他在工作期间是一位独立开发者,没有任何工程师向他汇报。
软件开发的一大优点在于对学习的热情和执行能力,这在我父亲的职业生涯和其他数千人的职业生涯中得到了证明。如果你有激情和技能,那么40岁、50岁甚至60岁以后都不是死路一条。
资深从业人员怎么说
尽管帖子下面众说纷纭,但是也不乏理性、冷静的资深从业人员给出了中肯的建议:
一位在业内从业将近30年的老程序员,如今是职位搜索引擎Indeed的资深技术主管Christopher Burke这样说到:
「软件开发行业并不能说在 35 到 40 岁之后就到了死胡同。不过,这里也有一些事实:
1.年龄歧视肯定存在于软件行业(以及性别歧视、种族主义、仇外心理等等)。当然它不是无处不在,但它在足够多的地方影响着就业市场;
2.在 35-40 岁的时候,与 25-30 岁的具有同等适用技能的人相比,可能期望更高的薪酬和更好的工作条件;
3.在 35-40 岁,你在学校学到的最前沿的技能和技术与现在10-20岁年轻人已经不同,如果你没有跟上,就有被淘汰的风险;
4.在许多公司软件开发人员没有可行的“技术阶梯”:像“高级工程师”这样的头衔是软件开发人员可以获得的最高职位,在达到这个薪酬等级之后,软件开发人员必须进入管理角色——无论是否适合他们;
5.「管理」不仅仅是管理人。在一家有前景的公司必须有人管理技术——例如CTO。许多 CTO 仍在编写代码,很少有人会称 CTO 为死胡同。
6.一些公司倾向于聘请更成熟的软件开发人员,尤其是他们的远程站点,因为他们「一人多能」。
在 35 到 40 岁之后,您可以做一些事情来保持软件开发人员的身份:
- 为拥有技术阶梯或双重职业阶梯的大公司工作
- 成为全职承包商
- 成为顾问
- 创办自己的公司
- 做一份轻松的日常工作,一边做合同软件开发工作
- 保持你的技能与时俱进,从你的经验中学习,拥有良好的人际关系和沟通技巧,做真正擅长的工作
而另一位从业超过25年的资深程序员Ryan J. McDonough这样说到:
「我不会说写代码是一项没有尽头的工作。但是,有几个事实需要考虑:
- 您可能会在高级工程师或首席工程师之类的头衔上停留多年。如果你真的很出色,你可能会成为「研究员(Fellow)」,但这通常很少见,通常在大公司中才会出现。
- 在某个时间点之后,除了生活成本或奖金增加之外,您可能不会看到薪酬有显着增加。
- 你更有可能在郊区而不是大城市的新时尚科技公司工作
这适用于许多仍然是软件工程师的人。我有很多 50 多岁的好朋友,他们仍在从事编码工作,并且非常满足于这样做。
使这些人与众不同的是以下几点:
- 与年轻人不同,年长的程序员通常需要较少的管理成本;
- 因为拥有更丰富的经历,在面对矛盾时他们处理起来更加明智;
- 他们能够跟年轻得多的领导和谐相处;
- 他们知道如何适应并且永远不会停止学习。
我的一位拥有 20 年 Java/JavaEE 经验的 48 岁工程师可以轻松地跳入 Node.js 项目并使用 Docker 部署它,这将比仍然坚持 JavaEE WAR 部署模型并抵制新技术的人做得好得多。
最后一点很关键,如果你没有能力不断学习新事物,你应该考虑转行。」
简而言之,一方面学会「躺平」接受现实,另一方面还要保持一颗年轻的心,永远与时俱进。