软件工程中知识的陈旧率

2020-09-10 14:12:40

一个物理学家在短短四年内失去了一半的物理知识价值,而一个英语教授需要25年多的时间才能失去他们职业生涯开始时所拥有的知识价值的一半[1]。这些估计值取自1982年的一篇论文,因此软件工程师显然没有被包括在内。但它回避了一个问题,…。软件工程师知识价值的半衰期是多少?我怀疑它介于物理学家和英国教授之间,因为软件工程师的知识是永恒的计算机科学/工程原理和短暂技术的组合,随着时间的推移,这些技术时好时坏。

具有传统计算机科学背景的软件工程师学习的东西永远不会随着年龄的增长而终止:数据结构、算法、编译器、分布式系统等,但我们大多数人并不直接使用这些概念。抽象和框架是建立在这些良好的学习基础之上的,因此我们不必深入了解工作的细节(至少在大多数情况下是这样)。例如实现数组优化排序的C++标准库,以及提供开箱即用的容错集群计算的Apache Spark。

一个人在职业生涯中积累的不可避免的昙花一现的知识有很多种形式,这并不是一个详尽的清单:

一个流行的框架或编程范例,在几年内就会失宠。

这类知识可以很快从热心的采用过渡到每一家公司,他们说,知识试图让他们用它建立的一切日落。

我倾向于说,我使用的是短暂的知识,而不是永恒的知识来完成我的工作。此外,我们的行业还面临着额外的压力,那就是必须不断学习新的、有用的东西。

一个理论物理学家花了大量的时间去掌握一个理论和它背后的数学技术,却发现这个理论在几年后被一个新的、改进的理论所淘汰,这就好比一个软件工程师,他花了大量的时间来掌握一个网络开发框架,学习它的复杂性和理解,几年后才看到这个框架被一个新的框架所淘汰,劳动力市场对这种知识没有更多的需求。这就像是一个软件工程师,他花了大量的时间来掌握一个理论和它背后的数学技术,结果却发现这个理论在几年后被一个新的理论淘汰了,劳动力市场上对这种知识的需求也就没有了。

[1]书名/作者John M。“知识和职业出版物档案的过时:不同领域在中断职业成本方面存在差异的一些证据。”“美国经济评论”,第一卷。72,第4期,1982年,第752-768页。JSTOR,www.jstor.org/STRATE/1810015。访问时间为9月9日。2020年。