又到了年底被各类 app 的年度报告轰炸的时候了。
老实说以前我还挺喜欢各种年度报告的,看看自己又被大数据打上了什么标签,在程序眼里的画像是怎么样的。不过工作了之后倒是不太在意这些了,而是会去考虑“原来这个 app 在这里有埋点啊”“这个他人访问次数数据太大了,一看就是没做过滤”之类的程序员视角下的问题。也算是一种别样的乐趣吧。
看了一下后台记录,博客里也写过不少年终总结了。每一年对自己都有着不一样的认知,又对下一年有着不一样的期待。
向学生时代说再见
从幼儿园算起,到本科结束,总共 19 年的求学生涯,在今年正式暂告一段落了。为什么选择本科就业之前已经在不少文章里提过了,这里就不多说了。
至于说有没有后悔,说实话是有点。但不是后悔没有继续深造拿到一个高学历,而是后悔这么早就告别轻松的学生生活。真正进入社会之后,会发现以前可以装作鸵鸟不去理会的事情,变成了一道道不可逾越的坎。最显而易见的,就是如何养活自己。每个月的工资扣掉房租、话费、服务器费用等等一系列固定开支之后,还有多少是自己能随意支配的。再就是经历了这几年之后,还需要考虑该存多少钱备用。以前是学生,多少可以过一过“饭来张口,衣来伸手”的日子,现在不行。
人际交往也是避不开的一个问题。之前我还觉得程序员是个不那么需要人际交往的职业,但实际工作之后才发现,每天也是需要面对各种各样的人。比如说需要和产品经理一遍又一遍确认需求细节,和测试沟通问题复现路径,和数据分析师争论某个埋点的必要性,和不同代码的作者确认逻辑,还要应付各种说不上来到底有没有意义的会议等等。或许不得不承认,在这个时代,完全靠自己是没办法生存下去的。
这些乱七八糟的事情充斥在一个成年社会人的每一天,进而比起来毕业之前,会让我有一种到现在还没适应的疲惫感。不过或许我最想要的状态,应该是像段子说的“是学生,但不需要上课”这样吧(某种程度上来说大四比较符合这个描述)。
技术成长
既然职业是程序员,技术成长就是个绕不开的话题。还是那句话,“任务驱动”或是“兴趣驱动”。很多东西放在具体的业务场景里才会考虑到,就比如说之前写过的,用 RxJava 将时序上不确定的两个操作变为串行的。就算回到最开始用 RxJava 来处理电表的网络请求的时候,我也想不到它还能这么用,因为没有需要的地方。工作中遇到越来越多的业务场景和需求,才能让我有动力去了解不同的技术。
读代码其实是一个很好的学习方式,但这个是我在工作之前一直做的比较少的。工作之后,因为常常会改到在自己完全不熟悉的部分,那么就需要在短时间内去理解原作者的想法和思路。这期间还少不了和原作者的交流。不得不说大厂里还是有很多高水平的程序员,理解了他们写的代码之后会有一种醍醐灌顶、豁然开朗的感觉,“原来这个地方这么写会更简洁”“居然还能这么优化”。当然也有一些质量不那么高的部分,读这些代码能让自己见到更多的 Base case 或者是 Code smell,在以后尽量去避免。
不过并不是所有学到的东西马上就有机会实践的。所有这里还是多亏了自己有电表这么个项目。尽管现在我已经毕业了,但偶尔还是会抽出来一些时间维护。和还在学校的时候不一样,那会儿想着是如何完善功能,这会儿想的是怎么去重构、怎么通过这个来练手。比如说之前实习的时候才知道原来同一个界面上的不同元素也可以做组件化拆分解耦,甚至可插拔。所以当时大四重构的时候也就把这个思想带到了电表里,将一个原来近千行的文件拆分成了多个小文件,拆出来的组件可以随意添加和移除,不会对其他组件产生影响。再就是目前电表里的课表控件用的是现成的开源库,最近在着手把这部分自己重新写一个,一方面是为了满足需求,另一方面是学习如何自定义 View 了(说实话看了原来用的开源库的代码,觉得它的思想是好的,但写的代码真的很烂,很多边界情况都没有考虑到,还有很多显而易见的问题)。另外也计划着把电表的登录过程重构一下,虽然已经做到了串行改并行,但几个无关的模块之间耦合还是比较多,如果能拆一个抽象程度更高的组件出来会更好一些。
工作久了之后,会意识到其实学校里有些课程还是挺有用的,比如说软件工程和软件过程项目管理。做需求过程中,非常重要的一点就是要估算好工作量,定好排期,不然痛苦的是自己。还有就是,一定要和产品经理沟通好实现细节,这样可以最大程度地在出现一些问题的时候避免自己背黑锅,同时也让自己在写代码的时候不会出现模棱两可不知道怎么操作的问题。另外技术文档也是很重要的一环,一方面是明确自己的改动范围,另一方面是让测试知道需要关注哪些地方。如果说有改动的地方没有明确出来,恰好这个地方又是线上业务的一个关键点,研发不说,测试不测,那出了问题都跑不掉。换句话说,这些知识是为了让自己学会更好地甩锅。
梦中情机
今年攒出来了两台 PC,一台用作 NAS,另一台就是现在自己常用的台式电脑。总共花费还是不少的,加起来大概四万多了。不过 NAS 的大头主要是在硬盘上,四块 8T 的希捷银河就够喝一壶了。其他主板 CPU 什么的因为没有经验,就没去捡垃圾,还是买了普通消费级产品。
台式电脑这边,基本上是在我觉得合理的范围内把配置拉到顶了。CPU 是 i9-13900K,显卡是七彩虹的 RTX4090 AD OC,主板是猛禽 Z790-E。最开始计划的是微星暗黑 Z790,不过因为不能个人送保的问题,还是换成了华硕。至于为什么没有更进一步上纯血 ROG,一方面是我觉得没什么必要,另一方面就是 Hero 的 M.2 接口的 PCIe 通道划分比起来猛禽要烦一些。实际上猛禽也比较头疼,第一个 M.2 插槽和 PCIe * 16 插槽会共享带宽,为了不影响到显卡只能从第二个 M.2 插槽开始用。
显卡本来想买火神的,但迟迟买不到原价卡,溢价卡加价也很离谱,最后就选了次旗舰 AD OC。反正我机箱也是倒装,那块小屏幕用不上,那就干脆让光污染更少一些。
4090 的性能真的很猛,4K 显示器玩游戏,基本上都能跑到 144Hz 到 160Hz 之间,除了某些优化特别差的之外。从之前笔记本电脑的 1060 6GB MaxQ 换过来,比刘姥姥进大观园还震撼。
美中不足的是内存条的选购上功课没做好,买了 DDR5 5200MHz CL38 美光 A-Die 颗粒的。如果不考虑品牌的话,同价位已经能买到 DDR5 6400MHz CL32 海力士 A-Die 的了。等后面看看要不要换吧。
遗憾的是已经过了那个对游戏有着狂热兴趣的年纪了。要是现在还在上学的话,应该会更快乐一些。
想要怎样的 2023
首先还是希望自己能活下去,不被太快裁掉。现在的环境找份工作真的很难。同时希望自己在技术上能继续有一定的提升。
其次就是希望自己和家人能够健康吧。年底经历了一轮新冠。尽管在感觉上和重感冒和流感差不多,但总归不想再被反复蹂躏了。等后面恢复得差不多了也该考虑锻炼的事情了。
最后就是吃好、喝好、玩好,多去看看这个世界。难得来这个世界一次,对吧。
电脑是梦中情脑