Amethyst Studio
2276 words
11 minutes
2024年度总结

2024是迷茫和纠结的一年。

从2016年决定All in计算机,到2021年从北卡罗来纳州立大学硕士毕业,再到2023年底工作两年。应该说,我很少有像这样迷茫的时候了。上一次如此迷茫,基本上是2016年之前刚读大学那会儿。而迷茫的原因,也与2016年之前类似,我不知道自己该干什么了。

2016年之前,我在药科大学读书,每天研究高等数学,有机化学,药理学,普通生物学,还看点生物信息学和遗传学。那个时候正好是MOOC刚刚兴起的几年,除了常规的课程要求,我还刷了不少MOOC,拿了不少证书,还自学数学分析刷《吉米多维奇》那些厚厚的练习册。把日子排的满满当当,在外人看来,我是个相当勤奋的学生。

但是越学,我越觉得不太对劲,掌握了这些知识,到底有什么用?

这个问题很关键,老子说,“吾生而有涯,而知也无涯”,知识是无穷无尽的,穷极一生也没法学完,但是大学就是四年,即便加上硕博,不过是多出几年,总要毕业的,到时候,学到的知识能否让我应对诸多挑战呢?

大约是经过2015年加上2016年上半段的艰难思索吧,我最终意识到知识与知识还是不太一样的,不能为了学习而学习。恰好2016年是Alpha Go横空出世的一年,计算机,AI,Python,机器学习和深度学习等概念层出不穷,知名MOOC平台Coursera当时还近乎是个纯公益平台,网易的丁三石也没现在那么贪得无厌,搞了全免费的中国大学MOOC,我也接着这股东风在Coursera上学习Python编程和计算机知识,逐渐发现自己还是挺适合计算机专业的,于是产生转计算机的念头,又在中国大学MOOC上学习了全套的计算机课程。

2016年中,做了决定,抛弃旧的知识,开始All in计算机。


时间一晃过去7年。

2021年5月,从美国北卡罗来纳州立大学计算机系毕业,毕业前一年决定搞程序语言和编译器这个方向。之所以做这个方向一来是出于对Julia和Python语言的好奇心,另外就是对时代的判断。在读研之前,我的看法是算法为王,但是读研之后,察觉到AI会逐渐从算法为王转变为算力为王,因为人们就是很难解释地清AI为什么会涌现智能这个问题。而猛堆算力就是能出现更高水平的智能,因而算力会逐渐成为资本市场的主角。算力,具象化一点就是芯片,有不同架构的芯片,必然会涉及到编译器和编程语言的问题,而国内几乎没有研究编程语言和编译器的好的大学,因此这样的人才必然极度匮乏,这是我2020年认识。也正如我所料,2021年投简历找工作时,投算法岗,前端开发,后端开发岗,结果均不尽如人意,编译器岗位却一投一个准。从在BOSS直聘上联系寒武纪的HR到正式入职寒武纪,还不到十天。

又一晃,两年多过去了。

到了2023年底,这个时候,我已经阅读了大量的C++技巧的书籍,剖析了一些知名开源库的实现,也自己写过完整的C和lua编译器,也在公司内部尝试做自己的工具来提升开发上效率。2023年底我对我的技术水平,应该说还是相当有自信的。

但是,我却再一次陷入迷茫,因为我不知道接下来要怎么办了。


我确实知道了不少东西,譬如C++,我知道很多奇奇怪怪的技巧。市面上的面试官除非刻意挑一些非常偏门的问题,否则不太可能考倒我。但问题是,能应付面试官就够了吗?我能因为回答出面试官的所有问题,就可以获得很高的职位和薪水吗?难道公司会因为张三懂C++里的“什么是完美转发”,就每个月多开5K,李四懂C++里的“SFINAE”,于是李四就去做PL或者SE?然后来个王五,他用动态规划做出了接雨水这道题,于是公司让他当了技术总监?公司是这么招人的吗?

更为关键的问题是,到底什么是技术?知道C++的左值右值,Rust的生命周期,或者Haskell的Monad,这些真的是技术吗?知道了这些,我就可以成功升职加薪当高管了吗?

2024年的上半年,我想到了这些问题,开始进入到迷茫的状态,有的时候跟AI聊天,有的时候在知乎上看看帖子,也去别的公司面试,跟不同公司的人交流。我迫切地想要知道,什么才是技术,什么才是有用的技术。

我去了不少公司的面试,大的有字节,阿里,华为,小米,讯飞,小一点的有太初,遂原,乐鑫,也见到了一些公司的高管,还见到了寒武纪编译器开发的前高管。不过没有得到满意的回答,每个人对于这个问题的看法都有些不同,有的人说技术不重要而业务重要;有的人说技术不重要那是因为你技术还没过关。我不知道谁说的才是对的,但我想,可能最关键的是还是自己怎么看,别人的看法未必就是最适合自己的。

不过到了8月份,还是朦胧地悟到了一点,就是技术的目标是要提供价值。

但仅仅是一点而已,尽管朦胧地意识到了“价值”这个问题,但价值又是什么,如何才能发现它,如何去提供它?这依然是问题。


9月份,Moonbit语言搞了一个编程语言竞赛项目。读书的时候我做过不少算法竞赛,经典算法和AI算法都参加过,程序语言类的竞赛还真是没怎么参加过。正好我也研究了不少编译器了,也是时候考验下自己。虽然还有工作,不过反正平时休息时间也充足,就参加一下。

两个半月很快过去,我对于冲顶的兴趣没有那么大,毕竟是已经工作的人了,比赛中更想要多探索一些东西,譬如一些模式匹配怎么实现的,如何自己设计语法,如何做一个小的LLVM之类的。悠哉悠哉地做,到了11月初才第一次交,好在最后名次还不错。

这次比赛除了自我检验,让我回顾一下过往学习的知识,让我头一次全权构思一个项目,更重要的是:

通过Moonbit这个尚处于幼年阶段的编程语言,我突然明白过来什么是技术,什么是价值了。

技术不仅仅是哪些小trick,技术是提供价值的方法,它可以是一整套方案,也可以是一个一个的技术点,但是关键的问题是它必须要与你所提供的价值相匹配,价值是目的,技术是实现这个目的的手段。而什么又是价值,价值是对人有用的东西,要么提升人的效率,或者降低人的成本,这个人可以是别人,也可以是自己。

而我过往数年一个问题就是,我期望积累技术,但是却忽略了价值,我醉心于研究C++或者Haskell的一些trick,但是却不清楚这些trick在哪些场景下,又为谁提供了价值。

尽管我说,这是一个错误,但是这个错误是我必然要经历的,因为技术必然要走在价值之前,没有技术,你其实很难发现价值。也正是因为过往对技术的诸多研究,让我开始思考当下各种编程语言,各种编译器框架,各种开源项目的不足之处,从而知晓我如何创造出有价值的东西。


2025年1月到了,再过十个月,我就满三十岁了,回望过去的数年,我庆幸自己每一次在意识到自己已经身处温水的时候及时改变自己的策略。希望2025年自己能够多做一些有价值的事,为自己这十年给出一个高分评价。

2024年度总结
https://ziyue.cafe/posts/annual-summary-2024/
Author
Kaida Amethyst
Published at
2025-01-11