「韶光不负,创作不停,本文正在参与2022年中总结征文大赛」

2022年对我来说是里程碑的一年,由于就在本年五月,我正式年满四十岁,成为了一名在某些贩卖焦虑的 IT 自媒体笔下的面临 年龄危机 的老程序员。

一转眼,2022 年又快曩昔一半了。借着参与掘金社区2022年中总结征文大赛的时机,我把自己这曩昔的半年经历,简略做一个复盘。

我上半年的日常作业和技能写作生活

我于 2007 年 7 月,在电子科技大学计算机系统结构专业硕士结业后,加入了 SAP 成都研究院,成了一名运用开发程序员。SAP 是一家总部坐落德国的软件公司,首要从事企业管理软件领域的开发。十五年曩昔了,我也很光荣地拿到了 SAP 给作业超越十年以上的员工颁布的留念奖杯,如下图所示:

一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心

我十五年的作业生计,当然也不止一次考虑过自己的职业规划和未来的职业开展方向。关于国内程序员 35 岁以后的出路,网络上现已有许多评论了,不外乎以下几条:

  • 自己创业
  • 继续做一名程序员,成为技能专家
  • 转型成项目司理、产品司理、质量工程师、架构师等软件开发流程中的其他人物
  • 转行,离开程序开发行业

对我来说,一件幸运的事情是,结业之后虽然在同一家公司现已做了15年的软件开发,但现在的我对技能的热心,和我第一天正式入职相比,并没有减弱多少。所以我觉得,继续坚持在一线做开发,尽力成为技能专家,是最贴合我实践情况的职场之路。

到 2020 年之前,我从事的一向都是偏后端的开发,运用的是 ABAP,Java 和 Node.js 这些偏后端的编程语言和技能栈。2020年 8 月,由于作业变化,开始触摸 Angular 和 TypeScript,作业方向也搬运到了前端开发领域,一向做到现在。我现在的日常作业,是开发一款代号为 Spartacus 的 SAP 电商云前台 Storefront 运用:

一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心

一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心

我还记得刚刚从后端转到前端时,由于十几年根深蒂固的后端开发思想,对前端开发的有些理念,尤其是对 Angular 结构里重度运用的呼应式编程结构 RxJs 很不适应,也被后者峻峭的学习曲线(至少关于我来说很峻峭)折磨过。所幸我地点团队里有不少才华横溢的 Angular 开发工程师,而且乐于助人,在他们的协助下,我逐步找到了前端开发的一些感觉。而我之前一向用 ABAP 和 Java 开发后端,关于现在 Angular 里的装饰器、注解,依赖注入等概念也觉得非常亲热。

2022 年年初到现在,运用 Angular 完成日常作业之余,我陆陆续续看完了两本 Angular 开发的纸质书,把 Angular 官网的教程和文档都过了一遍,最近在研读一本名叫《浅显易懂 RxJs》的中文书。

一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心

虽然许多 RxJs 高手或许觉得其官网的文档和 Demo 更威望更有协助,我由于水平有限,还是更喜爱看这本国内专家用中文写的书,适合自己的才是最好的。

笔者一向保持着经过技能博客将自己所学的常识输出的习惯,这些年在国内外各大技能社区也宣布了一些技能文章。

感谢掘金社区的支撑,授予了我优秀创作者的称谓:

一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心

我知道自己输出的前端开发的文章,从内容深度上来说,肯定不能和掘金社区上的前端大神相比,但是我也的确没有和人比较的念头,输出这些文章的初衷是记载自己作业中遇到的疑难点,同时期望可以协助一些遇到和我相同问题的初学者们。我现已年满四十,早已过了爱争强好胜和人暗自较劲的年龄了,只要自己每天和前一天相比,都有点滴进步,我也就满意了。

我本年也积极参与了掘金社区一些活动,下面是我获得的一些留念品。

一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心
一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心

年满 40 岁之后对技能学习办法的一些考虑

本年上半年我也在不断考虑,觉得自己将来技能学习的办法需要持续做出一些转变办法,记载如下。

不再只拘泥于详细的源代码细节

在我从25岁硕士结业参与作业到35岁这期间,我觉得是一个程序员潜心研究技能的黄金十年:精力充沛,业余时刻多,学习能力强。在我曩昔的十年里,我觉得我对待技能的态度上有点像强迫症患者,关于一个技能点,除了了解它的设计原理和架构之外,我还喜爱从源代码的层级去研究。我结业后加入 SAP 从事的头几个产品开发,都是依据 ABAP 技能栈的,产品的每一行源代码关于开发者来说都可见。这极大地满意了我对这些产品完成源码的好奇心,让我一头扎进了代码的汪洋大海,也养成了我遇到问题就喜爱从源代码层级剖析的习惯。

跟着我作业内容的变化,从相对比较封闭的 ABAP 技能栈,切换到了愈加开放,乃至拥抱开源的技能领域,比方云原生开发,CloudFoundry,Docker,Kubernetes,Node.js,Angular 等技能上来,我逐步发现自己曩昔那种依据源代码级别的学习办法现已不再是一种有用或者说实践的办法了,原因有二:

  1. 程序员年满35岁,成家立业,结婚生子之后,客观上不太或许再有像以前单身时那样,有大块大块的空闲时刻能静下心来研读源码。人到中年,上有老,下有小,程序员的业余时刻太容易被生活中其他事情所占据了。

  2. 当今的开源产品或者说东西库,其完成复杂度和代码量,现已远远超越了某一个程序员可以把握的领域了。即便是某个开源项目的贡献者本身,他/她们了解的也仅仅自己同享的那一个模块的部分代码。

一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心

以 Kubernetes 的运用为例,遇到过错音讯时,按照我曩昔的做法,我会测验依据过错音讯的文本,去查找 Kubernetes Github 上的源代码,找到哪些源代码里有或许会抛出这个过错音讯。现在我觉得更有用的办法,当然是 Google 或者 StackOverflow 上查找线索,由于这么盛行的技能平台,咱们遇到的问题,大概率早就有其他同行遇到过了,网友们的剖析和处理方案,对咱们的问题排查来说有极大的借鉴含义。

相同,在学习一个新技能 & 结构时,放在曩昔,我会先把它的 quick start / demo / tutorial 找到,尽快在自己本地搭一个环境,弄一个可以运行的例子出来,然后再从源代码层面开始学习。现在的我会老老实实从这些新技能的官网的 Overview 页面开始读起,了解这个新技能诞生的缘由,处理了什么事务痛点,首要的组成模块,设计架构等等。我觉得一个40岁的程序员,和30岁的程序员,20岁的程序员,对同一项技能的重视点理应有所不同。20岁的程序员,重视的更多的是技能的详细完成细节和运用办法。40岁的程序员,更多应该重视的技能背后的一些深层次东西,比方这些技能,怎么才干更好地融入到自己公司所担任的事务和产品中去,怎么才干给客户带来更多的价值?

更实践一点的问题便是,我现在40岁,在这家公司作业了15年,我和公司现在刚入职的25岁年轻程序员相比,我作为一个老程序员,我的价值和核心竞争力到底体现在哪些地方?这个问题也是我作业过程中一向在考虑的问题。

学会取舍,学会做减法

在我刚刚成为一名年轻的程序员时,我从前误以为,一个程序员会运用的编程语言、编程东西越多,运用的技能越盛行,把握的技能栈越熟练,这个程序员就越优秀。在这种想法的驱动下,我尽或许多地去测验新的编程技能和东西,不管这些东西在自己作业中是否能运用得上。每天泡各种技能论坛,一看到介绍新鲜技能和东西的帖子,立刻在自己本机上测验。坚持了一段时刻之后我发觉,即便这样做,也没有成为自己心目中“优秀的程序员”的样子。反而由于许多新技能仅仅浅尝辄止,在作业中没有运用上,成了屠龙之技,所以一段时刻往后就遗忘得差不多了。

由于笔者作业的 SAP 事务是开发企业管理软件,所以在作业一段时刻深受这家德国企业的文明熏陶之后,我也慢慢领悟到,即便一项技能再先进和盛行,假如它不能协助公司的客户处理其事务上的痛点,无法给客户带来实践的价值,无法协助自己在职场进阶之路上走得更顺畅,那么我在下决议业余时刻去学习它之前,就应该慎之又慎,由于大龄程序员的业余时刻实在太宝贵了。

一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心

因而我这一章节副标题的学会取舍和做减法,便是想提示自己,在新的开发技能和开发理念不断涌现的大环境下,大龄程序员关于分配自己业余时刻用于技能充电这一点上,一定要慎之又慎。好钢用在刀刃上,优先投资那些能给自己的职业开展和公司事务带来助力的技能上。

以上喃喃自语了这么长的篇幅,感谢我们耐心看完一个40岁中年男人的碎碎念。笔者期望自己可以不忘22年前高考填志愿选择计算机专业时的初心,期望自己可以在迈入四十岁大关之后,能真正做到四十不惑。笔者也祝愿各位程序员同行,在 2022年下半年里可以作业顺利,技能上更上一层楼,感谢阅览。

一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心