【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

  • 2020-10-09
  • 本文字数:3081 字

    阅读完需:约 10 分钟

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

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


在智力追求上(像软件开发),年轻人通常被赞美为创新的源泉。你可能经常遇到这样的例子,哪个人年轻有为——埃瓦里斯特·加洛瓦,他在 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:307010
用户头像

发布了 165 篇内容, 共 71.6 次阅读, 收获喜欢 342 次。

关注

评论 10 条评论

发布
用户头像
看看腾讯那几个公司的api,比如微信的api写的多烂,就知道背后什么情况了。即使在这个世界最抽象的那个学科,也是既有陶哲轩,也有张益唐的!
2020-11-15 16:53
回复
腾讯有啥技术?已经退化成了投资公司了!
2022-07-22 10:15
回复
用户头像
相比老人年轻人经验欠缺更容易些bug,增加开发成本
2020-10-21 09:16
回复
用户头像
写的很好,翻译的也不错!
2020-10-12 16:37
回复
用户头像
我面试过一些程序员,他们工作时间长,一线编码经验丰富,薪资要求不也不算高,但是没有团队和项目管理经验。我觉得这些程序员其实挺好的,可惜都过不了HRBP的关,几次之后,我也不给他们通过了,免得浪费大家时间。我也没有能力改变HRBP的用人策略,可能这就是行业的现状吧。


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

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

放弃保研和出国,投身基础软件,一位复旦学子的职业选择

TDengine

数据库 tdengine

开源GitOps产业联盟会员行 | 走进秒云

MIAOYUN

云原生 gitops OGA联盟

算力如何升级?天翼云这么干!

天翼云开发者社区

云计算 云电脑

Swift 首次调试断点慢的问题解法 | 优酷 Swift 实践

阿里巴巴终端技术

ios swift

工业互联网,走,上云去!

天翼云开发者社区

云计算 安全 云电脑

2022年SaaS发展趋势——私有本地化部署

WorkPlus

中科创达与华为共启边缘计算合作,共建昇腾AI产业,赋能千行百业提质升级

科技热闻

产品经理该如何确定优先级?

LigaAI

PM 敏捷实践 优先级

企业如何利用SaaS模式实现知识管理

小炮

SaaS

聚链成网,旺链科技联合发起跨链平台搭建计划

旺链科技

区块链 产业区块链 产业生态

Intel CET缓解措施深度研究

腾讯安全云鼎实验室

安全攻防 网络安全 安全研究

几行代码,网站图片访问速度 100ms 飙升到 20ms!

沉默王二

691页,41个版块!终于有阿里大佬可以带我吃透Spring源码了

Java架构追梦

Java spring 后端开发

Kubernetes 中数据包的生命周期 -- 第 3 部分

Se7en

浅谈Flutter等跨平台移动开发框架

Speedoooo

flutter 小程序 前端框架 开发框架 小程序容器

天翼云4.0首亮相!

天翼云开发者社区

云计算 云电脑

Masa Blazor自定义组件封装

MASA技术团队

C# .net 微软 UI 组件库

智能运维 VS 传统运维|AIOps服务管理解决方案全面梳理

云智慧AIOps社区

运维 监控 AIOPS 自动化运维

分布式云时代,天翼云4.0如何护卫边缘安全?

天翼云开发者社区

安全 云电脑

HR系统本地化部署和SAAS,优秀企业会怎么选?

WorkPlus

焱融科技在高性能全闪文件存储系统设计的思考

焱融科技

云计算 分布式 云原生 高性能 文件存储

看天翼云如何为实体工业插上“数字翅膀”

天翼云开发者社区

云计算 安全 云电脑

数据传输POST心法分享,做前端的你还解决不了这个bug?

葡萄城技术团队

LigaAI 倾情推荐,这5部烧脑电影让你爽翻天

LigaAI

程序人生

设备资产管理软件解决方案

低代码小观

低代码 资产管理 CRM系统 企业设备管理 设备巡检管理系统

【前端干货】别再羡慕别人的Excel啦,教你点击按钮直接打开侧边栏!

葡萄城技术团队

前端 前端表格 前端按钮 在线协同

企业数字化升级,为什么都需要IM即时通讯?

WorkPlus

企评家企业投资价值评价系统,服务投资机构

企评家

企业评价 企评家 企业成长性评价 企业投资价值评价

阿里亿级并发册+机器学习算法+面试册+优化册+代码册 笔记!!!

Java架构追梦

Java 程序员 后端开发

与Fiddler旗鼓相当的mock工具!

Liam

测试 Postman 自动化测试 自动化测试平台 测试自动化

IJCAI 2022 放榜,腾讯优图实验室三篇论文入选

Geek_2d6073

一位资深程序员的感悟:这个行业,仅靠年轻人是不够的_语言 & 开发_Mark Seemann_InfoQ精选文章