19 Sep 2021 | thoughts
现在是东京时间凌晨3点,北京时间凌晨2点,加州时间11点,第一次坐跨太平洋航班睡不着,不如来写写博客。
这篇博客有过很多个胎死腹中的版本:2021年第一天写了一个草稿,想做年终总结;拿到博士offer的日子动笔写了一个标题,准备回顾gap year;从阿里离职后想写一个见闻总结,最后都是因为懒只留下了标题和草草几行。
2019年末的红白歌会结束之后,整个世界无疑进入了全新的时代,太多美好的愿景化为泡影,试图去一件件事无巨细的记录下来只会平添哀伤。我虽然自认为是这个遗憾为主旋律的时代里较为幸运的那个,但也有着不少不快。因此与其按时间序记录,倒不如记下一些印象深刻的碎片,留给事后拼凑,尝试管中窥豹吧。
首先无疑最重要的是gap year,gap这件事是大四上填申请填到自闭的夜晚里确定下来的,无论如何还是想读个博士研究自己喜欢的东西,同时更不愿意选择大花父母积蓄读个硕士,就这么莽撞的定下来了,虽然鸿智几度劝说我,我最终还是选择赌一次。我是做好了落后同龄人一年的心理准备,但没想到疫情的到来让很多人被迫gap,阴差阳错,我们从本应是前辈后辈的关系又成了同级生。
当然疫情也严重破坏了我原始的计划,我在大四上末期陆续通过个人联系和学校项目联系到了日本NII一位教授和UCSB的闫老师做两段交流。我非常期待NII这一段交流,因为能够去日本呆4个月,能参加日向坂的握手会。换好了日元,看好了房子,甚至研究了从国立研究所附近出发的晨跑路线。直到他们内部开会帮我提出COE的前一天,日本政府宣布了中韩的禁航,至此希望彻底破灭。而美国对中国的签证封锁则完全阻断了我去到UCSB的希望,于是我只得和老师商量修改计划,把UCSB的暑研提前。大四最后的日子里除了做做毕设就是在打只狼。在去交毕业资料同时也是大四下第一次回学校的路上,UCSB的暑研开始了。我对这段暑研报有了很高的期望,希望真的能够通过半年的远程科研做出一篇一作文章出来。但结果证明,14个小时的时差和不充分的沟通,换来的只有我一个个熬过的夜晚和推进不动的进度。当然这还不是最糟的,提交完推荐信后我换到了另一个项目去做,这带来了一个极大的误会,具体发生了啥也许又能写满一篇博客,所以在此略去,如果有人想听可以请我一杯咖啡我们当面慢慢唠嗑(虽然我觉得会看我博客的人每一个都听过我讲述这个故事了)。
如果只看到这里,我的gap year可以说是凶多吉少,没有任何实质性的科研进展,拿不到高强度推荐信,更甚者是可以说激怒了一位推荐人,怎么看都是难以翻的盘。有心栽花花不开,无心插柳柳成荫。我的转机来自于我大三时一人单挑了编译原理的大作业,对编译器产生了强烈的兴趣,进而给mypy贡献代码,进而申请到gsoc 2020,和Jukka度过了一个非常愉快的编程之夏,也拜托他写了一份来自工业界的推荐信。而开发编译器的能力也让我成为了胡渊鸣GAMES201的助教,课程结束后,他问我有没有兴趣参与重构Taichi的类型系统,做一个可以发论文的工作,对一个没有一篇论文的本科生来讲,这种话语的诱惑实在太大了。项目实际开始是12月了,因为在此之前渊鸣在忙另一篇投稿,把那一篇的文章都写完我们这里才开始写代码,但渊鸣的统筹规划能力可以说是恐怖,我们每一步都完美按照计划一个一个时间点顺利的走下去,最后这篇文章也顺利中了。和渊鸣合作的时候,正好是我在闫老师那边连续两个project碰壁的时候,现在反思,一味急着赶代码出结果,不如先花充足的时间把问题想清楚规划做好了再动手。后来在面达特茅斯的时候,听朱博老师说渊鸣这篇文章从两年前就开始有想法了。总而言之,这是一次非常愉快的论文体验,我从渊鸣身上学到了很多很多。
而这无心插下的柳枝,变成了我博士申请资料中最受关注的环节。我在12月28日拿到了第一个博士面试邀请,来自我本科时很喜欢的differentiable ray tracing文章的作者子懋。面试时子懋告诉我他对我的mypy工作很感兴趣,并建议我highlight它,听从学长建议不把工业界相关内容放在博士申请资料里的我大受震撼。面试进行得很顺利,我隐约感觉子懋很想招我,我也很喜欢子懋做的research。因为我从一开始就没申请四大名校,能去UCSD和心仪的老师读博已经是我的彩票选项了,所以我并没有在选择上过多纠结。当然了,我也没有太多选择,后来还面过UCI的赵老师和达特茅斯,最后赵老师给我发了,我也很喜欢赵老师做的工作,但最后还是选择了更交叉一些的SD。
总而言之,等到尘埃落定的时候,才意识到博士申请积淀了这么多年的资料在这短短一个月,一两次面试里就被做出了决定,令人感慨。对我来讲,我算是为自己的gap year交上了一个自我满意的答卷。
还有一些围绕gap year申请这个大主题下的话题。首先是开源,我参加了20/21两届gsoc,分别是在mypy和julia写编译器,两次的体验可以说是完全对立,在mypy,我们做的是重构,我们知道输入输出应该是怎样的,可以基于现有的代码逐步修改。而在julia,我们做的是从0到1的工作,我们不知道从哪里开始,不知道该在怎样的例子上表现出怎样的行为。某种程度上mypy像是在大公司当一颗螺丝钉而julia则像是在学校做科研,总而言之,两个都是很有意思也收获颇丰的项目。其次是实习,抱着提高自己编译器开发水平的期望,我找几个同学内推了阿里和字节,阿里的传统编译器组拒我拒的太快(不招RA)而深度学习编译器组有面的太快,正好字节还要面我不擅长的数据库和计网,于是就快速入职了阿里。没想到的是在阿里最重要的事情还是写代码做实验投论文,虽然没中,但我对这篇文章的行文的修改多到足以称为我重写了这篇文章,这也是我主导文章的写作,也算是颇有收获。当然,在阿里更重要的不是做了什么学了什么,而是听到了什么看见了什么,大公司里工作以外的部分才是醍醐味所在。
如流水账一般写完了大部分重要的事情,但除了科研、工作、代码,生活中多少需要一些盼头,而这盼头就是金村美玖。19年某个自闭的夜晚突然被她的博客迷住,20年第一次抽个握就是她第一次前排,2年以来,她已经从二排的中坚,成长为了团队的新center,我一路见证着她的点点滴滴,有时候把她当女儿,有时候把她当女友,有时候把她当老公,会因为她没有资源而愁眉苦脸,会因为她获得非她不可的出演的一周睡不着觉,会周末早起到公司租会议室为了和她视频时网络流畅,会找人翻译润色给她写需要分成六次发送的长信。偶像贩卖的是幻想,而这种幻想则是过去两年在这灰暗的世界里支撑我一路走来的仲間。以至于,临走前几天,和叶先生吃完饭,聊到是应该拿20岁的青春去追梦,以便30、40的自己去享乐追星,还是抓住当下去大胆推自己的偶像,以免之后再也没有机会,我给不出答案,但我做了选择。只希望接下来我能够在大洋彼岸继续见证她的点滴,虽然已经开始显著变难了。(后记:比起看到她站在三排没有资源更痛心的,也许是看到她当了来之不易的center之后却获得像placeholder一样的对待,只能说还好我没去早稻田念修士,不然也许真的会忍不住火烧种子花合同会社)
写结尾往往是最难的,如今我坐在圣地亚哥的新家里,在自己拼好的家具上写着最后这几行,新学期开始一周了,下周research也要正式开始了,希望自己能够把博士顺利读完吧。
最后分享我在路途中拍摄到的一张,在九州的一万米高空,日月交织在小小的机舱窗外: