EE PhD 硬转码,关于读博和求职的感想

avatar 131206
Philosophie
25922
110
虽然后面还有面试,在等Google的team match,算是半只脚够到岸了吧,趁着感恩节假期回顾一下,希望对有类似背景的朋友们有点帮助。

背景:国内本科,美国top 5 EE program PhD(纳米、biosensor、电磁等交叉研究方向,就是最不好找工作的那些)

读博的感悟和转行缘起

曾经我也是一门心思想要做教授的人。本科临近毕业时和毕设导师聊天,导师问我问什么想读博,我说了想做研究,喜欢大学的氛围,还提到了觉得学术圈比较纯粹什么的,当时的青椒老板看着我露出了有点哭笑不得的表情,好像有千言万语,最后却只汇成了一句话:“你太年轻了。”现在我可能有点懂他当时是什么意思了。

现代的学术研究,除非是纯理论、非资源依赖型的,比如张益唐在餐馆打工还能业余做的数学研究,其他的研究大多脱离了前辈科学家描述的海边拾贝的浪漫,而更多像工业化、集团化的经营。现代科研可以说是一种普通的职业分工,大学一样有职场政治,学术圈一样是江湖。

我在读博期间经历了要毕业的师兄在老板的支持下抢走了一作(十几页的paper + supplementry, 师兄的贡献就一段话,一副图,找老板理论,老板说师兄以后想找教职,更需要这篇paper,“I'm trying to do him a favor”云云,只面谈不留任何邮件之类可以留下把柄的);合作实验的同学犯罪入狱辍学,我一个人双倍工作量扛完整个项目(也不涨工资啊);合作组的提供的实验材料有问题,折腾我大半年出不了结果,在我反复排查确认其他无误之后,合作组终于派自己的学生重复实验,也做不出来他们published results,于是另起炉灶重头来过,少说耽误了我一年时间,而他们组从上到下没有一个人对此表示过丝毫歉意,或者质疑他们组之前用这个材料发的paper,好像什么都没发生一样——他们组老板是工程院院士,工学院院长,我一个毕业出道都艰难的新人还能怎么样?

促使我转行的最后一根稻草居然是疫情。去年4月那会到处lock down, 学校实验室也关了,但老板们为了蹭一波疫情的热点,临时上马COVID相关研究项目,趁着别人做不了实验,把我们一些学生加入了学校的essential personnel的名单,让我们照样拥有所有权限。那段日子,别人在家办公/摸鱼,老板们自称是上了年纪的高风险人群躲在自家大house里,却天天找我们开会检查updates,唯恐我们浪费一天宝贵的实验机会。我那时深切体会到了什么叫“卖命”,什么叫对无产阶级的剥削,虽然万幸没有感染COVID, 如此高强度高压工作久了身心也无法承受。我想要一份不会把我绑定在实验室,能够远程工作,有intellectual stimulus, career growth, wlb的职业。

可能是我在的项目、我们组不够高端吧,可是在这条路上往上爬就一定会更好吗?君不见论文引用15万+的某大牛组几十人的集团军作战,有时候不同小组竞争同一个课题,谁先做出来算谁的,他们组的职业习惯是实验之后故意把设备的参数调得乱七八糟,就为了不让后来人reverse engineer自己的实验recipe;君不见一些牛组每次发Nature, Science之前组里先打一架争排位(应该只是精神层面的,非物理打击);君不见国内一些名利双收的博导在饭桌上当着学生的面闲聊利益交换;君不见清华院士门下毕业的青椒深夜还要陪在基金委领导烟雾缭绕的麻将桌旁端茶倒水搞社交……如果你觉得校园是净土、学术圈纯粹,那是你和你的圈子幸运地没有经历它们的阴影。

大家也许发现了一些有颜值、有演技、也没有塌房的好演员入行多年就是不红,可一直拿不到什么好资源,处于半退隐,甚至已经退圈的状态。同样的,在读博的路上,我也看到了一些有理想、有才华的同学读博多年就是出不了什么好成果,心力交瘁,俗称burnt out, 轻则退学、转行,重则致郁、一了百了。学术圈和影视/娱乐圈的一个高度相似点就是话语权和资源集中在少数人手中,你跟对了人,抱到了大腿(当然自己也不能太拉跨),也许就平步青云,否则任凭你的个人条件多么出众,缺乏好平台的助力还是很难成事。想做教职,你需要天时地利人和 + 好运气。

如果你有学术理想/缺乏人生规划不知道干点别的什么好/想不开就是要读博,我希望你读博期间不管遇到了什么都不要想不开。我猜很多人在进入博士项目时,对研究领域、老板的秉性人品、生涯规划都缺乏了解,这样读博和赌博差别不大。如果只是因为不想付硕士的学费而读博,我建议你借钱读MS,工作一两年也就回本了,而你节省下的是五到七年宝贵的时间和精力(我有本科毕业即转行的校友已经是staff engineer了,而我现在是从new grad岗从头开始)。

对在考虑读博和正在读博的同学们的一些个人建议:
  • 为自己读博,不要太听老板的话。如果你有一个有学术品位,积极提供资源,关心学生发展的老板,恭喜你,你已经赢在了读博的起跑线上。但也许你的老板经常出馊主意,只管画饼要结果不管你的死活;也许你的项目就是个坑,原理上行不通或者以你现有的资源根本不可能实现;也许你的老板不肯放人(我是我进组这些年来除了一个美国学生之外第一个去实习的学生,我们组之前有找到实习/全职老板不让去的,我也是答应了很多条件才走的)……日常多想想手头的工作对自己以后的发展有没有价值,能不能避免/外包/自动化低价值劳动密集型工作?能不能换个更好的项目 or upgrade已有的项目做点有价值的工作而不是灌水?你和老板的long-term goals很可能并不能重合,适度push back。
  • 尽早开始职业/生涯规划。像我这样等到毕业前最后一两年才发力转行的必定辛苦,你从进入研究生院那年起,最好就多去逛逛career fairs,招聘网站,看看社会需要什么,想想自己毕业后如果不走学术路线了还能做什么。有机会多做实习,试错不同的行业/公司。
  • 除了做事,也要关注人。一方面是良好的人际关系可以在你工作不顺时提供support, 另一方面你要学习一些people skills, 如何motivate/push不出力只等着paper挂名的合作伙伴?如何避免别人抢走你的credit? 如何和老板negotiate毕业时间和条件?很多职场上的技能现在就可以学起来了,把读博当做一段professional experience.
  • 身心健康最重要,不要让工作成为你的全部,也不要因为工作上的挫败否定自我——如果这个游戏不好玩或者你的牌太烂,可以换个游戏重来。读博期间,如果有哪一天没有发生任何意外,没有经历什么挫败,都是值得感恩的一天。保留一些兴趣爱好、参与社团等都能给你留一些缓冲的空间。


当然,坎坷的读博生涯还是给我带来了一些收获:
  • 对科研/学术圈demistify/disillusion,不再给它们自带神圣化、浪漫化的光环,知道它们不足为外人道的背面。以前我以为最聪明能干的人都去做科研了,现在觉得恐怕相当一批顶尖人才早就跑出去改变世界了。
  • critical thinking, 相比从前更不容易盲从权威,更不容易被光鲜的title和履历所迷惑,因为知道顶刊的工作也可能重复不出来,大牛也可能不靠谱。
  • domain knowledge (虽然转行了没什么用,万一以后有人想在这方面忽悠我应该也不太容易吧)
  • 数理基础,analytical/logical thinking (数据结构和算法不比电磁学和量子力学容易多了吗?跑代码不比生化实验更可控,更好debug吗?)
  • Scientific writing and presentation skills
  • 明白并且接受了:很多事努力了未必有结果;选择比努力更重要。如果选对了,要感恩;选错了,也要输得起。
其实读博能给你的技能大多在业界工作中一样可以培养,读博对我来说比较unique的收获一是以后不会后悔没有尝试科研这条路,二是经历了打碎自信再重建,以后会觉得那些事都过来了,眼前的挑战基本难不倒我。

最后,感谢本校医学院学费全免的医学生没有国际生名额,感谢本校专利办公室实习的工时长而工资低(本来想以此作为从事patent law的跳板),感谢Citadel不收我做Trader intern(挂于电面),感谢McKinsey不收我做Consultant intern(挂于onsite),感谢Abbott不收我做research intern(挂于电面), 感谢Apple和前FB不收我做Hardware Engineer(简历拒), 我几番折腾之后还是走上了转码之路,可能也是命中注定。

转码的准备和求职
  • Minor or 双学位:我之前有考虑转行DS,修了minor in Statistics. 我们学校的CS对研究生是没有minor或双学位的,如果学校允许的话,我觉得有加上CS的minor/双学位有助于非CS科班的同学过简历关。也有人是quit phd program之后去读了CS master, 好处是能更系统地学习CS知识,变成科班出身可能更好找工作,就是时间、经济投入更高。


  • 刷题:经常有人在地里问自己这情况适不适合/要不要转码,这事终究是小马过河,要自己根据个人情况拿主意。我看到一个简单粗暴的回复是:先在Leetcode上刷两三百道题再说。我觉得有道理,就刷了(刷题之前上了算法的网课,看过教材,Cracking the Coding interview之类的打底)。Leetcode Explore总结了很多高频数据结构和算法的集合教程(讲解 + 经典例题),你都做完基本就把所有的经典考点过了一遍。现在还有数据结构、算法、DP的study plan, 也适合轮回巩固知识点。而Daily challenge和周赛可以考察你在有限时间内做新题的水平。我现在刷了近1000题,周赛能做3题,状态好/题目容易四道题的水平。算法面试我觉得是天分/运气决定上限,基础/努力决定下限。

  • 重建简历:不管你在原来的领域做了多少年,多少工作,如果和你要转的方向、要投的岗位无关可以全删掉,补充以相关的技能和项目。转专业的同学在这方面比较头痛,但是你如果能借到某些知名转码项目班出来的同学的简历,看看他们做的项目就会信心大增了。首先,你可以把之前的工作中涉及写码的部分着重强调,也算是编程经历。然后,可以上一些做项目的网课,至少一页纸的简历能靠项目填满。这样如果你准备转行比较早,就有望凭着这份课程项目为主的刚够格的简历拿到实习,实习有没有return另说,实习经历很大程度上就能帮你过全职的简历关了。(所以说如果要转行就趁早啊!)


  • 找全职:这方面我经验不多,9月开始佛系投了十几家公司(一位学长说我不该把宝都押在G上,不该一上来就面G,吓得我10月又投了几家),内推和自己网投大概对半开:
过了:Google
简历拒:前FB,Robinhood

OA(即使全对了也)据:Doordash, Databricks, Citadel
正在面:Stripe, TikTok
不敢去面:Hudson River Trading (Algo Developer, 类似Quant)
失联:Linkedin, Snap, Netflix, Zoom

Google timeline:
9/3 内推
9/22 HR chat, 帮我申请跳过了电面
9/28, 10/5 HR chats for VO (之前管我的HR要请假,换了HR)
11/4 VO(小秘给我约错了时区后玩失踪,面试是我这边的11点到下午4点半,lunch break在下午2点,生理不适)
11/17 通知面试过,填team match form

一天下来累并兴奋着(夜里竟然轻度失眠了,哭笑不得),还好准备了点零食不然第一轮面试之后就开始挨饿。体验就是:HR团队估计是外包了(和他们置气会给G损失人才),面经恐怕没什么用(我没有遇到一道原题),沟通很重要(Googleyness & Leadership那轮就不说了,coding轮也要clarify面试官的需求,他们满意了你才算过,我有两轮的面试官口音都比较难懂,我很多次要他们重复问题,不懂就问比猜错强),最好会写production code(要自己想各种test cases, 写unit test, 甚至还遇到要我raise exception的,这些是你只刷题一般不会关注的)。

有卡住没思路的情况,建议不要直白问:“Can you give me a hint?”我prefer的是:
  • 多run test cases, 尤其是让你现在的方法行不通的case, 方便找出卡在哪,或者找到新思路
  • 讲讲你已知什么,比如现在这个方法为什么不行,你猜哪些方法可以,如果面试官有意给hint会顺着有希望的那个方向说
  • 也遇到那种一点input不给,只会抛问题的,只能重复前两种方法,自求多福。
  • 至少写个暴力解,有的题本身就没什么能取巧的空间,有了working solution之后再谈优化

有的面试官看着和蔼可亲,有的不苟言笑也不要被吓到,总体上我觉得科技公司的面试是合作形式的,是考察你能不能共事,比压力面试的氛围好很多。

我觉得PhD转行的尴尬之处在于高不成,低不就。就转码而言,我不能像科班出身的PhD(未必是CS的,一些做bioinformatics, statistics的也算高度相关)那样竞争Research Scientist岗,去和本科生、master竞争new grad SDE岗可以说也没什么优势(大家都是初级课程项目起步,人家如果科班出身的基础课多些,还能做backend, infra, security什么的,转码选手一般都是速成front-end, full-stack方向),相对来说比较偏好PhD的DS和MLE岗可能申请的回复率更高一些(但是面试更难过啊……),大厂又比小厂的包容度更高。这条路并不是坦途——很多时候,如果一件事值得做,只有1%的成功率我也会下注(走学术路线我赌输了,转行好像赌赢了,胜败乃兵家常事啊)。

结语
我之前开玩笑:今年的年终总结标题是《十年EE,从入门到放弃》。这一年其实经历了很多:2月开始找实习惊险上岸、暑期实习、科研项目交接、搬家(原来的公寓不支持租半年,室友们又都毕业先走了,我一个人清洁了整套公寓)、找全职、秋季三门课(老板不给RA,我要做TA和TA training)、博士答辩(Google VO后一周搞完thesis和答辩)……太多极限操作,一不小心恐怕就玩脱了。


似乎我大部分时间都是一个人在战斗(问就是没有男朋友),准备转行的初期都不好意思跟别人说,快面试了才找朋友帮忙mock, 去实习了同学们才知道(我老板现在还不知道)我要转码。其实我也不只是一个人在战斗,感谢转行途中给我提供了建议,帮忙内推、看简历、mock interview的,相识和不相识的前辈和朋友们(有的内推来自地里,地里也有很多精华总结帖可以帮你少走弯路),感谢实验室接手我项目的师弟师妹(最后这篇文章的一作我也不要了),感谢新室友们在我面试期间主动配合(不制造噪音,网络不稳定的时候主动出门不和我分带宽),感谢系里批CPT的小秘虽然质疑过我的实习和本专业研究有什么关联,还是高抬贵手让我去实习,感谢老板放人(我算是他这么多年来最叛逆的学生吧,好聚好散),感谢途中所有的机会(和促成机会的人们),感谢所有极限操作的好运气……等我以后入职了,也会帮助后来的人上岸。


求教
大家如果对以下任何话题有见解,欢迎分享!认真的回复会加米(除了自己的经验,也欢迎指路前人的帖子or其他资源)。
  • MLE面试中ML design的准备
  • Google team match的经验,如何辨别有发展潜力or适合自己的组?
  • 假设是 Amazon Applied Scientist vs. Google SDE vs. TikTok SDE vs. Stripe MLE, 如何选择?career growth > TC ~ wlb
  • SDE 1point3acres.com tech companies vs SDE/Quant @ fintech companies的职业发展比较?



Happy Thanksgiving! ^_^

补充内容 (2021-11-25 10:28 +8:00):
看到还有一些小伙伴问面试准备,我就基于个人有限的经验做一点补充。

有的公司可能有高频题库,但是根据我和其他一些同学的实战感受,大家面G的题全都不一样。我没有碰到一道类似Leetcode的原题,而G家可能考的范围太大(我问G家当过面试官的同学,会不会考segment tree, red black tree之类比较冷门/高级的数据结构,他们说可能真会有面试官想考这样的……很少就是了)。虽然Leetcode的原题基本不会考,大家还是可以用他家Google tag下的题感受一下考点之广和奇技淫巧之大成。

我如何准备:
1. 如前文所述,比较系统地学过常见的数据结构、算法,之前按topic tag刷过经典题、高频题(一题多解,能从暴力到最优演化),面试前按Google tag刷近半年的高频题。查漏补缺,尽量避免考到一个东西完全在你的知识盲区。学有余力的朋友们可以去看看冷门的考点,但是在你准备时间有限的情况下ROI难以保证,需要你做取舍。刷题量/时间不是评判coding/解题实力的金标准,关键看你能不能融会贯通,熟能生巧。

2. 通过打周赛试探自己在有限时间内解新题的能力,找在Google当过面试官的朋友们mock,在这些“模拟考”中积累经验、教训,培养自信。

3. Googleyness & L 也需要花时间准备,用STAR(+ what I learned from this)准备BQ,想一想自己在常见topic下的为人处世方法应对hypethetical questions(比如队友不干活怎么办?老板要你做什么你不同意怎么办?我遇到题目的以考察teamwork, communication技能的居多,可以参照常见BQ话题准备)。

4. 面试之前吃好睡好调整状态。做好预案将场外/不必要的干扰因素降到最低,比如事先通知室友自己的面试时间,沟通好希望他们不要在那时打扰你。面试的时候穿舒适的衣服,旁边可以放水、零食等等可能用上的以备不时之需。我当时旁边还放了降噪耳机(最近附近不定期施工)和备用键盘(现役键盘有点不灵便了)。

5. 临场发挥:沟通,沟通,沟通!听说厉害的同学可以在毫无思路的情况下从面试官那里套出完整解,当然这是登封造极的案例,我们一般人不必苛求。

首先是要clarify题目要求,不要一上来就扔解法,而是多想一些test cases, 尤其是edge cases, 确保自己对题意理解正确,因为G的题很多是面试官自己出的,有的一开始给的很模糊(比如我有遇到面试官不给input type,让我自己想的——最优解的奥秘其实后面发现在这里,要用合适的数据结构做input优化time complexity)。

如果卡住了可以参考我前文说的方法。

补充内容 (2021-11-25 10:42 +8:00):
遇到忘了/真不会的不要马上自乱阵脚或者放弃,可以想想怎么work around it或者求助。比如面G时我第一次被要求遇到invalid input要raise exception, 我直接懵了,承认自己不会,说return error code (比如 -1)可不可以,面试官也同意了。然后这场面试之后赶紧google raise exception 怎么写,后面又一轮也被问到就不怕了。还有一场是我第一次被要求写unit test, 我见过也忘了,就问面试官能不能给一个example, 他就写了一行 assert function(input) is expected_output, 然后我就现学现卖写下去了。

时间把控:基本可以跟着面试官走(毕竟你也不知道Ta有几道题/follow-up, 能做多少做多少)。为了避免想到却写不完的遗憾,还是要靠刷题保持手感。

考一场忘一场,切忌因为前面没考好影响后面。万一不幸有一轮考到生僻的你真不会,也可以安慰自己一共五轮,可以靠其他轮力挽狂澜。

6. VO当天会很累,建议平常健身。

G家面试随机性很大,没过的话不要太打击自己,总结教训,相信如果你实力到了,总可以在别处上岸(然后还能鄙视一下low ball)。

补充内容 (2021-11-25 13:16 +8:00):
收到大家的赞赏我很开心,也对大家的祝福表示感谢~不知道是不是因为我前文点到为止讲了一些dark stories(更多的我就不回忆了)让大家觉得我这几年十分miserable, 很多评论说我苦尽甘来,其实读博期间未必只有痛苦,以后也会有更多更大的挑战等着我。幸福指数不仅取决于你经历的事,还取决于你的预期、对经历的解读和内心的丰富程度。我想起了那个佛教故事:一个人被老虎逼上悬崖峭壁,只靠一根枯藤攀附不坠落,而此时还有老鼠在啃这条枯藤,离死亡一步之遥的这个人居然还能发现近处有一颗浆果,品尝之后赞叹浆果的美味。

我说说我在这几年的苦中作乐吧:
1. 我学了游泳、滑雪、滑冰、ballroom dance、瑜伽……广泛阅读。
2. 瞎练乐器,在学校的艺术中心做过志愿者(曾被脸盲的观众问我是不是本地交响乐团的,我笑着否认然后在心里叹息自己的演奏何时能上台面)
3. 在为数不多的假期/会议/转机,拉上几个靠谱的小伙伴自驾游(国家公园真不错),一个人在美、加、韩的城市旅游——现在想想我做过太多不太安全甚至可以说是作死的事情,感谢上天竟然纵容我活蹦乱跳到如今。
3. 在学校的两个外国人主导的学生社团做到board/commitee members, 主管过全天的上百人的会议的logistics,义务办过一年的项目邀请各种背景的教职人员来分享经验,帮助想要寻求教职的女生们规划申请、准备材料——我现在认识的同龄人中拿到教职的已经一只手数不过来了,再过几年等我看好的几位博后出站只怕两只手数不过来,有两位牛组学姐甚至拿到了MIT的AP——前后左右一对比,**竟是我自己Orz 虽然我自己不走这条路了,也不后悔帮忙铺过路,并为他们高兴。
4. 是本科学校在读博学校的非官方认证的学生会会长(惭愧的是没办过多少活动,尤其疫情之后),在疫情期间联合北美的热心校友帮忙筹集物资,我经手协助过几千N95口罩和上万防护服运回国,这可能是我作为名不正的会长最值得骄傲的成绩了。

所有这些工作之外的经历让我不会把人生意义和自我价值感全都维系在“岌岌可危”的research之上,让我相信自己能做一个有趣、有用的人。我并非一帆风顺的天之骄子,但也感谢上天待我不薄。

补充内容 (2021-11-28 12:09 +8:00):
和家里视频又被关心了个人问题,请问大家知道去哪工作更容易脱单吗?或者推荐一下脱单的靠谱途径?(目前想到靠亲友refer, 参加兴趣/交友活动,各种交友网站/app,以后要开始摸索行动了……)

补充内容 (2021-12-04 05:30 +8:00):
有在Google的朋友吗?Team matching求捞~

补充内容 (2022-02-12 23:05 +8:00):
有一个项目我之前做了两年,搭好了实验平台,做了初期实验,后来交给师弟师妹继续完善、采集完数据就可以写文章了,当时assume他们会是共同一作,我往后排点没关系。我走了半年,听说文章写好准备投了,他们被老板要求带着两位两个合作组的贡献更小的人共一,四个共一,然后是一个刚进组一学期的硕士生排第五,贡献了项目proposal和初期end-to-end奠基工作的我排第六,不知道的还以为我只是在这个项目打了两天酱油哈哈哈——而且越是authorship不公平的文章,老板越不让在正文后加contribution说明大家的分工。
希望被老板压榨/PUA的小伙伴们清醒一点,不要幻想他以前坑过你,以后良心发现会觉得对不起你甚至在别的地方补偿你——以前坑过你的,以后大概率还是会坑你。我在豁出去叛逃的时候就将这篇文章置之度外,现在要入职了更是看淡,倒是师弟师妹们心情不好需要疏导。好家伙,听了我的故事,五个人有两个当场表示想转码,其他的也不能说是完全没动心……
我不会劝大家盲目跟风转码,但火坑中的朋友要早日为自己打算,祝你找到指引自己走出黑暗的光,你的人生在坑外有很多可能(转码只是其中一条路,也许你能走出别人想象不到的更酷炫的路)。
  • 352
110条回复