导读

Ben Northrop 满 40 岁,本文是他对职业生涯的思考。他认为从长远来看,应该多投资一些不容易过期、衰竭期较长的知识领域中。

我是一名程序员,几个月前刚过完 40 岁生日。某个星期六的早晨,我参加了一个 React Native 技术交流会,演讲者正在竭力说服我们为什么它会成为移动开发领域真正的下一个大事件。但对我来说,它有点像 15 年前的 JSP,将所有的逻辑都放在演示代码里面。但我“老”了,我认为这是因为自己还没有完全理解它。

演讲者展示完 PPT 后,现场进行编码,还展示了大约半打我没听说过的配套工具,这些都让我感到有点沮丧。

当然,我并不是真的惊讶。在过去 20 年里,我也掌握了一些比较流行的技术,并享受驾驭它们的乐趣。新的东西总能给编程带来一丝激动的体验,并且能让事情变得更容易、更快和更清楚。但是在这个特别的早晨,在40岁的这个门槛上,我不得不承认我感觉有些落伍。我知道如果想跟上节奏,我得继续付出,抛弃一些已经充分吸收的知识,吸收一些新的知识,为下一次旅程做准备。

我在想,我的编程生涯不像其他的专业人士,医生到了 40 岁不用担心他对血管系统的知识会蒸发,同样的,律师、水管工、会计、英语老师,也是如此。他们积累的知识是相对稳定的,并随着年龄会给予他们相应的尊重和补偿。但是在编程领域,20年的经验,似乎并没有赋予同样的优势。

两个概念

当然,我们的行业也不是那么糟糕 —— 程序员需要爱上很多东西 —— 有趣的是,无休止的跟进,好像是我们这个领域或多或少独一无二的特点。编程生涯是真的如此不同吗?如果是,为什么?对我们的事业轨迹来说又意味着什么?我想从以下两个观点来尝试回答这些问题。

第一个是知识衰退。我们所知道的一切,不仅仅是编程,都有一个有效期,过了这个期限将不再有用。我16岁学会了开车,到现在依然用的很好,这种技能可以认为有一个相对较长的半衰期 。医生的知识会越来越渊博,是因为他学习的每一件事情都是基于他以前的知识。而在编程领域,无论好还是坏,我认为:

程序员所积累的编程知识在十年后将有一半没用。

这可能有些偏激……但起码对我来说,似乎是正确的。如果我在这个期限中不学任何其他的东西,我敢打赌,只有大约一半的知识我可以在 2026 年继续使用(比如长期活着的 SQL ),另一半可能都是没用的(React Native,也许?) 。当然,我会不断获得新的知识来取代要死掉的那些东西,但这足够吗? 2026 年我会比现在知道更多(有用的)知识吗?

这也就是带来了第二个概念,知识积累速度。在所有领域,必须满足一定的知识门槛才能获得“认证”(或至少可聘用),职业生涯的早期通常都是在努力获取知识。然而,在编程领域,由于知识的快速衰减,似乎我们从来没有真正度过“学生时期”,我们必须永远一直学习。

三个阶段

如果去记录程序员的知识衰退和积累速度,我认为可能会是这样:

在职业生涯的开始,可以称之为热切的学徒阶段,积累知识比较容易。一切都是新的,每个经验都是获得更多知识的工具。而且,由于年轻,我们不会有太多的义务,所以可能不介意花几个晚上和周末拿起新的语言和框架。重要的是,雇主对我们的期望值也比较低,我们可以在工作期间抠出一点时间来填补知识。这是一个有趣的阶段,连自己都没意识到自己有多坚持。

然后,我们不再是新手,成为了自给自足的开发者。我们在学习中的投资已经得到回报,所知道的一切全部有用。在这个充满知识的阶段,我们开始赢得客户、同行和管理者的尊重,获得头衔、薪水和机会。虽然我们当时不一定看得出来,但这也是一个重要的转折点。

两件事情发生了。首先,“高级”的晋升不仅仅是金钱,而是更多的期待。雇主需要他们的“明星程序员”成为领导者 – 帮助初级开发人员,审查代码,执行访谈,参加更多会议,帮助他们维护、构建复杂的旧版软件。这一切都很合理,但它巧妙地牺牲了我们的知识积累速度,我们不再有时间去读一些科技博客、文章。第二,这时候,我们首次体会到(或至少认识到)一点点知识的朽烂,早期学到的一些东西开始过时了。

随后,我们进入第三个,也是最后一个阶段,衰落和流失。是的,我们是知识渊博和富有成就的,但我们也明白,事实上知道的已经比最初阶段更少(有用的)东西。我们可能没有时间积累足够的新知识来填补,这是令人沮丧的。我认为这就是为什么,在这时候,许多人开始转向 – 管理、销售、测试或农业(我的梦想)。我们意识到需要再次努力来保持我们的水平和熟练度 – 不然的话,我们的工作会在5年后比现在更糟。

两个方向

我正处于第三阶段。我还是很喜欢学习,但我明白,不努力的话,我可能会一直保持在“专家”的平衡状态边缘。

首先,我尝试采取长远的观点。不要过度榨取自己,要尽可能的取得获得新经验的机会。我看到不少同事虽然获得了丰厚的薪酬,但职业很少有机会接触新兴事物。再过五年,他们会意识到他们的宝贵知识已经蒸发,薪酬与实际价值相去甚远。在某些情况下,我认为短期内赚更少的钱(有更好的雇主)会在长期的职业生涯中产生更多的钱(和稳定)。

第二,考虑到时间有限,我试图去学习那些耐用的知识。也就是说,把精力投入在那些有更长的衰减期的知识上,比如,算法逻辑、应用安全、性能优化和架构。

最后,很乐意听到大家的想法!

英文:Ben Northrop  译文:开源中国

www.oschina.net/news/84850/reflections-of-an-old-programmer

PS:记得查收小编送你的免费大礼包呦~

福利 | 一万多套PPT模板等你免费来拿!无条件领取!

免费送 | 1000多套简历模板免费拿,附赠简历制作教程!

免费领 | 《Shell脚本 100例》电子书免费拿,运维必备干货~

▼▼点击【阅读原文】,送你一份免费5天运维课程!

一名IT界“老”技术人关于学习与成长的分享,受益!相关推荐

  1. 用最长情的告白陪伴技术人的成长

    见到霍泰稳时,他刚结束跟新浪微博CTO兼首席架构师杨卫华(Tim Yang)和环信首席架构师梁宇鹏(一乐)的碰头,为了8月8日EGO北京分会成立之事.Tim Yang是分会年度会长,一乐则是学习委员. ...

  2. 「 非著名技术人 」高永亮,一枚懂业务的技术人员

    小编导读 高哥,是一个热心,大度,有高度有理想有抱负的有为青年. 热心肠,经历也比较丰富,有困难也许高哥能帮到你. 请记住,有事找高哥! 感谢高哥的分享~ 高永亮,Database.Linux.Aix ...

  3. 强烈推荐几个技术人必关注的公众号

    有大半年没有推荐公众号了,不是经典不推荐.互联网技术人,每天花几分钟开阔眼界,绝对值得. stormzhang stormzhang,大家都喊他张哥,GitHub 中国区前十开发者,非科班 0 基础自 ...

  4. 荐号 | 技术人如何在职场竞争中处于优势地位

    工欲善其事,必先利其器.对于软件开发.架构设计和系统维护人员来说,在技术日新月异发展的时代,必须及时补充新的知识,储备技能,才能在职场竞争中处于优势地位.今天给大家推荐几个公众号,相信在未来驰骋职场中 ...

  5. 【推荐】技术人必看的音视频学习资源清单

    学习是一个不断精进的过程,没有standard destination. 我们经常听到技术人各种学习困扰: "音视频这种新兴领域发展太快了,感觉囤积的学习资源好容易过时." &qu ...

  6. 技术人的年货福利:百宝黑皮书在手,2020年技术栈变革一次看透 | 免费下载

    2020 年跌宕起伏,疫情让更多人进一步感受到技术的重要性.而对于幕后的技术人而言,也更直接的感受到了技术加速发展带来的的"震动".随着智能化.云原生等趋势不断加剧,持续的技术革新 ...

  7. 视频教程-商业编译:从技术人到CEO的商业认知课 (提升篇)-招聘/面试

    商业编译:从技术人到CEO的商业认知课 (提升篇) 闫辉,资深媒体人,连续创业者.曾担任<程序员>杂志首席记者,杂志副主编,CSDN执行总编.还在CSDN创办和运营了最大的IT技术管理者社 ...

  8. 重磅消息 |《技术人修炼之道:从程序员到百万高管的72项技能》隆重上市!

    亲爱的读者朋友们,大家期待已久,历时14个月创作的<技术人修炼之道:从程序员到百万高管的72项技能>终于官宣上市了! 许多读者是从我的第一本书<技术管理之巅>(2015年出版) ...

  9. 《创业算法 - 技术人创业的认知升级》

    <创业算法 - 技术人创业的认知升级> 在最近热门的关于人工智能之父,认知心理学的创始人赫伯特西蒙的认知一书中讲到,人类的思维认知过程可以借鉴计算机的运算过程.这种跨学科的做法诞生了改变世 ...

最新文章

  1. 计算机硬件的组装实践,毕业论文-计算机硬件组装实践.doc
  2. 公钥和私钥怎么生成_科普 | Eth2 验证者如何生成和保护取款密钥
  3. 使用acs-engine在Azure中国区部署kubernetes集群详解
  4. 三十岁前不要去在乎的18件事
  5. mac mysql ngram_MySQL ngram
  6. (小技巧)Sql server查看sql语句的执行时间(转)
  7. (37)VHDL实现RS触发器
  8. SQL语句执行效率及分析
  9. js得到自定义属性和操作table表格
  10. java移位运算详解
  11. [imblearn]-欠采样模型合集
  12. springboot 删除路径下面所有文件_[原创]springboot 中 resources 资源目录里面的文件夹压缩下载...
  13. GEE计算LST温度反演
  14. 如何快速搭建服务器的IP隧道
  15. Linux vi的剪切,复制和粘贴
  16. 上号神器|王者扫码登录教程,苹果安卓通用扫码教程(建议收藏)
  17. 解释reverse=True等python基础问题
  18. 冒着被打风险,揭秘软件测试工程师面试套路和暗语
  19. 第二证券|卡塔尔给体育烧的钱,不止世界杯
  20. 关于 CST 和UTC时间的理解

热门文章

  1. 教师资格证面试 计算机应用,2019下半年初中信息技术教师资格证面试真题及答案汇总...
  2. jquery点击图片放大效果
  3. c++头文件iomanip.h中的setw、setprecision、setfill和setbase函数
  4. H3C设备的基本配置
  5. 《“桥板灯”的来历》——游城“明经胡氏”
  6. 正则表达式的基本语法规则
  7. 基于python的批量网页爬虫
  8. C++报错信息:LNK2001:无法解析的外部符号 原因分析及解决方法
  9. [已解决] c#签名时出错
  10. js对象数组去除重复