老程序员都去哪了?
大数据文摘出品
来源:medium
编译:刘佳玮、雪清、胡笳
在纽约,PyGotham每年召开之际,都会有超过600名程序员聚集在一起讨论工作。
为了让会议更加多元化,组织者尽量邀请一些女性程序员以及各种肤色的程序员。
但是,本文作者A.Jesse Jiryu Davis(MongoDB的软件工程师)发现会议似乎忽略了“年长程序员”这一团体。
那么,老程序员都去哪了?他们去了大学教书,还是成为了管理人员。
以下是作者的调查结果,请欣赏。
缺爱的群体:老程序员
每年都会有600名程序员聚集在纽约一个名为PyGotham的会议上讨论工作。由于科技行业以男性为主,因此组织者特别努力地招募了多元化的演讲者阵容。他们给女性程序员发邮件告知这个活动,并为业内女性举办研讨会,鼓励她们发表言论。组织者要求发言人填写人口统计调查,以便他们跟踪会议多样性的进展情况。
我在会议委员会任职,在今年的PyGotham会议结束之后,我意识到我忽视了一个群体:老程序员们。与女性相比,四十岁以上的程序员的匮乏现象大多都没有引起注意。在纽约没有针对他们的聚会或邮件列表,也没有专门针对他们的知名倡导组织。虽然我会寻找年长的程序员明年在PyGotham发言,但我还不知道从哪里找起。
软件行业非常年轻。谷歌和亚马逊员工的平均年龄为30岁,而美国工人的平均年龄为42岁。2018年Stack Overflow对全球100,000名程序员的一项调查发现,其中四分之三的人未满35岁。黑客新闻总会有定期发布的帖子问到:“老开发者会怎么样?”。30多岁的焦虑开发人员会跟帖并称自己为“老年人”。
我今年十月满40岁,在纽约一家名为MongoDB的数据库公司工作了七年。我这个年纪的许多程序员已经转行到学校任职,或者成为经理。作为一名程序员,我付出一生,但我未来几十年的职业道路并没有因此而变得明朗。而且可供参考的比我年长的工程师的经验很少。那些老程序员们都去了哪里,我们这些留下来的人的职业前景又如何呢?
2007年,22岁的马克·扎克伯格大声说出了许多软件行业人士的想法:“年轻人才更聪明。”十二年后,与其他多样性的研究相比,缺乏老程序员的问题仍然很少被研究。
例如,谷歌的年度多元化报告统计了它雇佣的女性或有色人种数量。微软统计美国印第安人和阿拉斯加原住民的工作人员人数,苹果公司以能雇用退伍军人为傲。值得称赞的是,这些公司已经披露了一些多样性的衡量标准,但有一个遗漏:没有人报告他们公司的年龄分布。
老程序员辞职原因:“被嫌弃”
Ari Rapkin Blenkhorn是一名47岁的工程师,她说她辞去了上一份全职工作,因为该公司想要“一群廉价的年轻人”。他们不想雇佣拥有更多职业背景的资深人士。“她没有透露雇主的名字,但称她的雇主重视她的职业人脉,但不派她参加会议,即雇主并不在她身上投资。 “我相信他们真的不明白为什么这很重要,以及让我参加研究会议与初级开发人员参加有什么不同。”
Blenkhorn说,一旦她回到就业市场,她所经历的年龄歧视就会因性别歧视而变得更加复杂。尽管她具有资深的技术能力,但作为一名“妈妈”,在招聘人员眼里,她显得既不重要又迟钝。她最近获得了计算机科学博士学位,并希望学历能提高她在就业市场的机会。
55岁的程序员Kevin Stevens六年前在申请Stack Exchange的工作时,也经历了类似的态度。他由一位年轻工程师面试,那个年轻人告诉他,“我对年长的程序员能否跟得上技术感到怀疑。” Stevens因此而被拒绝。他现在是一家酒店公司的程序员,他说在这里他的年龄不再是问题。
对于其他程序员来说,结果可能会更糟糕。 ProPublica公司的Peter Gosselin和Ariana Tobin在2018年对IBM的年龄歧视进行的调查发现,从2014年左右开始,IBM试图通过用年轻人取代年长者人来实现人员更新。
IBM解雇了成千上万的有经验的雇员。一位名叫Ed Kishkill的60岁系统工程师收到了一份裁员通知,并告诉他有三个月的时间在IBM找到另一份工作。尽管他有数十年的经验,但他被其他所有职位拒绝。截止至ProPublica文章发表时,Kishkill正在Staples商店做营业员。
程序员永远在学习新技能
终身程序员必须保持他们的技能是最新的,但这其实是在不断变革的行业中与时间赛跑。根据2018年的一篇研究论文所说,科学、技术、工程和数学(science, technology, engineering, and mathematics,统称STEM)工作的技能变化比其他行业更快,而程序员面临的变化率尤为严重。
该报告的作者之一Kadeem L. Noray表示,“STEM比其他领域更注重技能”,与持久的智慧相比,更重视短期能力。每当STEM专业人员学习一项新技能,都有另一项技能已经过时,这也就导致从业者几乎没有机会积累技能和增加工资。
尽管科技行业的起薪很高,但与其他行业相比,这些优势在就业的前十年里减少了一半。“大多数经济学家都不知道这一点”,Noray说道。Hired.com网站2017年的一份报告指出,50岁以上的技术人员的薪资待遇实际上比年轻人要低。因此,许多STEM工作者会为了寻求持续的薪资增长,转而从事变化更慢的职业。在24岁的时候,STEM专业人员中的89%从事与STEM相关工作,但到了35岁的时候,这个数字下降到71%,并且还会继续下降。
2017年科技工作者的年龄与工资对比图,来自Hired.com
有一个方法可以让程序员摆脱不断更新的“技术轮子”而又能留在这个行业,那就是成为管理人员。马萨诸塞州一位54岁的工程师告诉我,“我的公司为新人提供了清晰的职业路线:他们以开发人员的身份进入公司,然后逐渐晋升到管理层。”
老程序员晋升之路:成为管理者
但并不是所有人都适合做管理工作。MongoDB的一位54岁高级工程师Sue LoVerso说道,“管理者需要具备某些性格特征,但我是一个内向的人,解决技术问题才是我的兴趣所在。”一位63岁的谷歌的工程师表示,他的一段短暂的管理者经历让他感到不舒服:“我知道我可以依靠自己完成一项工作,但我不知道如何依靠其他人。”
谷歌,微软和其他大公司定义了“个人贡献者(individual contributor, IC)路线”,作为管理路线的替代选择,这是高级工程师的职衔划分,与管理职衔相平行。IC路线让工程师可以在不放弃他们热爱的行业的情况下,获得更高的职位。
但IC路线也存在弊端。不少程序员告诉我说,IC路线上的晋升速度比较慢,而且职称之间的区别也很模糊。现年45岁的MongoDB工程师David Golden表示:“在只做开发的路线上,要进入下一个级别面临着更大的障碍。你甚至弄不清楚如何从这个级别到那个级别,也不清楚你是否真的能对此做些什么。”
根据对这些程序员的采访,我意识到,公司应该为最资深的个人贡献者创造不同性质的职位。和遴选管理人员一样,我们应根据以往的工作效率,而非快速变化的技能清单,来评定这些职位的候选人。使这个过程更加清晰意味着工程师们可以更快地往上爬,而在每个级别获得的声望和迎来的智力挑战将使程序员在五六十岁时依然保持活力。
经验丰富的工程师应该被放在合适的位置上,以解决最关键的项目中最棘手的问题。他们应该通过写作,演讲和指导来凸显技术领导力的作用。
由于有着深厚的知识和丰富的经验,年长的程序员能够用普通的术语传达自己的知识,从而充当非编程世界的“大使”。Ari Blenkhorn在特效工作室Industrial Light and Magic领导一个布料模拟项目时,就充当了这一角色。
她说道:“尤达大师(源自星球大战电影系列人物)的长袍,哈利波特的魁地奇斗篷,摄魂怪的长袍(源自《哈利波特》小说系列人物)——我帮助开发的软件里包括所有这些东西。我需要同时讲物理模拟研究团队和动画团队的沟通语言。他们不考虑偏微分方程;他们想到的是这些丝滑的、有弹性的布料,以及其随风漾起的波纹。”
我很幸运:我的公司对我在职业生涯中期表现出的倦怠充满同理心,并允许我踏上了一次职业探索之旅。今年,我将在三个团队中轮流待几个月,在此期间好好规划一下未来。
其他公司可能就没有这么慷慨了。我特别担心这个行业中的年龄、性别以及种族歧视。公司必须为在IC路线上前进的程序员定义有意义的级别。与此同时,程序员应该更积极主动,组织起来并向公司施加压力,以消除年龄偏见。工会可以规范工资标准,保护高级雇员免于被裁; 这样做也可能会缩小在种族和性别上的工资差距。
让软件行业对30岁以上的程序员更加开放,并为经验丰富的程序员创造合适的职位,这将使公司更有效,更公平。这些变化也将使我们其他人受益——在一个日益受到软件和算法控制的社会中,程序员必须更具智慧以驾驭他们的力量。
他们必须从最近的黑客行为,有偏见的算法和在线煽动种族灭绝的事件中吸取教训。这样做的唯一方法是让年长的程序员留在行业中足够长的时间,以便把他们的知识传授给他们的继任者。培养终身编程人员可以确保今天学到的经验教训在50年后仍能被记住。
相关报道:
https://onezero.medium.com/ctrl-alt-delete-the-planned-obsolescence-of-old-coders-9c5f440ee68?gi=c17e8db7e10