从程序员的技术成长的角度来说,过去的一年还是有不小的收获,不过略显尴尬的是,目前的工作方向 已经明显偏离 刚入行时的设想 。投身编程行业之前,花了很大力气学Java相关的知识,准备深耕后端开发领域。入行后也一直是做Java开发,但从2020年的夏天开始,接到的工作任务大都是与Linux Shell 编程相关,今年又新增了K8S和RPM的相关内容,2021全年95%的工作都与Java无关。如果说2020年是脚踏两只船,Java与Linux并重,那2021年就是完全登上了Linux 这艘船。不过,我现在还是比较乐观,主要是公司的氛围还是很不错,当下的工作也能让我在编程领域学到新知识。即使以后接着做Java开发,多掌握一些Linux 和 K8S ,也是大有裨益的。
2021岁末,接到领导通知,我被部门推选为优秀员工。在随后的年会中,我获得了“年度超人奖”。自己的工作得到公司和部门的认可,我非常开心,但我也知道这份荣誉中不仅有自己的努力,更有领导的支持和同事的配合。成绩和荣誉属于过去。在新年里,我应该继续努力,把工作能力和工作业绩提升到一个新的水平。
2021年1月,我完成了一个拖延已久的任务——在职研究生顺利毕业,取得了硕士学位。其实这是对前一年的收获,主要工作是在2020年完成的,连学位证书上的日期也是“2020年12月30日”,只是说我拿到证书和完成毕业手续是在2021年。
硕士的领域是农业信息化,是农业和计算机的交叉学科,感觉通过这个在职研究生经历,把农业方向的本科专业和现在的编程工作缝合在了一起,那我应该算是计算机相关专业毕业的吧。但心理感觉还是底气不足,所以在2021年8月末就报名了电子科技大学的计算机科学与技术专业的自考本科。之所以报考这个,一来是为了挣个专业对口的名正言顺 ,更主要是想以考试促进我系统地学习计算机专业知识,让学习更有目标。目前来看,还是有一定的效果,下半年在不断啃操作系统和计算机网络原理两门课,希望到时候能通过统考。
自开始学习编程就有接触CSDN,不过,直到2019年才注册账号,2019年和2020都只发了一篇文章,在这个平台上,我更多的是查资料,获取帮助。直到去年下半年,我才陆续发现撰写博客的价值——通过内容输出,可以巩固并检验自己对该知识点的掌握。这也是被广泛认可的最有效的学习方法,费曼学习法。所以我就从去年11月开始,频繁的发表文章,总共在去年完成19篇博客。在此过程中,我的博客也帮助到了一些人,我的粉丝也从个位数涨到了1000以上,让我颇有成就感。所以说在以后的日子,我要坚持创作。
整个2021年,一直在学习各种在线课程,总体来说学了不少,不过除了K8S和Linux相关知识,其他的很多内容都没有练习和巩固,所以大部分都忘了。
在线课程的学习方式有多种:直播、录播、音频、图文。
目前来看直播的效果是最好的,不仅是因为有互动,而且相对容易按照直播的时间安排,学完整个课程。
录播课程也还可以,你可以进行1.5倍速度的播放,只要足够自律,可能效率比直播课还要高些。但是对于自律能力较弱的朋友来说,那三天打鱼,两天晒网的,即使2倍的播放速度,也比不上直播的学习效率。
音频课程也有它的优势,就是可以上下班路上听,学习方式更灵活,不过我发现,用这个方式复习已经掌握的知识是挺好的,但是用来学习新知识,还是难度较大,基本上都会变成耳边风。
对于图文形式的内容,如果是在CSDN这样博客平台,用博文查看一些攻略,具体问题的解决办法,那还是效率极高。但是如果是买图文课程,系统地学习某项技术,那还是比较考验耐心。
随着对Linux的熟悉和进一步学习,我对Linux越来越是喜欢,特别是一切皆文件的特性,对开发人员真是非常友好。同时,Linux命令直接就是shell脚本里的语句,这也大大降低的学习门槛,这样还产生了一个便利,就是可以在shell编程中,单独取出某一句代码,以Linux命令的方式直接测试。
而当我发现:无论是作为移动端的扛把子Android,还是被热议的鸿蒙分布式操作系统,还是如中标麒麟,银河麒麟、统信UOS、中科方德等 一大票国产操作系统,还是服务器中常见的WMware Esxi,其实质都是Linux套壳。我就不由得感叹,Linux 真是永远的神!Linux,您承担了好多!
Linux也是一个丰富的知识宝藏,值得我不断深入学习。不管我以后从事什么方向的编程工作,即使不再从事软件开发的全职工作,我也会坚持学习Linux,力争成为Linux的行家里手。
在备考自考本科中的操作系统这门课程时,有个知识点是讲操作系统的分类,最终出场的是分布式操作系统,介绍写得特别厉害:可以忽略硬件设备、编程语言的差异,把数十台计算机连接起来作为一个整体,向用户提供服务,我当时就想什么样操作系统这么逆天。然后我在今年遇到了K8S。虽然严格意义上来说,K8S算不上操作系统,但风格和设计理念就完全符合分布式操作系统的特征。
在部署和维护方面,如果说Docker是一把步枪,那K8S就是一把机关枪,而且英雄级的冒蓝火的加特林。
不过深度掌握K8S的难度还是很大,概念特别多,有的也不是很容易理解。目前我也是在不断学习中,希望能再今年内成为K8S的熟手,也只有这样才能完成公司领导分配的工作任务。
Java是我学习的第一门编程语言,目前也是最为熟练。不过越发感受到Java生态系统推陈出新的速度之快。前两年Java8的新特性,还是面试亮点,今年都出了最新的长期支持版本Java17,真是有点跟不上了。Java8才掌握了一部分,Java11也只是略有涉猎,现在又是Java17,真是顶不住了。框架方面也是如此,2019年都还是面试利器,行业新技术的Spring Cloud 已经过时,现在Spring Cloud Alibaba才是行业新标杆。
其实以上框架的使用和学习也不难,关键是现在的工作面试考察难度已经极度内卷了,动不动就问您,“知道背后的原理吗?” “看过源码吗?” “源码中用了什么设计模式?” “最佳实践中应注意避开什么坑?” “ 这个技术在你过往的哪个项目中用到?” …… 哎,要是只是看过几个操作示例视频,写过一两个demo,在面试官眼里,都不算懂这门技术,最多算是了解,而他们不用只了解皮毛的程序员,需要你对这项技术有丰富的实战经验。
内卷啊,难怪我都能在Java培训课程里看到芯片制造原理的教学内容了。
在过去的一年里,我在游戏上浪费了很多时间。我真是万恶的堕落分子!
去年我玩得最多的是星际争霸Ⅱ,特别在完成每周突变任务时,只要没有通关,就会想着再试一次,非常浪费时间。真是罪过。
还有另一个游戏是都市天际线,这个游戏玩的频率不多,但是每次游戏的时间很长,因为是模拟经营一个城市,有时候能玩一个通宵。
下半年,要备考自考本科,老婆也因为游戏和我发生了不少矛盾,我自己也感觉这个游戏的确妨碍了我的学习,我就卸载了。哎,30岁咯,男人的爱好不能带来收益,那在旁人看来都是不务正业。
我原本对短视频没有任何兴趣的。在去年之前,我都不怎么碰的,以前当教师的时候,学生问我抖音账号,说要关注我。那时我都没有任何短视频账号,还觉得觉得短视频是毫无意义的、无聊的。哎,谁知道能料想,我居然会在去年比较严重地沉迷短视频,有时候一刷就是四五个小时,真是吓人。
刚开始看到抖音里有一些知识类账号,感觉他们的视频还是很不错,感觉若有所得,这也是我刷抖音浪费时间的一个借口。后来渐渐明白,对我来说,短视频能根本就学不到什么。软件技能是成体系的,需要花很长的时间静下心听课,然后不断地刻意练习,积极实践,才能掌握。
回顾2021,技术的确有所成长,不过主攻方向被动发生了变化。是有踏实认真的有效学习,也有心不在焉的无效学习,还浪费了很多时间打游戏,刷抖音。哎,我在去年就是个有点努力,但不足够努力的普通大龄程序员。
新年里,定了几个小目标:
总之希望新的一年里多点自律和勤奋,活成自己想要的样子!