写在毕业五年之后

Overview

五年的工作时光转眼即逝,我想写点什么来回顾这段经历。

工作主线

第一个offer hypereal

从毕业到现在已经五年了,但是我的求职之路要从2017年的找实习开始算起。我记得很清楚,人生第一次投出简历是给了一家做VR的初创公司hypereal(现在已经没有什么消息了,其官方Twitter的最后一条消息停留在了2017年5月)。当时我正坐在从哈尔滨到武汉的高铁上(G1276,全程14个小时),可能在ACMer求职群看到有人发了职位信息,就赶紧写了份简历投了过去。

第一份简历,甚至是用word写的,真的没眼看

面试中都是一些八股文,唯一记得的是有一道求费波纳契数的题目,我写了个矩阵快速幂。面试后第二天,我就收到了实习offer,当时真的高兴了好久。

hypereal offer letter
Alt text

百度大搜

接下来给我回应的第二家公司应该是百度大搜。如果没记错的话,也是在ACMer求职群里看到的消息。然后我在知乎上勾搭到了面试官frog学姐(她后来来了腾讯,成了我的业务方哈哈哈)。

知乎竟然保留了这么久之前的私信

我临阵磨枪准备了一波,突击看完了《数学之美》之类的书,可惜最后还是没通过面试。虽然面试细节已经记不太清了,但是没拿到这份实习还是让我比较伤心的。似乎也是我面试过程中的第一次失败。

奶茶厂

我拿到的第二份实习offer是京东广告部门的算法工程师。也是在ACMer求职群里看到的消息。面试过程中,面试官考了我蓄水池抽样(这个问题在后来的几次面试中也被问到了),还让我写了一个ST表的RMQ算法。 jd offer letter 当时,如果没有拿到商汤的offer,我很可能就跑去京东了。

sensetime

我投递给商汤科技的岗位是通过符宝聚聚的内推渠道的。当时恰好在朋友圈看到了,就投了过去。但是比较不巧的是,商汤科技的第一轮笔试时间恰好和我的一门考试冲突了。

姣姐给我的回复

当时我就想着,真的会有第二轮面试吗?可能就是缘分不够吧。没想到公司真的安排了第二轮面试,我发挥也比较稳定,顺利拿到了见习计算机视觉研究员的offer。

sensetime offer letter

其实我当时对cv一无所知,面试的时候平哥也没有问我任何cv的问题

可能看我还算机灵?我也不知道。但是sensetime的这个实习offer成为了我职业生涯的一个很好的起点

在商汤科技实习期间非常愉快,虽然现在看来我当时什么都不会,但那是一段特别开心的日子。我的同事都很强,而且很有耐心教我。因为拿到了商汤科技的return offer,我基本上就直接放弃了秋招。虽然现在看来薪资不算高,但是公司的愿景“坚持原创,让AI引领人类进步”,以及团队中那些优秀的同事,都让我觉得我一定要来这家公司。

后来,因为一些原因,我正式入职的时候被转到了一个偏system和部署的组。让我发现做这些工作比训练模型更让我兴奋。因此,后来我就一直在商汤科技顶着“计算机视觉研究员”的头衔,做着“算法工程师”的工作了。这次转岗也影响了我直到今天的工作方向。

在商汤科技期间,我主要负责模型转换和模型推理的工作。也做了一些和主线关系不大的事情,比如前端和爬虫。这段时间我得到了所在leader晗姐和组里技术扛把子lzhang(god li)的诸多指导,使我对技术充满了兴趣。

另外,在商汤科技科技期间,我还补上了几门计算机专业课程,基本上消除了大学四年翘掉几乎所有课程给我带来的问题

腾讯

我从计算机视觉转岗到腾讯做推荐架构,刚入职时感到很不适应。两者之间的差距确实很大,但我当时选择去腾讯也是因为手里的offer不是很多。

offer不多的原因有两个:一是我的技术水平不够好;二是我对自己的职业方向感到迷茫。我记得和一些猎头聊天时,他们默认我是做计算机视觉的,当我回答不是时,就会认为我是做后端开发的,然后就认为我一定会写Java。

我当时不知道自己的职业路线应该怎么走,也不知道自己属于哪个领域。

在腾讯,我认识了很多优秀的小伙伴,但总体来说,值得高兴的事情并不多。

最主要的是,腾讯的工作强度太大了,比我在商汤每天多工作了至少30%的时间。我当时最大的疑惑是为什么过了十二点半、甚至十二点四十,大家还在工作,不去吃饭。直到稍晚一点的时候,大家才从工位上勉强走去食堂。

还有每周要oncall的事情,让我对技术、对工作、甚至对这个行业都感到厌倦。在当时的背景下,我甚至考虑run去新加坡的虾皮,还在论坛上发了一个帖子“程序员该run去新加坡吗?”

该run去新加坡吗

由于我的组比较大,所以我和很多同事并不熟悉。此外,由于我是在深圳做serving,而除我以外做serving的同事全都base北京。这就导致深圳的同事认为我是serving组的,而北京的同事则认为我属于深圳,不属于北京。因此,我一直有一种边缘人的感觉。 这种情况直到2022年开始和weilong一起做推荐链路负载自适应才开始好转

在腾讯期间,我主要学到了很多流程和规范,知道了所谓的大厂流程是怎样的。但是,超高的oncall强度让我逐渐失去了对生活和工作的热情。再加上感觉到腾讯已经江河日下,于是决定离开

on call到怀疑人生

wanyan tech

这次跳槽有很多选择,最终我加入了一家规模比较小的私募公司。当时公司资金规模还不到30亿,但我选择这家公司的原因是老板有远见且很真诚,面试过程中的沟通也非常愉快。相比之下,我也和几家私募量化里面资金规模非常大的公司聊过,虽然给的薪资也不错,但沟通过程中充满了傲慢,给人感觉非常“井底之蛙”,只能用“夜郎自大”来形容。

来到这家公司后,我最大的感受是多了一份创业者的心态,与我在腾讯的经历形成鲜明对比。腾讯这样的大公司,虽然做的事情技术含量不低,但公司多我一个不多,少我一个不少,每个人的影响力真的都非常有限。但是在现在这家公司,看到各位quant和trader因为我做的事情提升了效率,真的非常有成就感。另外,给自己的部门打个广告. machine learning engineer岗位绝赞招人中 招聘 0-5 年工作经验 machine learning engineer (社招+校招+实习

希望在这一年里,能把公司的AI infra提升到行业里较为top的水平。

工作以外

公开课

这几年主要也就学了3-4门课,似乎还都是在商汤期间跟的

  • mit 6.828,操作系统课 没做完,好像只写了3个lab. 这课真的是杀时间利器,每个lab平均估计要10-20个小时的工作量. 听说现在这门课一拆为二了?
  • CSAPP, lab做完了。 这课大而全,精髓在lab上。其实应该本科期间搞的,可是谁叫我本科期间时间全都给ACM了呢...
  • The programming language. 完整跟完了,一个特别有意思的PL概论课,我至今仍记得grossman讲课的情景。
  • 一些其他的深度学习相关的课。比如cs231n,cs229还有 coursera的一些课。强度都非常小,作业不过是写写numpy或者matlab,过于轻松,因此也没什么深刻印象...
  • 一些《极课时间》上的课程。当时听这个名字还以为是一些割韭菜的培训课,去上了一门之后发现干货还是挺多的。印象比较深的有乔新亮老师的“CTO成长复盘课”,"10x程序员工作法",还有陈皓的"左耳听风"

技术书籍

书就看了比较多了。就不一一列出来了。就列两本吧,是这五年来读到的觉得很值得推荐的两本

  • ostep,操作系统入门书。我觉得比现代操作系统那本要好...
  • machine larning design pattern. 特别接地气,machine learning engineer必读

代码阅读

这几年大概看了几个源码,主要是leveldb和Caffe. leveldb的还木有看完。 早年看caffe还蛮有动力的,因为caffe是模型转换中特别重要的一环。看caffe也对我的工作很有帮助。 后来慢慢发现,看代码的性价比太低了。要花大量的时间,却学习不到特别多的知识

留学生project 代写

在商汤期间,我有一段时间比较迷茫,想开拓下视野,同时又有钱赚,于是开始接了一些留学生的作业代写。我只接与我的方向相关的代写,而且只写代码,不写报告。平均每单价值在1000元左右,复杂一些的可能接近2000元,比较简单的可能只有800元。这些学生大部分来自澳洲的一些大学,偶尔也有来自美国的学校。当时,我做了几个代写项目,积累了一些声誉,甚至在2022年还有学生找我代写。

然而,我后来意识到,这些代写项目对我的主线工作帮助太小了,虽然也能学到一些知识,但这些知识不够系统化。因此,我放弃了继续接这些项目。现在想想,我当时确实不应该做这些事情。

感受和总结

毕业五年,一个阶段告一段落。我的第一个感受是,人很容易受到身边环境的影响。在商汤,周围的同事不是Ph.D,就是先工作一阵攒一些paper申请Ph.D,给人感觉必须去读Ph.D才是正常的。当时,我们部门Ph.D的比例应该超过了75%,手握CV顶会一作的人更是超过了80%。

第二个感受是,一个人的命运,个人的努力固然重要,但也得看看历史的进程。比如2017年,一个没有任何算法经验的人也能拿到很多算法实习,因为当时懂这些的人非常少。

第三个感受是,感觉自己是一个看不太准未来发展趋势的人,但好在我跑得够快。面对各种沉没成本,没有太多留恋. 比如每次跳槽都是年底,年终直接没有了23333

希望下一个五年过后,我依然充满热情,像今天一样对生活和技术保持热爱。