一个“老”程序员的思考

本文是一位40岁老程序员对职业生涯的思考,建议多学习接触新事物,将精力投入到衰竭期比较长的知识领域,这些都是很有建设性的。下面是大意译文:

我是一个程序员,几个月前刚过完害羞的四十岁生日。这是一个星期六的早晨,我的孩子们和我的妻子都在家里。我在一个React Native技术交流会。主持人竭力说服我们为什么它会成为移动开发领域真正的下一个大事件?对我来说,它有点像十五年前的jsp。将所有的逻辑都放在表现在代码里面。但是我老了,估计我还没有完全明白。

主持人展示过ppt后,炫耀了一下他们令人印象深刻的代码,喋喋不休地展示了大约半打的配套工具,我从来都不知道,这些都让我感到有点沮丧。

当然,我并不真的惊讶,过去的二十年,我也掌握了一些比较流行的技术,并享受驾驭它们的乐趣。新的东西总是给编程带来一丝激动的体验,并且变得更容易、更快和更清楚,它一定会很有趣,但是在这个特别的早晨,在我四十岁的这个门槛上,我不得不承认我感觉有些力不从心,我知道这是工作的一部分,我得继续付出,我们常常要尽快的忘掉一些知识,能够尽快的吸收一些新的知识,作为为下一次旅程准备。

我想到,我的编程职业生涯不像其他专业的职业生涯,医生到了四十岁不用担心他所知道的所谓血管知识会失去,同样的道理适合律师,水管工会计或英语老师,在他们职业生涯中,他们积累的知识是相对稳定的,并会给予他们相应尊重和补偿措施,但是在编程领域,二十年的经验,好像并没有类似的相同的优势。

当然不是所有的事情都如此令人沮丧,在我们的职业生涯中,会让你不断的无休止的跟进,有趣好像是我们这个领域的或多或少的唯一特点。编程生涯是真的如此不同吗?下面我将从两个概念来谈这个问题。

第一个是知识的衰变,我们所知道的编程知识有一个有效期,过了这个期限将不再有用。但是,我在十六岁学的驾驶技术就不会这样,对于很多专业人士来讲,他们的领域知识有一个相对较长的半衰期,医生知识会越来越渊博,是因为他学习的每一件事情都是基于他以前的知识。而在编程领域,我们,所知道的编程知识将会在十年后无用。

下面又带来第二个概念知识积累率,由于知识的快速衰减,似乎我们从来没有真正超越过学生时期,我们必须永远一直在学习,这就使得我们的职业生涯变得非常不同寻常。

因此有两个建议:首先要有长远观点,不要过度榨取自己,要尽可能的取得获得新经验的机会。经常看到一些人虽然获得了丰厚的薪酬,但是他的职业很少有机会接触新兴事物,再过五年,他们就会意识到他们的宝贵知识已经蒸发,他们的工资将偏离平均水平,短期内你赚更少的钱,有可能意味着长期的职业生涯赚更多的钱。

其次给出一个时间限制,更多投入到可以长久的知识,也就是说,把精力投入在那些有更长的衰减期的知识上,比如,算法逻辑,应用安全,性能优化和架构。

Ben Northrop - Reflections of an "Old" Programmer

太棒了,记下。