记2022

2022 年过去了,我不想怀念他。

一年一更的年记(流水账),终于在大年初一开始动笔。最近先后忙于论文开题与实习,终于有精力抽出时间开始回首这一年的林林总总点点滴滴,每年一更的年记既是记录也是总结更是对自己的督促。

如果让我来评价我的 2022,我会用稳中向好来描述它,这一年不紧不慢地过去了。这一年由于疫情管控的原因,我的大部分时间都是在校园中度过的,校园生活相比以前可以出校浪荡的时光总是那么的单调乏味,好在我的生活可以被很多东西填满,因此这一年过的并没有想象中的那么无聊。但这一年也没有想象中的热火朝天忙得不可开交,一切都是有条不紊的进行,如果让我给 2022 年打一个分我觉得会是 6.8 分吧。

反反复复的疫情让我没有太多时间可以去校外放荡,因此这生活只能就只能在西土城路 10 号院这片小天底下展开了。我的校园生活现在想来是那么的单调,每天宿舍——食堂——实验室——体育馆几点一线,白天在实验室坐牢,午饭晚饭和女朋友厮守一下,晚饭后健身房羽毛球运动一下,洗完澡后和女朋友游戏电影,这一年下来几乎没有几天跳出了这个模板。对我来说这种生活是没什么的,可能本身我也算不上一个爱玩的人,但是女朋友时常的抱怨加之今年她并不顺利的求职经历,不由得让我担心是否应该尽量给她的生活注入一点欢乐?

摸索

自己看来我应该是一个对事业看的比较重的人,这一年大部分的时间都花在了提升自己能力上,2023 届毕业生的惨淡求职情况不由得不让人担心,因此丝毫不敢松懈,尽力为自己的简历再添上一点经历,以便自己可以在求职时有更多的选择。2022 年上半年对互联网的唱衰便此起彼伏,论坛里几百楼回复的那个关于劝退互联网的贴子至今仍可以轻易找到,不由得不让人对就业前景产生担忧,那时候技术上基本只停留在了低并发的 WEB 系统的开发上(🐶),于是想要开始尝试做一些能够提升自己能力的事,迷茫的我在 2021 年底开始接触分布式系统,翻了翻野猪书,也开始写 MIT 6.824,最后报名参与了 Talent Plan 开始写 TinyKV,但遗憾由于第一次接触相关内容在 Project 2 处花了大量时间最终没能完成,于是 2021 年记中给自己定下的目标便是可以完成 6.824 和 TinyKV 中的一个。

2022 年春节过后回到学校后无可事事的我,每天在实验室的生活便是代码随想录与 TinyKV,虽然不知道怎么做是最有用的,但起码不敢让自己停下来,就这样平淡的度过了开学前的两个月,慢慢悠悠的写着,到五月中旬的时候,我把之前的代码都梳理了一遍,也基本完成了 Project 2 的内容(参照了大量前人的文档,基本每天都花了大量时间在 debug 上),恰好这时候我听说了 GSOC 由于向往谷歌这块招牌,我对此跃跃欲试,但无奈浏览了相关的介绍后发现难度过大而且很多项目都是老外主导的,沟通起来也存在一定障碍,并且由于接收的是来自全世界学生的申请导致他们的要求比较高,对于第一次参加开源项目的我来说能够申请到的可能性并不高因此遗憾放弃。

Google Summer of Code

不过巧的是后面在 Talent Plan 的群里又见到有同学推荐 开源之夏,这个相当于一个国内版的 GSOC,形式类似:报名申请——为开源项目贡献代码——结项发钱,不过由于申请者主要来自国内竞争压力小了很多,所以见到这个的第一时间我就决定要报名了,不想错过这次宝贵的机会,因为说起来研一结束的暑假是我开始实习之前最后一个可以用来做一个完整项目的时间了,那时候基本隔个几天就要打开项目列表的界面,看看又多了几个项目,有哪些项目是可以申请的,每个项目看起来都非常高大上,让我望而却步,但又由于想要挑战一下自己而跃跃欲试。

img

后面在 6 月初的时候豪哥又向我们安利了字节青训营,抱着试试看的心态也交了报名申请,很巧的是在组队的时候遇到了一个曾经翻过我博客的学弟,他也尝试参加过 Talent Plan,因此碰巧看到了我博客上的内容,正巧夏季的新一轮 Talent Plan 又开始了报名,因此不甘心的他又想拉着我参加这次的 Talent Plan,盛情难却最终我开始三线并行。

不由得让人感叹圈子真小,这一点我现在更有感触了。

通过认识一个这个圈子里的大佬,通过他的社交圈子,就会发现他的好友是你曾经关注过的另一位大佬。

我在开源之夏的导师阳哥便也参加过 Talent Plan 并且最终拿到了 90 多分的好成绩,阳哥在知乎发的文章我以前曾经看到过,但只见其文未见其人,这次真正结识了。

在申请项目的时候我也没有太明确的目标,只是筛选出一些技术要求我能够达到的项目,并且不需要太多的前置知识,由于我的主力开发语言是 Go 因此适合我的大多数项目都集中在了云原生领域。几经筛选之后我确定了几个项目,起初我对于申请项目还是很小心,为了确保在前期与项目导师交流的的时候可以有的放矢,我对于申请的项目都进行了研究,我首先看了看 Dubbo go 的 SDK 移植的任务,因为觉得 Dubbo 的名气比较大,如果可以承担这个任务后面可以算是很有含金量的项目,但看了下对于 rpc 理解不深的我并没有得出什么有意义的想法,然后又胡乱看了看混沌工程的项目,但最后也不了了之。最终由于我之前听说过 KubeVela 于是就将目光集中在了这个项目上,我首先尝试的是雾雾的项目:为 KubeVela 中的 Cue Actions 添加版本管理,我当时对于 CUE 是在 KubeVela 中发挥什么样的功能并没有一个很明确的概念,只是觉得既然是版本控制那似乎可以参照 Git 的实现原理来做,就给导师发了一封邮件大概说了下自己的想法,但加了微信详细交流后发现,似乎跟我想的相去甚远,于是备受打击觉得可能这个项目的申请可能要凉凉了。

不过我看了下后续申请者的申请书,他也提到了参照 Git 的原理来做,或许我的总体思路还没错?

由于当时已经简单看了 KubeVela 的文档,当时的项目的功能还没有现在这么多,大概看了下如何发布应用、组件、工作流等内容就大概清楚了该项目的主要作用。由于有了一定的基础所以就打算再看看社区的其他项目,这时候就看到了阳哥担任导师的项目:提升KubeVela生态下应用状态的可观测能力,其实我一开始也对这个项目具体要做成什么样没什么概念,但我看到了这个任务的雏形:Github 上有一个相关的 Issue,里面有关于这个任务的具体描述,这样我就对这个任务有了大致的想法。为了得到导师的认可,我去阅读了 VelaQL 的相关代码,然后给阳哥发了邮件,阳哥很快来加了我微信,并对我表示了赞许,后面交流中才知道,他对我一开始就有耐心看源码的行为很欣赏,这一点也是他后面选择我而不是其他同学的重要因素。

这里其实还有一个小插曲,我一开始以为我做的东西和 VelaQL 关联性很紧密所以就去翻看了相关的 Issue,我突然发现有一名中科院的同学在做相关的开发,这时候我就有点慌了,我担心她把这块工作做了那我后面岂不是没东西做了,如果做别的我可能还要重新上手。好在阳哥跟我说那个同学参加的是一个别的项目,他的工作完成的不太好,只做了很小一部分(甚至最终烂尾了),所以阳哥希望我后面可以把这个项目做好,以至于后来他对于我是否有在推进这件事很关心。

最终在和阳哥交流了几次后,我选择参加了 KubeVela 社区的活动。

KubeVela 是一个现代化的软件交付平台,它可以让你的应用交付在当今流行的混合、多云环境中变得更加 * 简单、高效、可靠。

KubeVela 目前是 CNCF SandBox 项目,但已经开始提交申请成为 Incubating 项目了。

成长

我负责的项目是为 KubeVela 开发一个类似一个 k9s 的 CLI 工具,该工具不与于 k9s 的是,该工具是与 KubeVela 资源层级紧密适配的,最终这个工具被命名为 vela top,在 KubeVela 1.6 版本中被推出,我作为该工具的维护者负责后续代码的维护工作。整个暑假以及开学初两个月的大部分时间我都花在了 vela top 的开发上,从 7 月初开始构建项目的雏形,到 8 月底完成了工具雏形提交了关于 vela top 的第一个 PR,再到 9 月 10 月不断迭代项目,逐渐完成了资源展示、资源筛选、YAML 查看、日志浏览、资源拓扑等一系列功能,原本以为会在 9 月份收尾的项目因为一直进行迭代,到项目截止前的 10 月底才算是基本完成。当然后续 11 月我又修复了资源拓扑由于网络 I/O 导致加载过慢的 bug,12 月完成了自定义主题的功能。

项目经验分享|韩孟男:提升 KubeVela 生态下应用状态的可观测能力

我也真的很荣幸能有阳哥作为我的导师,虽然阳哥比较忙但是还是坚持让我隔一段时间汇报下进度,在和阳哥的交流过程中我学到了很多,阳哥不单在完成项目方面给了我一些指导,而且在职业发展方面也不吝啬于给我很多建议,在和他相处的过程中丝毫感受不到导师带来的压力。在完成项目的过程中,社区的其他成员也对我的工作表达了认可,虽然在我看来他们都是很厉害的大佬,并且自己完成的工作其实在技术上并算不得什么,但是他们还是对我这样一个开源小白表达了鼓励和认可,增加了我参与开源建设的热情。很荣幸项目负责人天元对我开发的工具表示了肯定,甚至还将我的 Demo GIF 发到了推特上,我也和 KubeVela 组内的同事都混了个脸熟。2022 年我一共向社区贡献了 27 个 PR,也很荣幸从社区 Member 成为了 Reviewer,又进一步成为了 Approver。

github

社区证书

在得到社区认可的同时,社区向开源之夏的组委会推荐了我,进一步对我的工作给予了肯定,在社区的推荐下,我很荣幸获得了本届开源之夏的突出贡献奖。

开源之夏证书

今年除了参与开源之外,另外一件让我自己觉得还算成功的事情便是今年一直在坚持刷 leecode,虽然没能做到每天都刷,但是整体上也算是坚持了一年(最近开始松懈了,已经半个月没刷了😢),但自己感觉还是很菜,犹记字节一面反转链表写了半天没有 AC,希望能继续坚持把,至少保持现在的水平吧。

leecode

leecode

12 月初,在疫情管控解除也就是北京疫情大爆发前夕我从北京匆匆逃离,在和豪哥在牛街短暂合住一晚,并在第二天一早在街头就着清晨的冷风与晨曦吃过早饭后,我踏上了回家的旅途并顺利在到家的第三天被告知成为了一名密接,又在社区与疾控的来回踢皮球中度过了居家隔离的反复被蹂躏心态的一周。不过相比我的好多同学,我还算得上幸运感谢我的城市并没有兴建方舱,不然我也许也会和他们一样成为方舱的最后一批入住者。

居家隔离的一周,我也并没有闲下来,在准备面试和参加面试中度过了这一周,由于事发突然本来做好 1 月份放假的打算的我,在离校之前并没有投递太多的面试,因此在离校期间匆匆投递的几家公司,有回应的也寥寥几个,不过这也可能与寒假期间各家公司并没有太多招人的打算有关。最先联系我的是 smartx,对于以技术见闻的这家公司我早有耳闻因此对于这次面试也尽力好好准备,面试过程也还算顺利因为有前面两个看起来还不那么水的项目经历,因此除了一面以外对于八股的拷打并不算很多,因而我侥幸顺利通过了面试,一周 OC,由于当时 smartx 同意我年前可以先远程实习,此外考虑到我的寒假时间本就不多,加之我迫切想要在寒假添加一段实习,因此在顺利通过面试后我并没有太多犹豫就接下了 offer,在 12 月中旬入职了公司。

不得不说上班真的是太累了。

遗憾

虽然今年收获了很多,但也并不是没有遗憾,还好我对人生中遗憾才是常态已是了然,塞翁失马焉知非福,今日的遗憾改日看来也许是另一种幸运,因此我并不因为去年的遗憾而后悔,姑且记录而已。

  1. TinyKV 烂尾:上半年在实验室的时间大部分花在了完成 TinyKV 上,但最后实际上也没有全部完成,Project3 的部分并没有全部实现,后来参加了新一届的 Talent Plan 花了一周时间搞定了 Project 4。算是有一些烂尾。
  2. 实习计划搁浅:上半年时本打算找个实习,但也只是有这个想法,并没有实际的计划,只是觉得应该做点什么,让自己以后走的容易些,但迟迟没有行动,后来忙于先后参加了字节青训营、新一届 Talent Plan、开源之夏,加之准备的并不充分因此迟迟没有开始投递,最后这个计划也不了了之,不过后来听说蒋总找到了微软的实习不由得羡慕。💔
  3. 字节青训营烂尾:这个在我预料之中,这种组队完成的项目需要队长需要对团队有较强的把控(团队分工、进度把控等),当时团队缺少一个这样的队长,我有心但苦于没有精力当这个队长,所以烂尾在意料之中。
  4. 实习投递过少:由于离校突然没有投递太多简历,准备的也不充分,收到 smartx 的 offer 之后也没有太考虑便接下了。也许再试一试会有更好的也说不准?
  5. 开题过于草率:这也是无奈之举,不过开题这件事身不由己,最后只得开了一个水题目,后续还不知道该怎么办。💔
  6. 能力提升有限:今年这一年在技术上并没有太多的长进,接触到了 k8s 但也仅限于了解概念,对于内部的原理知之甚少,想要探究的 operater 也最终计划搁浅,假期想要补充一手 Java 计划也不了了之,恨自己精力有限也恨自己学习能力不行。

展望

2023 年对我来说也算是非常关键的一年,这一年实习、秋招、中期答辩会接踵而来,估计会是非常忙碌的一年很多重要的事情都会在这一年发生,但现在看来这些重要的事情我准备的一点都算不上充分,主要是实在精力有限,加之这两年愈发觉得健康比薪水更重要,所以还是打算不把自己逼得那么紧,一步一步慢慢来,真正重要的东西其实在我身边,舍本逐末并不可取,临渊羡鱼不如退而结网。

明年有精力的话我希望能够弥补的一个遗憾是多读一些闲书,看着身边的大佬们有时间完成工作任务的同时还有时间抽出来陶冶一些情操,对此我十分羡慕。今年基本没人怎么摸闲书,更别说完整看完一本书了,明年争取弥补这个遗憾吧。

除了闲书之外,技术方面我也希望可以再深入一点,想来目前在技术上游荡无所事事的主要原因还是没有一个很好的机会来深入接触某个领域,一个很好的例子便是,通过开源之夏帮我迅速加深了对 k8s 的理解,这段在 smartx 实习的经历也让我从零到一了解了 cgroup 相关的知识。所以 2023 年暑期实习的经历也许还会帮我深入接触某个领域。

此外,如果今年秋招顺利的话,我想在寒假再能有一个出游的机会,工作之后可能这样的机会并不多了,所以能有一次机会我觉得应该珍惜,至于是和朋友一起或是和女朋友一起就再决定了。


祝好,2023!


记2022
https://siegelion.cn/2023/01/26/记2022/
作者
siegelion
发布于
2023年1月26日
许可协议