一位资深程序员的感悟:这个行业,仅靠年轻人是不够的

2020 年 10 月 09 日

一位资深程序员的感悟:这个行业,仅靠年轻人是不够的

我们的文化推崇年轻人。这有几个原因,年轻似乎等同于活力、力量、美丽以及许多其他令人向往的品质。一般的观点认为,年轻人虽然叛逆,但也很容易操控——如果你知道合适的方法。我应该买一双耐克鞋,因为它们是以迈克尔·乔丹的名字命名的:像我这样的中年人不会轻易受到这样说法的影响。但是有一段时间,我十几岁的女儿买了一双耐克鞋还不够。

在智力追求上(像软件开发),年轻人通常被赞美为创新的源泉。你可能经常遇到这样的例子,哪个人年轻有为——埃瓦里斯特·加洛瓦,他在 21 岁前就完成了自己的所有发现;艾达·洛夫蕾丝在 28 岁时制作了被认为是“第一个计算机程序”的东西;艾伦·图灵在 24 岁时撰写了《论数字计算在决断难题中的应用》。

注:埃瓦里斯特·加洛瓦是数学家,现代群论的创始人之一,被视为数学天才;艾达·洛夫蕾丝,数学家,世界上第一个计算机程序员;艾伦·图灵,英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。

很明显,年轻不妨碍做出突破性贡献。甚至民间有流传,35 岁以上的人在学术上的唯一机会就是编写一本教科书。

五只猴子的故事

你可能看过一个叫《五只猴子的实验》的故事,它很可能是虚构的:

一群科学家把五只猴子放进一个笼子里,并在中间放一个梯子,上面挂着香蕉。每当一个猴子爬上梯子,科学家就向其它猴子泼冷水。一段时间后,每当有一个猴子爬上梯子,其它猴子就会殴打它。

过了一段时间,没有猴子敢再爬上梯子。科学家然后用一只新猴子取代其中一只猴子,新猴子会立即去取香蕉,然后被其它猴子殴打。在被殴打几次后,新猴子知道了不要爬梯子,尽管它不知道为什么。

第二只猴子被取代,相同的事情会发生。第一只取代的猴子参与殴打第二只取代的猴子。第三只猴子被取代的时候,故事则会重演。第四只猴子被取代,殴打被重复。最后,第五只猴子也被取代。

剩下五只猴子,尽管它们从未被泼冷水,但仍会殴打任何尝试爬梯子的猴子。如果有可能问这些猴子为什么殴打所有想要爬梯子的猴子时,回答很可能是:

“这是这里的规矩。”

这个故事告诉我们,年龄和经验所带来的拖累。如果你在一家公司做了几十年,你会看到无数你年轻时就尝试过的失败尝试。你知道,那是不可能的。

年轻人不知道某件事是不能做的。如果他们能避免像故事中的猴子殴打那样的打击,他们就会尝试不可能的事情。

改变环境

尝试不可能的事是个好主意吗?

一般来说,不是,因为它是不可能的。年长者告诉年轻人某件事不能做是有原因的。这不仅仅是因为他们是讨厌变革的顽固保守派。而是因为他们将这种努力视为浪费。也许他们会试图表现地和蔼可亲,引导年轻人远离只有辛劳和失望的道路。

而年长者可能没有意识到,有些时候,环境发生了改变。

二十年前不可能的事情,现在也许有可能实现。我们可以在许多领域看到这样的例子。几十年来,生产一辆商业上可行的电动汽车是不可能的,直到电池技术的进步,这让生产电动汽车成为可能,比如特斯拉。

在软件开发行业,技术快速变化。人们之前尝试并觉得不可能的事情,也许现在会发现变得可能了。曾经,如果你有很多数据,你必须以完全标准化的形式存储,因为存储非常昂贵。十年来,关系型数据库独领风骚。然后环境变了,存储变得更便宜,NoSQL 存储成为一个新动向。之前不可能的事情变得可能。

年长者往往看不到新的机会,因为他们“以为”某些事情是不可能的。年轻人在热情和无知的驱使下冲击桎梏。大多数人失败了,但少数人却获得了成功。

不可能的彩票

我将这个过程视为一个彩票抽奖活动。想象一下,每个不可能的事都是滚筒中的一个红球。每个尝试不可能的年轻人从滚筒中随机抽取一个球。

这个滚筒中有几百个红球,但每时每刻,其中一个都会变绿。你不知道哪个会变绿,但只要你参与抽奖,这就代表了以前不可能的事情现在变得可能了。

这个过程产生了增长,因为一旦发现新的、更好的做事方式就可以改善整个社会。有时候,年轻的发现者甚至会收获名誉和财富。

尽管,这看起来有点儿浪费。大部分尝试不可能的人都会得到原先预测的结论。被认为不可能的事情确实是不可能的。

从我个人来讲,我不认为年轻本身就是进步的源泉。这只是适用于大数定律。如果某件事有百万分之一的机会成功,但是一千万人尝试了它,有一个人成功就只是时间问题。

社会上的大部分人会从这些少数人的成功中获益,但是上千万人仍然浪费了他们的精力。

我们也需要“老人”

如果你接受年轻人更喜欢尝试不可能事物的观点,那么我们需要年轻人。

那我们需要“老人(这里指大龄程序员)”吗?

我在今年 50 岁了。你可能认为我老了,但是我期望再多工作几年。我不知道软件行业是否需要 50 岁的人,但是我想的还不是这种年纪较大的人。我想的是那些已经退休或即将退休的人。

在推崇年轻人的文化中,我们往往忽视“老人”的意见和经验。我们常说,这只是一个懂事儿的“老人”。

我们忽视“老人”的经验,因为我们认为他们没有与时俱进。他们的经验不适用于我们,因为我们活在新环境中。就像上面所说的。

我并不是提倡我们变成一个只因为年龄而尊重长辈的“老人统治”。而且,根据大数定律,有些人会活到老年。幸存者和智慧之间没有任何必要的联系。

我们需要“老人”告诉我们真相,因为他们没有什么可失去的。

没有什么可失去的

在过去几年里,我注意到一个趋势。一本书出版,它会揭露某个组织的悲惨状况。这在我居住的丹麦经常发生。一本书可能揭露丹麦税务局的可悲情况,一本书可能描述了国防部的情况,一本书批评与气候危机有关的群体思维等等。

一般,这些书是由退休的教授或部门主管撰写的。

我不认为这些人在退休后突然顿悟。作为系统的一部分,他们早已知道身处系统的“腐烂”,但它们那时有太多东西会失去。你可能会说,他们本应在退休前说出来,但是,那需要我们不能指望大部分人都有的道德支柱。

当人们退休了,被解雇的风险就消失了。“老人”可以比其他人更自由地说一些其他人不敢说的话。

诚然,有许多人可能会利用自由言论进行发泄。但是,许多处于特殊地位的人能揭示别人不敢说的真理。许多人,可能只是吐吐苦水,但一些人去可以揭露他们处于独特地位所掌握的信息。

当那个脾气暴躁的老家伙在推特上写了一些让你感到不舒服的东西时,想一想:他可能是对的。

不可理喻

在某种程度上,你可以说,我们需要年轻人和老人是出于同样的根本原因。不是他们所有人,而是足够多的人,处于不可理喻的境况。

“理智的人让自己适应世界:不可理喻的人坚持试图让世界适应他自己。因此,一切进步都要靠不可理喻的人。”
——George Bernard Shaw

年轻人和老人都在用他们各自的方式表现得不可理喻,我们需要这两种人。

结论

在软件开发行业,我们需要年轻人。由于他们的热情和缺乏经验,他们将冲击桎梏。大部分人在尝试做不可能的事情时会失败,但少部分人会成功。

这看起来有点儿像是个愤世嫉俗的观点,但是我们都曾年轻过,而且我们大部分人都经历过这样一个阶段。这有点儿像是一个成人仪式,即使你没能在世界上留下你的印迹,你仍然会学到很多东西。

我们需要老人,因为他们处于敢向世界说真相的位置。请注意,我并没有就老人的经验进行争论。事实上,我觉得那也很有价值,但这就是一个普通的观点:倾听老人的话,因为他们有经验和智慧。至少他们中的一些人是这样的。

我并不想就此争论太多。如果我只是想说那些,就没有理由再写这篇文章了。老人在意的更少,所以他们能更自由地说话。如果你曾经崇拜的某人退休了,突然开始说或者写一些令人不快和吃惊的事情,那也许就很好解释了,而且也比较值得注意。

或者,也许他(或她)只是在吐苦水或者慢慢变老…

原文链接:

https://blog.ploeh.dk/2020/09/14/we-need-young-programmers-we-need-old-programmers/

2020 年 10 月 09 日 14:30 5636
用户头像

发布了 84 篇内容, 共 29.3 次阅读, 收获喜欢 69 次。

关注

评论 7 条评论

发布
用户头像
相比老人年轻人经验欠缺更容易些bug,增加开发成本
2020 年 10 月 21 日 09:16
回复
用户头像
写的很好,翻译的也不错!
2020 年 10 月 12 日 16:37
回复
用户头像
我面试过一些程序员,他们工作时间长,一线编码经验丰富,薪资要求不也不算高,但是没有团队和项目管理经验。我觉得这些程序员其实挺好的,可惜都过不了HRBP的关,几次之后,我也不给他们通过了,免得浪费大家时间。我也没有能力改变HRBP的用人策略,可能这就是行业的现状吧。


2020 年 10 月 10 日 10:43
回复
至少在我们公司,HRBP的要求是用人部门定义的,用人部门会把程序员(码农)与管理者岗位分开。
另外想说的是,本来程序员就是个中级工程师的定义,你看国家的高级职称不就变成了“系统分析师”、“系统架构师”、“项目管理师”之类的了。

2020 年 10 月 18 日 11:01
回复
用户头像
主要是大部分公司的开发任务根本不需要脑子,他们就是希望能用就行,反正不知道这个项目能活几个月。(大概是这个意思,可能表达的不对)
2020 年 10 月 10 日 00:32
回复
其实就是这个意思,大部分国内都是业务程序员,俗称码农,不需要创新,也不需要优化,更不需规划、架构
2020 年 10 月 16 日 14:08
回复
用户头像
可以再从用人单位的角度考虑一下,例如,成本的问题,老人的成本,年轻人冲击桎梏的成本。
2020 年 10 月 09 日 16:35
回复
没有更多评论了
发现更多内容

软件设计原则-第二周总结

孙志平

我写了10年博客,却被人说“不火”?我是这样怼回去的!

王磊

Java 程序人生 「Java 25周年」

江帅帅:精通 Spring Boot 系列 04

古月木易

Spring Boot

架构师训练营 第2周作业

Lingjun

极客大学架构师训练营

设计原则

东哥

极客大学架构师训练营

分布式柔性事务的TCC方案

奈学教育

分布式

GitHub 热榜:适合初学者学习的 Prometheus 监控系统

JackTian

GitHub 运维 Prometheus 开源项目 监控系统

程序员买买买,纸书半价,电子书55折,抢券叠加使用更划算

图灵社区

图灵教育 618活动

江帅帅:精通 Spring Boot 系列 04

奈学教育

Spring Boot

产品周刊 | 第 19 期(20200614)

Herbert

产品 设计 产品经理 产品开发

centos7升级内核

唯爱

第二周课程作业

Geek_a327d3

作业

「架构师训练营」第 2 周作业 - 总结

森林

架构师训练营-第二周命题作业

牛牛

极客大学架构师训练营 命题作业

Centos6 内核升级

唯爱

架构师训练营第二周作业

东哥

极客大学架构师训练营

分布式柔性事务的TCC方案

古月木易

分布式

构架师训练营-第二周总结

Dawn

极客大学架构师训练营

江帅帅:精通 Spring Boot 系列 03

古月木易

Spring Boot

软件设计原则 - 第二周作业

孙志平

依赖倒置原则联想

极客大学架构师训练营

架构师训练营-02作业

ashuai1106

架构师 极客大学架构师训练营 架构设计原则

在野望中奔跑:镜头前"摆摊"的联想来酷总裁们

Geek_116789

Monorepo 原来像陈老师这么香!

admin

第二周作业

戴维斯

架构是训练营

软件设计原则

superman

架构师训练营 第 2 周总结

Lingjun

极客大学架构师训练营

第二周作业

南宫煌

极客大学架构师训练营

「架构师训练营」第 2 周作业 - 设计原则

森林

程序设计原则

南宫煌

极客大学架构师训练营

江帅帅:精通 Spring Boot 系列 03

奈学教育

springboot

易观A10数据智能峰会

易观A10数据智能峰会

一位资深程序员的感悟:这个行业,仅靠年轻人是不够的-InfoQ