速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 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:307172
用户头像

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

关注

评论 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
回复
没有更多了
发现更多内容

JAVA 九种排序算法详解(下)

加百利

Java 数组 排序 7月日更

银行4.0时代的营销与风控之路

索信达控股

大数据 金融科技 数字化转型 银行数字化转型 营销数字化

这套获50w+星标的算法神仙文档,足你解决90%的对手,牛逼

编程 程序员 架构 面试

腾讯上线零点巡航,用Java手撕一个人脸识别系统

北游学Java

Java 腾讯 人脸识别

手机如果能折叠能卷的话,电脑为什么不能呢?

船医特拉法尔加

开发者 工具 柔性屏

监测生命体征、活动水平的可穿戴电子产品设计方案

不脱发的程序猿

物联网 ADI 可穿戴电子产品设计方案 监测生命体征、活动水平 智能传感器

Java项目实战营总结

eoeoeo

阿里的架构师一致好评!IT界首版全栈架构师全栈“成长笔记”开源!

Java架构追梦

Java 阿里巴巴 架构 面试 成长笔记

字节跳动有状态应用云原生实践

火山引擎开发者社区

云原生 后端

部分简单网页的基础了解

Emotion

html html5 Html报文解析 内部样式、 CSS语法

MySQL连接数管理

Simon

MySQL

云图说|应用魔方AppCube:揭秘码农防脱神器

华为云开发者联盟

低代码 华为云 AppCube 云图说 应用魔方

区块链时代下,企业如何打造数据要素的“新竞争力”?

旺链科技

大数据 产业区块链

卧薪尝胆30天!啃透京东大牛的高并发设计进阶手册,终获P7意向书

Java 编程 程序员 架构 面试

手把手教你实现聚光灯效果

ThingJS数字孪生引擎

大前端 可视化 智能灯控 数字孪生

敏捷项目管理会不会代替传统项目管理?

万事ONES

项目管理 ONES 敏捷管理

共36万字!为上岸Alibaba,我把Github上Java面试题都整理了一遍

Java 编程 程序员 架构 面试

渗透工程师必看-网络安全法条例-国家安全法介绍和案例

学神来啦

运维 黑客 安全 渗透

对EF Core进行扩展使支持批量操作/复杂查询

Spook

EF Core

百度搜索稳定性问题分析的故事(下)

百度Geek说

百度 后端 数据 软件架构 搜索

Pandas

Flychen

Go 学习笔记之 字符串数据类型

架构精进之路

Go 语言 7月日更

数据结构——平衡二叉树(AVL)

若尘

数据结构 二叉树 平衡二叉树

云原生打包工具:Buildpacks

QiLab

Docker 云原生 k8s buildpacks

QuFi挖矿APP开发|QuFi挖矿系统软件开发

数据归档 - 冷热数据处理大师

趣链科技

数据处理 区块链+

MUZIKA穆奇卡系统APP开发简介

程序员如何提高开发效率?

万事ONES

项目管理 程序员 敏捷开发 ONES

爱了!阿里巴巴 Java 面试参考权威指南(泰山版)5月版开源

Java 编程 程序员 架构 面试

记某百亿级mongodb集群数据过期性能优化实践

杨亚洲(专注MongoDB及高性能中间件)

Java MySQL 数据库 mongodb 分布式数据库mongodb

云端赛车-Amazon DeepRacer 的前世今生

亚马逊云科技 (Amazon Web Services)

人工智能 开源

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