上一篇:3600万中国人在抖音“上清华”
转载自 | AI科技评论
第一次在知乎写东西就是一篇劝退贴 :D
先简单介绍一下我的背景。我本科在University of Wisconsin-Madison,然后去CMU念了个PhD,主要研究数据库方向。目前回国在清华IIIS(姚班)做助理教授,并且 cofound 了 Singularity Data.
Huanchen Zhang主页:
http://people.iiis.tsinghua.edu.cn/~huanchen/index.html
又到了保研申请季,每年都有同学来咨询我关于如何申请计算机博士的问题,我基本上都会和他们单独聊上半个小时甚至更久。自从成为青椒一枚,这样的对话变得尤其多。来找我咨询的都是成绩和各方面极其优秀的同学。然而从和他们的交流中,我惊讶地发现很少有人对“我适不适合读博”这个在我看来头等重要的问题给予过认真的思考。很多优秀的同学(特别是清北的)觉得毕业以后读博是顺理成章的人生下一步。这种追求升学的惯性让很多人稀里糊涂地做出了人生中一次足以改变未来生活方式的选择。我见过太多读得极其悲惨的PhD:精神崩溃,心态失衡,身体垮掉,一事无成。所以我想写这样一篇劝退贴,向正在考虑读博的同学们发出“灵魂拷问”:
你真的适合读博吗?
为了帮助大家认真思考这个问题,我画了一棵决策树。想要读博的同学不妨走一下这棵树。Good luck!
图注: 一棵不完整的读博决策树
博士的唯一工作和任务就是做科研,没有人会在意你博士期间上课的成绩。如果你并不热爱科研,千万千万不要读博。你可以想象一下在5-6年的时间里每天绝大多数时间都在做你不喜欢的事情有多痛苦。你可能会说“我怎么知道我喜不喜欢科研呢”?首先,如果你之前都没有尝试过科研,读博这件事你最好想都别想,除非你是个赌徒。这个世界上只有少数人真的对科研怀有热情,所以你赌赢的概率很低,而赌输的代价(e.g., 身心健康,机会成本)却很大,you do the math. 那没做过科研怎么办呢?当然是赶紧去尝试啦,比如来我们在上海的期智研究院实习(呃。。广告有点硬)
假如你有过科研经历,却仍然不知道自己是不是喜欢做研究,那么十有八九你不喜欢,或者对它无感。这种情况最好也不要轻易读博。你说科研这个概念太抽象,自己真的判断不了对它的感觉,那我就帮你分解一下。一个博士日复一日基本上就干四件事儿:看paper、写代码/推数学 (比例取决于具体方向)、写作、交流。如果你对其中任意一件事情比较排斥,这就是一个非常糟糕的信号。这里最容易忽视的是交流。假如你不擅长描述和表达自己的观点,或者一想到public speaking就腿肚子转筋,那么你的读博历程会相当挣扎(虽说这种能力是可以通过训练慢慢培养的)。
总之,是否对科研有着执着的热爱是决定你要不要读博最重要的因素,没有之一。
如果你有这样的想法,我劝你先冷静一下。先问问自己,你真的了解大学教授是一份怎样的职业吗?你可能会说大学教授多好呀,有身份有地位,收入也不错,上班时间自由,平时教教书带带学生,还有寒暑假。如果你觉得大学教授是一份惬意的享受生活的工作,那可大错特错了。收入的问题我们一会儿再谈,这里我想说的是大学教授是一份非常非常辛苦的职业。几乎所有顶尖大学的计算机教授都处于 insanely over-subscribed 的状态,每天有千头万绪的工作需要处理,同时又要保持自己在专业视野上的领先:科研这东西没有尽头,不进则退,而且很多老师还有跟科研紧密相关的创业项目。所谓的寒暑假和灵活的工作时间都是扯淡:大学教授根本没有上班下班的概念,都是自己的活儿,难道还摸鱼不成?举个例子,我在CMU的导师之一 Andy Pavlo 每天的午饭都是一个苹果加一些小饼干,一边工作/开会一边吃。我说你为什么中午永远吃这些呀?他说因为这样就不用花精力思考中午该吃什么了。。。还有一次我和我们系的 Mor Harchol-Balter 教授聊天儿,我问她一般晚上都干嘛,她说她每天回家吃完晚饭以后工作4个小时,然后睡觉。我就不过多举例子了,大家感受下就好。小时候总觉得”为科学献身“是说大话,现在看来真是未必(本人还达不到这样的境界,惭愧)。
那我为什么还是选择做了大学教授呢?我又不是自虐狂。除了我本身就喜欢科研和教书外,最吸引我的是能一直和一群最优秀的年轻学生混一起,和他们一起保持一种喷薄欲破晓的朝气。还有一点,我引用一下我们姚先生的话:大学教授是一个最”自私“的职业,因为你工作的所有成果和荣誉都归你自己,你永远给自己打工。从一个默默无闻的小卒,到一位受人尊敬的学者,这种逐渐积累,“打怪升级”的成就感也很吸引我。
所以,大学教授这个职业是一把双刃剑,没有你想的那么光鲜亮丽,no pain, no gain. 另外还有一个非常残酷的现实:大多数博士生在刚入学的时候都想着毕业以后做大学教授,但事实上只有极少数人能做到。毕竟好大学就这么多,僧多粥少。我觉得有目标是好事,可以让你的博士生涯更充实,但科研的成败也有很多运气成分在里面,过分死心眼儿容易伤到自己。所以,如果你读博士的唯一目的是做大学教授,我建议你冷静冷静,先好好了解一下这份职业,然后结合现实做一个理性的判断。
在讨论读博这么崇高的事业的时候谈钱也太俗了吧?如果你这样认为的话,那么恭喜你,你可以直接看下一个问题了。我猜大部分人不会这么想,有多少人能“视金钱如粪土”?所以,如果钱对你很重要,请慎重选择读博。我曾经听一个留学生说,读博能挣不少钱呢,每年减免的学费和发放的生活费差不多得小十万美元,不少啦。我想大家都看出来了吧,他显然不理解什么是机会成本(话说这种因为无知而产生的满足真的不好吗?跑题一下)。尤其是在计算机行业,机会成本大得惊人。
简单算笔账,我们姚班的本科毕业生找个年薪五六十万RMB的工作应该是轻轻松松,年薪一两百万的也大有人在。这样五、六年下来,算上升职加薪,怎么也有个大几百万甚至一千万了吧?在美国也差不多,在大厂好好工作个五、六年,年薪三五十万美元不是梦。所以读个博士基本上亏出去了一套豪宅。
你说我读博是在投资,是为了在未来把读博期间亏的钱挣回来。那我告诉你,挣不回来的。我们分三种情况讨论。1) 假如你毕业以后去大厂,你的起点可能会比本科/硕士生高1-2个level,那又怎样?你的同龄人早已在行业里积累了5,6年的经验,现在可能已经是你的顶头上司了。除非企业脑残,在升职的时候设置学历天花板,不然你哪有翻身的一天?2) 假如你毕业以后做大学教授,那么恭喜你,你成功地在计算机行业里选到了那个最不挣钱的职业。3) 假如你毕业以后去创业,你能不能干成和有没有博士学位没关系,我反而觉得有行业经验更重要。好了,现在你还觉得有多大可能能把亏的钱赚回来?
所以,读博不是为了挣钱或者是未来挣大钱。读博更多的是一种精神追求。如果有一大家子人等着你挣钱改善生活,那还是别读博了吧?有时候理想和自由在责任面前不堪一击。
先说一个残酷的事实,博士生患上精神疾病的风险要远大于普通人。如果你没有一颗抗揍的强大内心来应对时常出现的巨大压力和竞争,为了自己的健康,请慎重考虑读博。
读博的压力通常来自你的导师和身边的同学。先来说说导师,国内其实这方面压力还好,因为导师一般没有什么办法能把你开除了,顶多让你延毕。国外就不一样啦,我身边的同学因为工作态度或效率达不到导师的期望被直接fire也是常有的事,尤其是在AP的组里(但绝不是仅限于AP)。这也容易理解,AP通常经费有限,又有沉重的tenure压力,本来就招不了几个学生,要是组里再养两个闲人,基本上就等着tenure不过卷铺盖走人了。所以这种情况下最理性的选择就是把你fire了然后明年重新招靠谱的。而且这些AP一般要求很高,他们会拿自己PhD时候的工作效率和你做对比,然后纳闷儿为什么他觉得三天就能搞完的东西你一个月还没做出来。所以,面对导师看似轻描淡写实则笑里藏刀的push,你能说你不慌?
话说回来,来自导师的压力还是其次的,读博真正恐怖的是 peer pressure. 我觉得 PhD program 其实是个挺“变态”的组织,它把最聪明最勤奋的一批人集中起来,然后比一比谁更聪明更勤奋。我在 CMU 读博的时候经常遭到身边各种奇人异士的暴击:有人每天只需要睡4个小时,有人为了赶deadline可以literally连续两晚上不合眼,有人一说话你就能感觉到和他的智商差了好几个数量级,更不用说系里各种奥赛金牌满天飞(有个波兰同学博一开学直接送了我一本他自己编的已经正式出版了的 IOI 教材,我硬着头皮翻了一下,连题都看不懂)。我的 officemate 有个印度小哥,跟我一年进来的,我们同一个老板但不同方向。在我一篇论文还没投出去的时候,他已经连续两个学期分别中了 SIGCOMM 和 NSDI(都是计算机网络方向的顶会),都快能毕业了。组里有如此神人,让我博士头两年始终觉得自己快要被fire了。另外,去参加conference的时候,看着同龄人一篇一篇地发表成果,自己却还一事无成,难免会对自己的能力产生怀疑。在如此强大的 peer presure 下,能抗住压力,心态不崩,按照自己的节奏自信地向前,这真不是一件容易的事。
进入学术圈就意味着你踏上了一条不断被人 judge 的不归路。当然这里的 judge 包含同行大佬对你工作和个人的赞赏,但大多数时候迎接你的是冰冷的批评甚至是不屑的傲慢。这其实挺符合科学那种冰冷的女神范儿的气质。科学是很保守的,它的一大核心精神就是怀疑一切。你看每年的诺贝尔奖(或者是计算机界的图灵奖)通常都是颁给二三十年前的科研成果。为啥呢?因为在这期间这些成果会遭到同行反复的批评和挑战,没有个二三十年,科学共同体是很难一致认可它的价值的。
大佬们尚且如此,作为食物链底端的小博士,被人无情地 judge 那是再正常不过了。很多博士最怕的就是 conference presentation 的时候被人给问倒了,这种时候也只能尴尬地打个圆场然后灰头土脸地下台。有时候甚至是你自认为很得意的成果也会被同行大佬喷得体无完肤,我想被拒过 paper 的人都懂吧?曾经在一个小型的(大概几十个人)学术交流场合,我一个 CMU 学长的 presentation 直接被某大佬无情打断,只见该大佬嘡嘡嘡列出三点理由说明我这个学长做的实验是有问题的,然后毫不留情地把人给轰下台了,让他不要在这儿胡说八道?!我在台下简直看呆了,估计那个学长当时就得去看心理医生。
即使你的 paper 幸运地在顶会发表,你以为对你工作的 judge 就结束了吗?No. 除了正面被怼灌水或者结论不对,最犀利的 judge 莫过于压根儿没人看你的论文。事实上,能被大佬喷说明大佬还花时间看了你的论文,最惨的是你的论文无人问津。这种“礼貌”而无声的 judge,会让你忍不住怀疑自己花了这么大力气到底 accomplish 了什么?
所以,从某种角度来说,读博就是一个不断被同行前辈 judge 的过程,从你申请开始,到你做的每一项工作,发的每一篇 paper,做的每一次 presentation,再到你毕业以后找工作(尤其是找教职),你获得的绝大多数成就都是同行认可的结果。如果你有一颗玻璃心,受到批评或冷遇就容易情绪化,那你可能不太适合读博。从同行的 judge 中提取出有用的建议,过滤掉无效的情绪发泄,始终保持头脑清醒和自信(注意,是自信不是自负),此方为正道。
有谁会不喜欢明确的目标和及时的反馈呢?这也解释了为什么大家多多少少都喜欢打游戏,因为在游戏里,你的每个操作都能得到最为及时的反馈和奖励:你一个技能放出去,立马就能看到敌人掉血;即使没打中,这也是一种 feedback. 游戏把我们的生物本能拿捏得死死的,对于能给我们 immediate feedback 的东西,我们就是觉得爽。
但很可惜,读博这件事完全站在了上述的对立面。首先,读博是一个巨大的工程,而这个工程却有一个极其模糊的目标:发现一些新的知识并把它写出来。而在发现新知识的漫长过程中,很少会有像样的反馈和成就感。有可能你辛辛苦苦工作了几个月甚至更久,却发现自己当初的 idea 根本不 work。没办法,科研就是这样无法预测。如果你有幸遇到一个高水平的好导师,你可能会少走很多这样的弯路,但导师难免也有判断错误的时候。不过好的导师不会那么计较成败,而是会一直陪伴你,关注你能力的成长。当然,如果你遇到一个平庸的导师,你很可能不幸成为炮灰,正所谓一将无能,累死三军。
所以在读博的过程中,很多时候就像被困在了一个大雾弥漫的荒原上,没有人告诉你你迈出的每一步是不是离走出去更近,没有地图,没有进度条,只能硬着头皮朝着自己认为正确的方向前进。这对大多数人来说都是一种折磨,打了再多鸡血的人置身于这种目标模糊又没有反馈的环境中也容易失去动力。我们太习惯了应试教育所暗示我们的逻辑:所谓一分耕耘,一分收获,我只要努力,就应该得到好的结果。这样的教育背景让我们很难接受付出与收获的不对等:当你拼命工作却发现没有回报甚至是在浪费时间。
很多人认为学习成绩好的人应该去读博,它们确实有关系,但本质上是两码事。学习成绩好的同学一般会做题,会考试,会写大作业。可大作业和科研项目完全是两个物种。大作业是经过精心设计的。首先,你有一个明确的要达成的目标并且你知道它一定能成。其次,大作业一般都有具体步骤和 checkpoints,这相当于给了你一个进度条。你可别小看了这个进度条的作用,它让你时时刻刻都知道自己在项目进度中处于什么位置,离终点还有多远。所以,做大作业和做科研完全是两种心态。这其实是一个直博生从本科过渡到博士最大的挑战。我个人花了两年时间才完全适应。
所以,如果你是一名“大作业型”选手,你也许会成为某些导师得意的劳动力,但你永远无法成为受人尊敬的学者。如果这样,读博的意义又在哪儿呢?
如果你这样想,要不还是去考公务员吧?
除非你是神人,正常情况下,每周40个小时对于读博来说是在开玩笑。虽然读博一般不要求你在固定时间去实验室/办公室坐着,你可以根据自己的作息灵活安排工作时间,但是巨大的工作量始终在你面前摆着。想要成为你研究的小领域的世界级专家,你必须在精力和体力允许的情况下倾其所有。还是举我上文提到的那个 officemate(印度小哥)的例子,他每天工作16+小时,几乎天亮了才睡觉,然后中午来学校开始工作,周末也一样。有时候晚饭我们会一起出去买个 Subway 回办公室吃,我吃的时候在看NBA,他在看 talk. 我问他说你不累么,不需要休息一下?他说对啊,我代码写累了,看个 talk 休息一下。我当时一口三明治差点喷他脸上。不过后来我其实遇到过不少把看 talk 当成休闲的神人,也就见怪不怪了。
这种朝九晚五的想法还有一个天真之处,就是认为你能把工作和生活分得清清楚楚。这其实不太可能,起码我做不到。试想,当你有一个 idea 想到一半想不清楚,或是有一个证明死活推不出来,亦或是有一个 bug 没修好导致看不到实验结果,你能到点儿就下班,和朋友开开心心出去浪?这心得多大。读博不是一种单纯出卖劳动力,下了班就可以完全不想的工作。读博所经营的是你自己的 career,如果你自己都觉得无所谓,不去主动承担责任和压力的话,结果应该不会太好。更何况科研永无止境,你永远可以更进一步,所以你几乎没有机会说“我真的做完了”,只有不断向前。
怎么样?你走通了这棵读博决策树了吗?如果你“通关”了,那么恭喜你,至少我觉得你准备好读博了。不过也别高兴得太早,因为这只是一棵我自己画的*不完整*的决策树,还有很多我在写这个 blog 的时候没有考虑到的因素值得你认真思考。Again, pursuing a Ph.D. is a huge commitment. It never hurts to put some extra thought into it.
关于本文的说明:
我是计算机专业的,文中的观点和描述可能不适用于其他专业,尤其是文科。
本文中的观点均源于我的个人经历和观察,如果有说的不对的地方,欢迎指教!
写在最后:我写这篇 blog 的目的是想告诉正在考虑读博的同学,千万不要低估读博的代价。
我作为高校老师,是多么渴望像你这样优秀的同学加入科研的队伍。但我希望大家是在深思熟虑之后,才做出对自己负责任的选择。读博是很辛苦的,也许有一天,当你被这个过程折磨到筋疲力尽甚至绝望的时候,希望你能想起这篇 blog,然后对自己说:I'm not alone.
看完这篇文章,你有什么收获?欢迎在留言区与10w+Java开发者一起讨论~
关注微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的教程,都是干货。
猜你喜欢
1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结
2、如何才能成为优秀的架构师?
3、从零开始搭建创业公司后台技术栈
4、程序员一般可以从什么平台接私活?
5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...
6、滴滴业务中台构建实践,首次曝光
7、不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事
8、15张图看懂瞎忙和高效的区别
9、2T架构师学习资料干货分享