2022年总结

2022年没阳,老子是天选打工人!!!!

几道坎

上半年的坎是硕士毕业,这个在之前的文章中有提到过。研究生阶段除了研一上学期之外,剩余的时间我都是混日子的,或者说已经认识到了自己不适合科研随即就摆烂了,正好导师也不是很 push,于是就度过了还算轻松的三年。

但是就算是导师对于发论文的数量和质量没有要求,毕业论文终归是要写的,从研二的开题到研三的撰写,都是挫折不断,不过幸运的是最终都混过去了,不论是开题答辩、论文修改、论文盲审还是最终的论文答辩。并不是说这个过程中审核的老师很水,相反对于苏州校区的学生来说各个环节比九龙湖本部都要严格,今年我这一届延毕率高达 20 %。

这一路走来还是挺幸运的,论文开题前感觉原来的选题不靠谱就立刻跟导师申请换题,论文修改第一版被导师批的一无是处后改了一版就导师就满意了,论文答辩也是一次过的不需要二辩三辩。

下半年的坎主要是 9 月中旬的时候被安排了迁移 Kafka / Zookeeper 的工作,总共需要迁 7 套集群,这个时候距离我入职才过去一个月。由于垂搜离线这边各个模块间是通过 Kafka 通信的,所以在迁移的过程中需要保证 Kafka 不断线,否则会造成断流。我之前对 Kafka / Zookeeper 都没有了解,并且告知需要在 10 月中旬前完成迁移,延期的话会影响机柜退租,每天都会给公司造成额外的十多万的成本消耗。上面本来要求 10 月之前迁移完的,Leader 据理力争争取到了额外的几个星期时间,非常感谢他。

我的做事风格是凡事在正式开始干之前都需要经过充分的调研和模拟,所以在查阅 Kafka / Zookeeper 迁移资料的同时,我还在本地搭建了一套 Kafka / Zookeeper 集群来做实验,并且在迁移时首先先针对跨机房和不跨机房两种场景先迁移了线上 2 套流量较小且不重要的集群,在将坑基本都踩了一遍之后才开始迁移剩余比较重要的集群。另外,对于这些 Kafka 集群也是在我的接手工作范围内,所以通过本次集群迁移,也对这部分接手内容有了一个初步的熟悉。

最后有一个横跨整年的坎,一直都跨不过去,那就是戒掉星际酒馆。在去年的总结中就提到,希望可以减少玩星际酒馆的次数,但是今年一直都未能完成,中途将星际争霸卸了三次,前两次最后都没忍住又装回来了,最后一次是十二月中旬删的,目前还在坚持,没有装回去。

周末就不提了,全天一局接着一局高强度玩,致使周末两天全部报废,有一段时间平时晚上十点多下班回到住处也会玩,导致睡觉时间变晚,并且会影响睡眠质量。

星际酒馆是从炉石酒馆复刻过来的,是个百分十九十的运气游戏,所以当刷新刷不到想要的卡的时候就会极大地影响心态,并且有很强的上瘾性,“如果输了主要是运气不好,下一把说不定就转运了”,在这样的想法的驱动下,我经常就是一局接着一局打,耗费大量的时间。

不论是去年秋招,还是研三论文的撰写,以及工作之后的休息时间,星际酒馆都耗费了大量或者说全部的时间,导致本来该做的事情没时间做,本来应该能 do better 的事情最终只是 done。

不过抱怨过去的种种也没用,希望今年借着星际争霸2国服停服的顺风车把星际酒馆戒掉吧。


业余时间

参加工作之后我基本上有两套作息:

  • 十点到十一点下班,凌晨一点左右睡,早晨九点多起床,赶不上班车只能坐地铁
  • 十点前下班,十二点左右睡,早晨八点多起床,赶班车去公司吃早饭

我现在在每日工作量不大的情况下尽量使用第二套作息,除了早睡早起跟健康外,地铁和早餐的钱也可以省了。

上一节也提到过了,不论是上半年的最后的学生时代还是下半年的初入职场,星际酒馆都几乎占用了我全部的业余时间。今年看的书,不论是技术类书籍还是杂书都比较少。额外的学习时间不多,并且没有一个完整的学习计划。运动的时间也大大减少,天天看电脑感觉视力也有所下降。以上种种导致我内心一直都很浮躁,一有空就刷短视频看游戏直播,这种状态非常不健康。

在基于彻底戒掉星际酒馆这个大前提下,今年我希望利用空余出来的时间多看看书/有意义的长视频,对于碎片化的时间可以用来思考之前学习的知识做过的事情。

“一只站在树上的鸟儿,从来不害怕树枝断裂,因为它相信的不是树枝,而是翅膀。”


首份工作

我不清楚我入职前是怎样的,但是我入职之后给我的感觉是百度的组织管理有些混乱,“开猿节流”之后,很多中高阶 t 的员工都离职了,尤其是北京总部那边,而且对于搜索这样的核心部门也存在这种现象,导致出现了 t4/t5 向 t7/t8 汇报的情况,中间出现了断层。我所在的团队现在既要维护现有的离线垂搜模块,又被合到北京的大搜部门参与到那边的模块维护和业务开发中,导致工作量陡增。

垂搜离线这边的模块众多且负责,并且对接的业务也很多,平时值周的时候压力很大,基本上没空干自己的开发工作,时间都用在了解决业务咨询/查bug上面了,并且人员流失很大,对整个系统完全了解的人很少,存在很多前人埋的坑。

各个模块都是用 c++ 写的,和运维相关的脚本使用的语言是 python ,这两兄弟我都不太熟悉,所以在开发的时候总觉得有力使不上,目前还是熟悉中。

之前也提到,各个模块间是用 Kafka 进行通信的,看内部文档,这个是团队在接手垂搜离线之后进行改造的。这样的设计非常优秀,通过 Kafka 这样的消息中间件进行模块间通信的解耦,不但可以实现流量的削峰,而且可以实现无侵入式的 Trace 以及全链路数据回放,非常有利于问题的排查。

在日常开发和维护模块的过程中我一直都在思考如何能提升效率。对于要接手的 Kafka 和 Mongo,针对日常运维时存在的痛点,我开发了相应的 cli 工具,当然,是用 Go 写的,Python 就算了。例如当查询一个 Kafka 集群中存在的无主 Partition 的信息时,用 Kafka 自带的 cli 工具查询的速度实在是太慢了,因为目前几个 Kafka 集群中有两三万个 Partition,用现有的工具查询所花费的时间基本上是以分钟为单位的。由于 Kafka Partition 的信息都是存放在 Zookeeper 中的,我写的 cli 工具采用并发获取的方式从 Zookeeper 里获取数据,基本上能在 1 分钟以内获取到全部的信息。

在职场中,我学到了一条基本准则:“做事要靠谱”,也即”凡事有交代,件件有着落,事事有回响“。要及时同步进展,纠正方向;及时同步风险,求助有经验的同事事半功倍。

办公环境我还是挺满意的,工位挺大,不过对于办公设备就一言难尽了。13寸 mbp cpu 和内存都是最低配置,CPU 还是 i5 的。虽然是云端开发,但是浏览器 tab 开多了或者用公司的在线文档进行编辑都会卡的不行。23 寸显示器看的眼睛都瞎了,以至于我忍无可忍在双十一的时候自己买了一台 u2720qm 放单位。


新增装备清单

  • Obsidian;软件;免费
  • MarginNote3;软件;280元
  • iCloud;服务;6元/月
  • dell u2720qm ;显示器,一台放单位一台放住处;3600元/台(7200)

其它

补完了银英 ova,非常厚重!

本年的相合之物和赛博朋克都不错