当前位置: 首页 > Web前端 > HTML

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

时间:2023-03-29 12:04:13 HTML

标题:40岁程序员2022年中总结:不忘初心,四十不迷茫2022年对我来说是最好的一个里程碑年,因为就在今年5月,我正式满40岁,成为一些卖焦虑的IT自媒体人中面临“年龄危机”的老程序员。一转眼,2022年已经过去了一半。借参加掘金社区2022年中2022年总结征文大赛的机会,简单回顾一下自己这六个月的经历。我上半年的日常工作和技术写作生活。2007年7月,电子科技大学计算机系统体系结构硕士毕业后,加入SAP成都研究院,成为一名应用开发程序员。SAP是一家总部位于德国的软件公司,主要开发企业管理软件。十五年过去了,我很荣幸获得了SAP为工作十年以上的员工颁发的纪念奖杯,如下图所示:当然,我不止一次思考过自己的职业生涯规划我十五年的工作生活和未来的职业发展。关于国内程序员35岁以后的出路,网上已经有很多讨论,无非就是以下几种:自己创业继续做程序员,成为技术达人,转型做项目经理、产品经理、质量工程师和架构师。我在等待软件开发过程中的其他角色时离开程序开发行业的幸运之一是毕业后我一直在同一家公司从事软件开发工作15年,与我正式入职的第一天相比,并没有减弱多少。所以我觉得,继续坚持在一线做开发,努力成为技术专家才是最适合自己实际情况的职业道路。2020年之前一直从事后端开发,使用ABAP、Java、Node.js等后端编程语言和技术栈。2020年8月,因为工作变动,开始接触Angular和TypeScript,工作方向也转移到前端开发领域,一直到现在。我目前的日常工作是为SAP电商云前端开发一个代号Spartacus的Storefront应用:还记得刚从后端转前端的时候,由于根深蒂固的后端开发思想超过十年,对前端开发有了一些了解。这个概念,尤其是Angular框架中大量使用的响应式编程框架RxJs,让人很不舒服,一直被后者陡峭的学习曲线折磨着(至少对我来说是陡峭的)。幸运的是,我的团队中有很多才华横溢的Angular开发工程师,他们乐于助人。在他们的帮助下,我逐渐找到了一些前端开发的感觉。而我之前一直在使用ABAP和Java开发后端,感觉对Angular中的装饰器、注解、依赖注入等概念非常熟悉。2022年年初到现在,在使用Angular完成日常工作后,陆续看了两本Angular开发的纸质书,把Angular官网的教程和文档都看了一遍。中国书。虽然很多RxJs高手可能会觉得其官网的文档和demo更权威,更有帮助,但由于本人水平有限,还是更喜欢看国内高手用中文写的这本书,适合自己的才是最好的.笔者一直保持着通过技术博客输出所学知识的习惯。多年来,也在国内外各大技术社区发表过一些技术文章。感谢掘金社区的支持,我获得了优秀创作者的称号:我知道,我输出的前端开发文章,论内容深度,肯定无法与掘金上的前端高手相提并论社区,但我实在没有和别人攀比的想法,输出这些文章的初衷是为了记录自己工作中遇到的困难,希望能帮助到一些和我遇到同样问题的初学者。我已经四十岁了,我已经过了好胜心和暗地里与人竞争的年龄。只要每天比前一天进步一点点,我就心满意足了。这一年我也积极参加了掘金社区的一些活动,以下是我得到的一些纪念品。40岁后技术学习之路的一些思考。今年上半年,我也一直在想这个问题。感觉自己以后学习技术的方式需要继续做一些改变。记录如下。不再拘泥于具体的源码细节从我25岁硕士毕业到35岁那段时间,我觉得是程序员全身心钻研技术的黄金十年:满精力充沛,业余时间较多,学习能力强。在过去的十年里,我觉得自己对技术的态度有点像强迫症患者。对于一个技术点,除了了解它的设计原理和架构,我还喜欢从源码层面去研究。毕业后加入SAP的前几个产品开发都是基于ABAP技术栈,产品的每一行源代码都对开发者可见。这极大地满足了我对这些产品源码的好奇心,让我一头扎进代码的汪洋大海中,也养成了遇到问题从源码层面分析的习惯。随着工作内容的改变,我从相对封闭的ABAP技术栈转向了更加开放甚至开源的技术领域,比如云原生开发、CloudFoundry、Docker、Kubernetes、Node.js、Angular等技术。渐渐地,我发现过去那种基于源码层面的学习方式,已经不再是有效的、现实的方法了。原因有二:程序员35岁结婚生子后,客观上不可能再学习了。就像我单身的时候,有很多空闲时间可以静下心来研究源码。人到中年,有老有少,程序员的业余时间太容易被生活中的其他事情占据。如今的开源产品或工具库的实现复杂度和代码量已经远远超出了某个程序员所能掌握的范围。即使是开源项目的贡献者本身也只熟悉他们共享的模块的部分代码。以使用Kubernetes为例,当遇到报错信息时,根据我以往的做法,我会尝试根据报错信息的文本在KubernetesGithub上搜索源码,找出哪些源码可能会抛出这个错误信息。现在我觉得更有效的方法当然是去Google或者StackOverflow上搜索线索,因为这么热门的技术平台,我们遇到的问题,其他同事大概率也遇到过,网友们的分析和解决,对我们排除故障有很大的参考意义。同样,学习一个新技术&框架,以往我会先找到它的quickstart/demo/tutorial,尽快搭建本地环境,得到一个可以运行的example,然后从源码层面入手开始学习。下面我就老老实实的从这些新技术官网的Overview页面开始了解这个新技术诞生的原因,解决了哪些业务痛点,主要组件,设计架构等等,我觉得一个40-岁的程序员、30岁的程序员和20岁的程序员对同一个技术的关注点应该不同。20岁的程序员更关注技术的具体实现细节和用法。对于一个40岁的程序员来说,更应该关注技术背后的一些深层次的东西,比如这些技术如何才能更好的融入到自己公司所负责的业务和产品中去,如何才能带来给客户带来更多好处?价值?比较现实的问题是,我今年40岁,在这家公司工作了15年。与刚进公司的25岁年轻程序员相比,作为一个老程序员,我的价值和核心竞争力在什么地方?这个问题也是我在工作中一直在思考的问题。学会选择,学会做减法刚做年轻程序员的时候,我曾经错误地认为,一个程序员会使用的编程语言和编程工具越多,他使用的技术就越流行,技术栈就越精通他掌握。程序员越好。在这种想法的驱使下,我尽可能多地尝试新的编程技术和工具,不管这些东西能否应用到我自己的工作中。每天上各种技术论坛,一看到有介绍新技术和工具的帖子就在自己的机器上试一试。坚持了一段时间后,我发现即使我这样做了,也并没有成为我心目中的“优秀程序员”。相反,因为很多新技术只是尝鲜,没有在工作中使用,就成了屠龙术,所以用了一段时间就几乎被遗忘了。因为我从事的SAP业务是开发企业管理软件,在工作了一段时间,深受这家德国公司文化的影响后,我逐渐意识到,无论多么先进和流行的技术,如果不能帮助公司客户解决业务痛点,不能给客户带来实际价值,也不能帮助自己在职业晋升的道路上走得更顺利,所以业余时间学习还是要慎重,因为老程序员的业余时间太宝贵了。所以,我这章的副标题是学会选择和做减法,只是为了提醒自己,在新的开发技术和开发理念不断涌现的环境下,老程序员更关心分配业余时间进行技术充电。当心。明智地使用好钢,并优先投资于有助于您的职业发展和公司业务的技术。以上就是这么长的一段自言自语,感谢大家耐心看完一个40岁中年男人的心事。作者希望我能不忘初心,在22年前高考志愿选择计算机专业,希望进入40岁大关后,能真正做到40岁不迷茫.笔者也祝愿各位程序员在2022年下半年工作顺利,将技术提升到一个更高的水平。感谢您阅读。