0
熟悉我的人知道我去年因为花了太多时间在副业上(指飞行和德语), 科研几乎中断。 年底一直在改论文, 怎么改也不中。 剩下的时候也想不到什么科研项目去做, 老板处于不闻不问的状态。 于是十月底得知一个同学quit的消息成了最后一根稻草。
看不到毕业的希望就开始寻思是不是应该quit。 瞎投了一堆简历, 结果刨开OA收到面试的几乎只有Nvidia。
所以目前这家公司在我心中好感度非常高
在面试里聊来聊去还是觉得自己水平有所不足。
一些我曾经以为我会的东西实际上我不懂; 一些我看得太简单的问题,面试官会告诉你难在哪里。
甚至遇到了LLVM NVPTX后端的原作者, 也是个Ph.D., 趁着机会聊了聊职业发展。
前前后后算上三个virtual onsite(把两个反义词组合在一起真是疫情特色)也聊了二三十号人, 很感激各位面试官。
遇到会聊的, 过不过都会聊的很开心, 非常符合我低落的情绪需求。
真正的强者会笑嘻嘻的把你拒了。
Nvidia只有一半在做题, 的和我听到的“onsite6个人4个做题两个bq”这类消息非常不一样。 另一半则是非常硬核的编译器, 体系结构, 操作系统。 就纯聊, 说到哪问到哪。 我后来给朋友的建议就是, “不用准备, 考试范围没有边, 靠基本功硬抗”。
最难的是有个onsite, leader问我从头开始设计一个操作系统有哪些部分。
来把恐龙书的目录背一遍, 然后我们随机抽查其中的章节。
这个问题问出来当时真的有腿软, 因为知道下面这个面试官有一万种置我于死地的问法, 但还是得硬着头皮答下去。
同时面试做题有个特别, 就是这个过程能让人自我感觉良好。 我说我去年写了一年的代码被人批判成shit, 面试半小时写代码有及时反馈, 写得好会被夸写不好可以学到新的东西真的是奶头乐。 比打游戏快乐多了, 打个游戏还有傻逼队友呢。
(我知道对还在刷题苦海的人来说,这话可能非常凡尔赛,我的建议是不要轻易读博)
最后收到俩offer。 一个Xilinx, 我投简历的时候JD没看清, 以为是和我做的自动化测试比较接近, 其实是(我觉得)没什么发展前景的OA, 就给拒绝了。
另一个是Nvidia的自动驾驶, 做底层可信计算的操作系统。 这也是我最意外的offer, 他问我操作系统的问题我觉得没答好。 急着招人当时六月就要我入职, 但是面试完了都快四月了。 HR给我发offer的时候我前一周刚签了Xilinx的暑期实习,我一边问HR能不能九月入职, 一边问学校小蜜能不能九月毕业。 结果HR一周没理我, 错过了学校九月毕业的deadline… 当然这个HR之后还缠了我俩月想让我九月去实习也可以, 这就是后话了。
现在想起来, 如果当时照着朋友的建议, 撕了Xilinx的实习, 光速毕业, 现在可能已经在San Jose打工了。 还有朋友建议反正Xilinx已经被AMD收购了进了AMD再转组也不是不行。
但我什么都没干, 淡淡的reject了两个offer,因为一想到打工就有一种不真实感。
一开始是以为两个offer的工资都给低了, 觉得自己在贱卖, 心里有点不服气。 但随着和我一届的朋友已经开始升职加薪结婚养娃, 聊的话题也向股票包裹房子收敛, 我总觉得我可以做的比这多一些。 就像我想养狗但我又不想养狗, 很难去想象这种上班的生活。
我后来知道我的不真实感来自于settle down的想法。 读博当然是有各种各样的痛苦, 半夜为了论文睡不着觉在床单上哭泣真不是一句笑话而是真实写照。 但是世界那么大年纪那么小, 只要还在读博就有各种各样的可能。
我会想起很久以后乔神会和我说的那句话:
“对Ph.D. 来说 settle down 是想都不敢想的。”
说这句话的时候我们在高速101上刚好路过Google南湾办公室旁边的Moffett机场, 跑道中央的白灯和滑行道两边的蓝灯一闪而过。 Google的创始人拉里·佩奇和谢尔盖·布林的飞机就停在这里。 拥有一架自己的飞机算不上是什么new year resolution(就算是也实现不了啊), 但和高攀不起的房价比却是最近白日梦的主要主题。 说到这我就想明白了。
是的, 我还没有准备好settle down。
1
去年11月5号考到了私照, 所以还有一个星期我就当了一年飞行员了。 去年花了27个小时在飞机上, 设备也从七八块老式仪表盘换到了两块液晶屏。 学会了自动驾驶以后飞湾区就更轻松, 除了起降几乎不需要我的参与, 能把更多时间花在看看风景, 拍拍照片上。
最近花的时间尤其多, 因为前段时间决定开始复训夜间飞行。 去年训练期间的夜间飞行体验非常差, 所以非常反感。 当时飞奥克兰国际机场, GPS说我还有5海里就到了, 我却连机场在哪里都找不到, 夜间光线太复杂。 我想盘旋一段时间, 但教练执意降高度。整个降落程序都是听着他指挥完成的。
“你听我的, 引擎1500襟翼10就现在。”
我从3000尺降到500都没找到机场, 直到最后和跑道对齐。 我说这太危险了,教练则认为反正只是练习要求最后又不考, 你以后可以不飞夜间。
我也就确实大半年没飞过夜间。 直到上次去湾区找朋友玩, 回来的太晚了, 回城一路看着夕阳拍拍拍, 一边担心我没法在天黑之前降落。
像极了急着回去还水晶鞋的白雪公主。
虽然最后还是天黑了, 但是好在Davis的机场没那么难找, 113号高速正上方就是downwind。 如果晚上有什么特别好找的, 除了月亮就是高速。算是有惊无险。
这次找了一个新的教练。 第一次训练去了一个没去过的机场, 我在10海里外就开始找, 我说我找不到。 教练说你再仔细看看, 你现在对准了机场, 应该就在你的正前方。
我提前研究过地形, 很快就找到了580高速横亘在视线中央, 一条黄点, 一条红点, 缓慢挪动就像搬家蚂蚁。
“那边是580, 过去就是2000尺的山, 机场应该在高速这边。 安全起见我不想飞过高速。”
“好主意。”
580另一侧是无边的黑暗, 靠我们这一侧也没什么有趣的地标。 很容易就能从路灯判断出工业区和住宅区。 一块一块检索过去, 白绿交替的信标突然就被我注意到了, 一闪一闪仿佛在眨眼。
“哦我现在找到了, 你看那个信标。”
这个过程快的让我自己都觉得意外。
这一年我的飞行技术有什么变化嘛?
如果有的话我反而觉得是没有想去年那么频繁的飞, 技术退步了。
上次复训因为20节横风太大对不准跑道不愧是我。
有次和另一个飞友聊到这个事情。 他说你飞了越来越多的转场(指起点和终点相隔50海里以上)以后有了看到20海里外的能力。 一开始我对此并不认同, 我说我确实可以更快的找到附近的飞机, 但是这不像是一个什么正经的能力, 3000尺上谁都可以看到那么远。
是, 但并不是每个人都能聚焦, 看到了不等于看见了。
直到发现我的朋友看不见大菠萝山我才相信。 Mt Diablo是一座湾区的山, 一直以来都是我在湾区飞行的导航点, 天气好的时候在Davis就能看见。 我和他指了半天, 他都说找不到, 当他终于看见的时候他说以为那时地平线上的云。
那时候我才意识到, 机场的信标一直都亮着, 只是我以前看不见罢了。
全油门, 起飞… 去看20海里外的东西。
2
除了飞行和找工作, 本来应该大把时间是应该用来科研的。 但是我第一次有大把时间自我安排以后, 多少有些懵逼。 上一篇论文失利以后尤其让我觉得科研没什么价值。
不想科研就去玩游戏。 年初的时候俩星期把Froza 5几乎打通, 吃鸡王者麻将样样来。 当时搞得我妈还很急,怎么这么小年纪打麻将去了(错
后来游戏玩玩到甚至觉得的无聊了。主要是人菜瘾就难大.
再和同龄人一比我的无所事事就更加难受。
那时候读到一个观点, 大约是说人的财富可能不一样, 但是每个人的时间是一样的。
这个观点很大程度上帮我决定了什么该做什么不该做。 因为发现没有社交价值的玩游戏就是在浪费自己的时间, 那就是自我贬值了呗。 从此我发展出了一套思维方式来衡量所有活动, 社交, 摸鱼, 科研都可以用:
如果我把这一个小时用来干这个事情, 我能有多少收获?
于是鱼还是照样摸鱼, 但是换成了看书, 起码有点价值。 最早读完的是我从书架上随便抄起的《霍乱时期的爱情》。 大师就是大师, 写文章不仅引人入胜, 而且觉得他装了摄像头偷窥我, 不少佛罗伦蒂诺·阿里萨的描写和我当年的心态不能说完全一致只能说大差不差。 说个题外笑话, 读书的时候和在date的女孩说我在读《瘟疫时期的爱情》, 不必说这种文盲行为并不能帮我赢得这个女孩的心。
读完又跑回去读了第三遍《百年孤独》。 大学读了两遍,第一遍就搞明白了人名(迫真), 第二遍才弄懂剧情。 正好去年是一段学着和自己独处的时间, 所以第三遍读的时候突然就领悟了很多以前读不懂的内容。 比如乌尔苏拉失明和上校的金鱼。 在没有人可以领悟你的痛苦的时候就只能自己憋着, 然后去做一些别人看起来意义不明的事, 而这其实是当事人唯一的解脱, 只是往往自己都不知道而已。
既然说到摸鱼, 就不能不提我今年开始追的两位偶像。 用一个小时来追他们不能获得什么物质上的价值, 但是会给我带来精神上的鼓舞。
一个是鞑厨高寒(B站Youtube都可以搜到), 一个是Marcus Warner(Youtube和Spotify可以搜到)。 前者是个西餐主厨, 后者是个音乐人。 他们一下能抓住我的点, 也是他们的共同点, 是他们都是和我年纪相仿的年轻人, 有一个追求自由的灵魂, 做他们想做的事情, 并且在他们的领域做出了一些影响力。
高寒已经在深圳开了好几家店, 他会把菜谱都扔掉和你说厨房是个很自由的地方, 做自己喜欢吃搭配的而不是别人让你吃的。 Marcus Warner则是留学的时候驾车自驾了整个美国, 把自己的经历写成了歌拍成了电影。 每次我觉得累了干不下去了, 就去看高寒的视频听Warner的歌, 总能给自己一些力量。
年轻的时候做出一点微小的贡献, 以自己的方式改变这个世界, 他们能做到我也可以吧?
3
计划是一手找工作准备quit,一手准备科研项目, 三月的时候有进展就不用quit了。 结果我三月的时候并没有任何进展, 除了找工作以外很多时间都在刷题, 看书和玩游戏这种奶头乐上。
几乎小半年没有和老板meeting。 也算是我想quit的半个原因, 老板都不问事儿了我还怎么工作。 但是之后才发现这个想法其实完全不正确, 我也没有理解老板的培养方式。
改变是从年初的一个想法开始的。 我想用RL做现在的一个问题, 于是买了本教材自学了一个月。 本来以为老板完全不care,但是和老板present的时候他给了我很多输出。 其中很关键的一个点是他觉得这个问题太大了, 需要细化一下。
于是我把问题细化了第一次, 和师兄讨论了一下, 觉得应该可行。 有了上次项目惨败的经验这次先做了个小实验, 七月发现还挺好用, 甚至这个小实验本身补充一下都可以成为一个不错的文章, which就是我现在在写的文章。
为什么七月的实验现在才出文章, 小半年一篇文章这个Ph.D.生产力不行啊
但随着我工作的展开我才发现老板并不是不管我, 而是从一个非常high level的视角管我。 或者说在他的视角里我已经是一个独立的研究员了, 可以管理自己的时间和进度, 不需要每周来检查一下我的进度。 这件事去年的时候还很不适应, 完全处于一个躺平的状态。 反正没有组会, 老板两三个月打一次电话很容易就糊弄过去了。
当我有了毕业焦虑的时候才会自我管理起来。 真正意识到我在自我管理的时候是早两个月和老板开会, 说是开会其实已经算是汇报了。 大致说了下过去的工作, 但是说完了觉得还有些补充。 想了想, 就顺便还告诉他我打算这篇文章的结构是什么样, 故事怎么讲, 实验怎么做。
说完突然意识到, 这是我以前从来没做的, 往往是老板布置一个事情, 做完了和老板汇报一下等待下一步指示就完了。 当然现在还是会摸鱼, 工作强度肯定也不如我高中的卷王时期。 经常某个下午困了就直接回去睡大觉或者下午三点去球场打球。 但是项目进度要自己去管理,在我看了算是一个很大的进步。
彻底明白老板不是在放养而是把我当成一个独立研究员则是九月的时候。 今年早些时候老板给了一个idea我, 这个idea和我正在做的idea是不沾边的, 而且觉得不太可行所以没有推进。 一直搁置了三个月老板也没有责怪我, 反而很理解我被现在的项目占用了时间这件事。 但是road trip的时候老板给我forward了一个邮件, 另一个老板有个类似的想法寻求合作。 于是拉着我和那个老板开了个会, 当时我还在Nebraska。
一开始还很心虚, 因为出来玩没和老板报备。 九点开会问老板不是晚上十点了嘛, 结果老板反问我说加州是十一点啊你在哪啊。 好家伙算错了时差当场暴露自己在外面旅游。 不过again老板也没有怪我, 似乎在他看来我什么时候在哪里是我自己的事情, 他不需要“微操”我。
而这场会议本身是他们有一些idea想写proposal捞点funding,老板觉得我的输出可能会帮到他们。 怎么说呢这是第一次坐上大人台面讲话, 当时还挺意外的。 这次会议给我的除了学术上的输出以外还有一种莫名其妙的使命感。
“你不走可就没人管你”的想法虽然不能催我早起, 但是可以让我三五不时的开始从更高的视角审视问题。 诸如paper怎么写这种以前可以甩锅给老板的问题现在都得自己想。
运气更好的是我现在的想法在去年面试的时候刚好和Xilinx的一个组匹配, 所以进了公司实习。 没想到进公司的时候Xilinx已经被AMD收购了, 于是简历上名正言顺的从Xilinx改成了AMD。
你是怎么靠自己努力进的AMD。
我自己没有努力, 是我公司努力被AMD收购了。
在公司遇到的老板则和学术老板非常不一样。 前者有非常接地气的项目经验, 更关心技术细节和实现, 会和你聊OOP怎么写。 这也让我和他会面的时候学到很多。 尤其是他偶尔来一句“Can you show me the code”, 能接上这句话, 直接共享屏幕是需要不少底气的。
夏天开始已经开始给LLVM直接贡献代码。
虽然只是一些bug fix, 往往也只有几行, 但还是会很有成就感。
改了两行代码就得修正二十多个unit test才不是“几行”呢
一个几乎所有程序员都要用的编译器, 而我在给他修复bug。
哪怕是百万分之一的改变也是以我的方式在让这个世界变好。
第一次提交代码的时候真的是战战兢兢, 非常担心提交错了被收回提交权限。
像极了大一第一次用git交作业的样子。
尤其是第二天凌晨收到编译机器的自动邮件说你的commit编译超时了真的有弹射起步。
事后发现是编译的机器太老旧了。
同时和开源社区的大佬沟通还是会觉得自己水平不够, 尤其是他们大多是各家大厂的senior dev, 总觉得有太多要学习的。
就甚至怎么写文档这种从来没想过的问题, 都会被细心的纠正。
怎么说呢一方面很感激大佬们对本菜鸡的耐心,另一方面也是我想在毕业前再去业界, 不做research就做sde的原因, 想去学点工业界的东西。
有实习机会欢迎来找我。
4
说说身边的人吧。 读博的一个特殊性就是身边的朋友几乎一直在换。 流水的硕士铁打的博士。
一些人离开了。 实验室的同学quit, 师兄六月毕业, 我现在是实验室的光杆司令。 去年的邻居也有好几个quit了博士, 所以几乎和我一起来的朋友都已经离开了Davis。 上一篇论文和我合作的朋友也离开了Berkeley去欧洲读博士。
最不舍的应该是Ernest回了国内工作。 最后在机场分别, 我帮他提着行李到了海关, 把行李交给他。 颇有点想拥抱他, 却不知怎么的没那个勇气。 于是拍了拍他的肩“有空去上海约饭”。 其实我们都知道可见的未来我是不会回去的, 少了一个可以聊天扯技术的好朋友。
也主动离开了一些人。 搬出了旧的地方, 和湾区一些聊不来的朋友也就再也没聊过, 不喜欢的酒局压根就没去参加。 但尤其记得去年底认识的一个人, 某晚软磨硬泡把我拉去了酒吧, 但喝来喝去除了我最讨厌的劝酒以外也没有任何收获。 我用一个晚上悟出了交朋友也和做事情一样, 我的时间不应该被浪费在没有意义的人身上。
找到对自己有益的人, 关注别人有效的输入, 抛弃无效社交, 不要犹豫。
运气不错的是遇到了新的朋友。 尤其是几位让我很欣赏的人无论是生活还是科研都很聊得来。 每周都在食堂车轮战一样的轮流约饭, 总能从他们身上获得一些有价值的输入。 和朋友们聊各自的research, 聊生活聊理想, 第一次获得了读博是有趣的感觉。
因为项目相似, 和18年带我的学长也重新建立了联系, 三五不时电话聊聊对方的进度。 同时过去两个月因为事情越来越多,招了一个大四的小朋友和我一起干活。 他是个geek, 所以很容易就可以和他聊创业, 技术和产品, 算是挺match。
我是不是说了match?
啊,今年又是单身的一年。别骂了别骂了。
今年有了各种各样成功不成功的尝试, well, 大部分是不成功的。
高雅一直在陪我掰扯听我倒苦水, 感谢高雅(
不过这些尝试确实给了我很多思考的机会。 Road trip的时候朋友给我推荐了一个脱口秀, 大意是说大部分感情是不工作的。 因为大家是如此痴迷于进入一段感情这个概念而扭曲了自己去适配一个本不适配的人。 这句话说出来的时候我还挺认同的, 尤其是过去一年委屈了自己多少次以后仍然没有什么收获的情况下。
先做自己, 然后再去看匹不匹配, 不要颠倒.
借用乔一句话“谈恋爱的作用”就是“过程中更了解自己”。 过去一年确实是在探索自己, 遇到困难的时候会脱离自我从第三人称的视角来审视自己的需求, 行为和情绪。 可惜我需要的被无条件关心照顾的安全感很难找, 更何况把童年时期由父母造就的缺陷寄托于另一个人来帮你解决本来就是一件很不公平的事情。 所以现在的状态更接近于姜太公钓鱼, 专注于自己的事, 安静地等待有缘人。
翻译: 累了, 躺了。
5
最后说点未来吧。
高雅养条边牧Neko, 那么我也是有侄子的人了。 云撸狗了这么久在手机上看着他长大, 非常想有机会能在明年撸到Neko。 我要是回不了国就等着高雅早日带狗儿子润出上海了。(直接明示)
十二月要去趟东部。 这次有机会再见到高新, 运气好还能去趟麻省见一见莹。 同时上科大的朋友们在纽约组了个局, 我预感会是一个很大的局。 尽管我一直以来对大型的局都没有兴趣, 更愿意在一个小圈子里玩, 但是这次还真的有点期待, 尤其是有的老朋友很久没有见面了, 非常想见面再叙个旧。
之前想着九月底把德语A2考了, 但是碍于项目太忙没时间复习, 就搁置了。
最近去德福的网站做了个自测系统直接推荐我准备B1了, 所以明年准备准备直接考B1也不是不可以。
明年甚至想去德国实习一段时间, 就是想去见见世面。物色养老地点。
手上的项目十二月结束, 之后的项目已经想好了只要去做就可以。 老板也明示了这两个项目结果不错就可以毕业。 所以今年的主题定成了重启, 主要原因就是第一次读博读到看见光了。
夏天的时候我的工作被选上了LLVM Developer Meeting 2022, 就在下周。
注册的时候个人信息很多东西都可以不填, 唯独年龄是不可以的。
在下拉框里第一次意识到我已经落入了26-35的年龄组。
四舍五入已经要被优化掉了。
仿佛被推到了一个不属于我的地方, 立刻就紧张起来。
我觉得我还没有准备好。
技术上我还有很多要学, 社交上我还要认识更多优秀的人, 和更多人去交流。
这么说, 未来十年应该是很紧张刺激的十年吧。