我看PhD

by 王垠

前段时间看了一下这些关于 PhD 的负面信息:

  1. 一个专门反对读 PhD 的 BLOG 叫“100 Reasons NOT to Go to Graduate School”(下文简称“100个理由”)
  1. 哈佛大学教授 William James 的“The PhD Octopus”(写于 1903 年)
  1. 斯坦福大学的计算机系博士 Philip Guo 写的书“The Ph.D. Grind”(描述他的 PhD 生涯)
  1. 专门讽刺 PhD 生活的系列漫画“PhD Comics”(PhD Movie 拍得很烂,不要看!)

它们都向我们提出这样一个问题:PhD 到底还值不值得读?作为一个读了十多年 PhD,周转了三个大学(清华,Cornell, Indiana),仍然没有毕业的人,我想提出一点我的独家见解,并且对他们其中的某些内容提出一些看法,希望对后来人有所启发。

PhD 是否仍然有价值

PhD 是否仍然值得去读,这是一个非常困难的问题。我并不觉得本文开头列出的对 PhD 的负面评价,是完全客观公正的。虽然它们的某些看法是正确的,但是里面也含有一些片面的,目光短浅的东西。

简言之,我对此的答案是:读 PhD 这个过程仍然可能有价值,但是 PhD 的头衔,其实没有什么价值。下面我来详细解释一下这是为什么。

首先,为什么读 PhD 这个过程仍然可能有价值?那是因为你能利用它来学到精华的知识。注意,我说的只是“可能”,而不是“肯定”有价值,因为有很多因素决定了 PhD 的学习是否有价值。一个很显然的事实是,本科的教育不会教给你深入的知识,因为几乎所有大学(包括所谓的“世界一流大学”)的本科教育都是填鸭式的。本科生心里想的,只不过是通过考试,提高 GPA,所以他们一般只能学到皮毛。硕士,不过是本科的一点点延伸而已。读硕士的人往往急功近利,只是为了找到一份稍微好点的工作。只有 PhD 学生由于有专门的导师指导,而且需要好几年才能毕业,所以在客观上他们有可能静下心来学会真正的东西。

可是一个有价值的 PhD 阶段,却是来之不易的。有非常多的因素决定你是否学到真东西:

  1. 一个有真知,而且愿意分享真知的导师。事实上,除非你是神童,你只有直接从人那里才会学会真知,而不是从书籍或者论文。最深刻的知识,往往不是通过书籍或者论文传播的,而是通过人直接口授。这种现象产生的原因是人类的自私。刚入行的学生往往会高估本领域的“顶尖专家”们的学识和品德,以为看了牛人写的“经典著作”就可以得到真知。可是其实呢,每个人都是自私的。他们往往不会把最核心的直觉和想法写进书籍和论文里,而只是把一堆复杂的符号,公式,定理,证明写进去,让你知其然而不知其所以然。这种现象在数学,逻辑,和计算机科学里面尤为常见。打个比方,这就像写了程序之后不把源程序给你,而只是编译后的二进制代码。得到这种“二进制知识”的人,永远也不会看透这些复杂的符号背后其实有着非常简单的想法。数学和逻辑的书很难看懂,就是这个原因。拥有真知的人,却不一定在牛校,所以你需要放宽视野。我在 Cornell 的时候很郁闷,因为教授们往往写一黑板公式,却没有透露一点点直觉和想法。有一天当一个教授写满了两黑板的证明之后我问他:“你证明了这个定理的正确性,可是我想知道这个定理本身是怎么想出来的。”他说:“你问这种问题有什么意义吗?我告诉你它是正确的,那就够了。只有非常聪明的人,花很多精力才能想得出来这样的定理。”后来到了 IU,却发现有个教授上课时轻松的道出了这个定理的由来。然后我才发现,原来那个 Cornell 的教授其实只是照本宣科,还咋呼人。

  2. 自己的努力。那么什么样的人会向你分享所有最精辟的思想呢?没有人。自古以来,所有的武林高手都会对自己的门徒留一手。而高深的学者与武林高手的作风其实惊人的相似,就连我最尊敬的 Dan Friedman 教授也不例外。他自己知道的东西,比他提点大家的东西要多很多,可是他不会全都说出来。这就是为什么上过他的课的人的对他评价不一。我对他有非常高的评价,因为我认为他的点拨加上我自己的努力,让我学到了很多东西。可是也有人对他的评价是“我什么也没学到,因为他根本没有教我们!”IU 的另一个世外高人 R. Kent Dybvig,他的 Chez Scheme 编译器里有很多没有发表的机密。毫不客气的说,这个人比起“龙书”,“虎书”或者 LLVM 的作者,造诣都要高很多。但是他是如此的“超然物外”,以至于他根本不屑于让人知道他的想法。他只用很酷的眼神告诉你:“你被打败了。”只有当你拼命去想,快接近答案的时候去试探他,他才会透露给你一点点线索:“你的方向是对的。”仅此而已!所以自己的能动性和努力是非常重要的。俗话说“机遇只会青睐有准备的人”,“师傅领进门,修行在个人”,就是这个道理。

找对导师,自己努力。如果做不到这两点,那么就不要盲目的进入 PhD。否则那“100个理由”里面,可能有90个都会出现!这两点里,第一点特别困难。因为在这个谣言横行的世界,再加上本科生毕业生经验的缺乏,很难说清楚谁是有真知的人。一般人的做法就是看名气,但是这往往是错误的。所以除非你在本科阶段已经深入的了解了导师,否则恐怕最好的做法是先去工作几年,把自己的生活安顿下来之后,再慢慢研究 PhD 的事情。这样还有另一个好处:因为自己有了经济的保障,你会在师生关系的心理上占据一些主动。因为你随时可以走人,所以教授们不会以为你可以被“任人宰割”。另外一个经验就是,在进入博士学习以后,要多方面考察,不要吊死在一棵树上。不妙就撤,找对前进的方向,节省精力和时间。

那么为什么 PhD 的头衔其实没有价值呢?因为 PhD 不再存在于光辉的迷雾里。这个社会在进步,它知道每年有多少 PhD 毕业,它知道绝大部分的 PhD 到底是怎么拿到的。这个年头,笨蛋也能从名校拿到 PhD,只要你会“混”。PhD 不过是个游戏而已,这是非常真实的事实。“你的 PhD 做了什么?”现在几乎每一个雇主都会问这个问题。他们往往会实际的考察你做的东西对他们有没有价值,而不是只看你的头衔。所以没有作出对他们有价值东西的人,即使拿到了 PhD,也不会受到重视。

美国大学的现状

100个理由》已经指出很多我要说的东西。我下面主要谈一下我自己的看法。

  1. 本科应试教育。上过“新东方”的人都被蒙蔽了。所谓的西方批判性思想(critical thinking),其实在美国是非常缺乏的。美国其实是一个非常“河蟹”的社会。在美国大学里,你很少见到直抒己见的人。美国没有 BBS,没有愤青,每个学生都是沉默的羔羊。学生怕老师,怕分数,是普遍的现象。大家都只关心 GPA,而不是得到真知。我曾经对教育很热心,试图教给他们一些真东西,可是到头来都觉得很浪费表情。因为他们只会在作业快要提交的那天来找你,而且只是想套出题目的答案。不管是 Cornell 还是 IU,还是别的什么世界名校,都是一个样。

  2. 没有深入讨论。“100个理由”提到,同领域的人,都是竞争者,这一点都不假。每一个有点想法的人,都怕自己的想法被别人“偷走”。每一个没有自己想法的人,都想从别人那里偷一点过来。所以结果就是,厉害的人绝对不会在发表论文之前把真实的想法透露给别人。因为他们所关心的,是让这个想法被冠以自己的名字。不管是你的同事,或者领域里的顶尖学者,其实都一个样。如果你很坦率的把自己的想法告诉别人,这个人可能会打击你的信心,说这个想法其实已经有人做过了。等你对自己的想法失去了兴趣,他却悄悄的把你的想法以他自己的名义发表。这种勾心斗角的现象,我经历过或者听说过好几次,所以我现在都不跟人说真实的想法了。核心的想法自己留起来,衍生出来的“二等品”甚至“三等品”才公开出来。当然这样不利于学术发展,但是我也没有办法。

  3. 信息不平等。美国大学的研究生很少直言不讳的评价一个教授的学识和人品,一是怕这些话传到教授耳朵里对自己不利,另外他们不想让你抢走他们的教授。所以当你选择导师的时候,不能轻信任何人的评价,因为他们一般都只会对你说“他是大牛啊。好厉害!”我有一次就是凭直觉觉得一个教授的研究是在扯淡,可是因为别人告诉我他很牛,所以我开始怀疑自己的判断力。在跟他做了一段时间研究之后才完全的确信,他确实就是在扯淡。这种学生之间的信息不通,造成了很多博士生对研究的迷惑。可是具有讽刺意味的是,教授之间的信息通道却是非常畅通的。每隔一段时间,系里都会召开一次全体教授会议,讨论各个学生的进展情况。当然某个教授对你有意见的话,肯定会毫不留情的说出来。所以你看到了,这种信息流通上的不平等,造成了学生们在战略上的被动。学生群体其实是一个非常不团结,充满内斗的被压迫阶级。

  4. 近亲繁殖。如果你想得到真知,那么就去找拥有真知的人,可是真知不等于“仕途”。如果你想在美国大学里找到职位,那么你必须得拼命进入“牛校”,因为只有从那里才能进入这种“学术关系网”。同一个导师的学生,往往能打成一团;而那些导师的死对头的学生,想法再好我们也要嗤之以鼻。IU 这种无名之辈,里面的教授一个个不是哈佛就是 Princeton 或者 MIT 毕业的,所以你可以看到 PhD 已经多到了什么样的地步。进了牛校,不管你最后落到什么样的导师手里,只要你肯做苦力,硬着头皮毕业了,将来一般都能在学术界混下去,就这样永远的混下去。如果无知的同事,违心的夸奖,肤浅的论文,无聊的会议,急功近利的学生,超长的工作时间,能带给你快乐的话,何乐而不为呢?

  5. 发表,发表,发表。“100个理由”提到人文学科的会议以及论文的泛滥,其实在科学界,特别是计算机科学界,也是一样的。全世界都是一样的。我一月份的时候参加了一次本领域最顶尖的会议:POPL(Principles Of Programming Languages)。我不得不说,里面一半以上的论文其实没有什么价值,但是很多打着像“逻辑”一类的旗号来吓唬人。其实会议的基本用途,就是方便人们打广告,拉关系,找工作。比如,我在这会议上就遇到好几个早已毕业的博士在找工作。还在校的博士生们也紧张的忙着向前辈们显示自己。思想的交流?其实很少。所以我对这个领域的会议其实已经失去了兴趣。计算机界顶尖的理论领域都如此,其他的领域肯定就更加扯淡了。我现在看的论文,好多都是出自100年前的大师们。可能也只有他们,才会无私的透露出真实的想法。因为那个年代的学者是很穷的,不被人重视,所以也没有什么动机发表废话。

  6. 政治斗争。一个领域的研究进行到一定的阶段,所有根本性的理论都已经被发现,又不想宣告解散。剩下的日子怎么活呢?没有办法,只好把旧的想法贴上新的标签拿出来兜售喽。或者提出一些“等价”的,却没必要存在的概念。只要有人把你捧起来,你就可以创造新的“领域”,召开新的会议,成为这个领域的头面人物,甚至得到领域里的最高荣誉(比如图灵奖)。所以最关键的事情就是如何推销你的“新想法”,以及如何巧妙的附和别人的想法。有时候即使你的想法其实没有价值,也会有人来支持你。因为这些人都知道这个道理,把你捧红,然后他们也方便沾光了。这就是为什么我经常在几天的探索后发现,某些领域20年来的成果几乎完全没有价值,或者被另一个领域完全的超越,它却能继续组织专门的会议。

那么《100个理由》里面有哪些是错误的呢?我可能想不起所有的,这里只暂时提出几点:

  1. 博士生在学校的地位。关于这一点,《100个理由》有很多误导。其实博士生在学校的地位比起本科生和硕士生,可以说是相当高的。有些本科生喜欢作出一副“大爷相”或者“顾客相”,但是只要你够狠,他们就会服服帖帖的。你控制了他们的成绩,所以他们实际上是怕你的。至于本科生给我的 evaluation,我从来就没看过。只要你研究好自己的东西,学校根本不把本科生对你的评价当回事,因为你对学校更有利用价值。当然,大部分本科生还是友好的。

  2. 朋友很少。读博士到了一定境界,你自然不会再期望有很多朋友。君子之交淡如水。你的境界会让你有所选择,不会再与喜欢低级趣味的人做朋友。所以其实这是一个优点,《100个理由》把这作为读博的缺点,可以说是黑白颠倒了。

  3. 婚姻,家庭。《100个理由》的作者大概是一个非常传统的人。他经常提到这些东西说:“你的大学同学已经在这些方面超过你。”其实他没有看到的是,这些没有上 PhD 的同学们,他们的“成人生活”其实很可能并不那么幸福。结了婚,生了孩子,买了房子,又能怎么样呢?现代发达国家的人们,越是受教育程度高,越是富裕,越是懒得结婚生孩子。很简单的道理,因为它们很少给人带来快乐。相反,它们几乎总是给人带来烦恼。

  4. 孤独。《100个理由》指出读 PhD 会非常的孤独,可是他并没有理解“高处不胜寒”的道理。每一个聪明的人都会不被人理解,都会孤独,这是不可避免的,不管读不读 PhD 都一样。而且一个人单独做一些事情,并不会感到孤独。孤独来自于对“交流”的期待。如果没有这种期待,那么也不会有孤独。比如我小时候总是一个人玩得很开心,自己有一个大木头箱子,里面装满了我从各处捡回来的“宝贝”。那时候我从来没有感觉到过孤独,因为我并不期望有人跟我交流。其实,读 PhD 的时候如果积极参加活动,还是会有朋友的。学校的各种俱乐部,对任何人都是平等的。


This article was posted at yinwang’s sina blog,
on 2012-07-22.
Though it’s not available on the blog now.

(转)我看PhD by 王珢的更多相关文章

  1. (转)完全用GNU/Linux工作 by 王珢

    完全用GNU/Linux工作 王珢      (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...

  2. (转)什么是“黑客” by 王珢

    什么是“黑客” by 王垠很多程序员自豪的把自己叫做“黑客”(hacker),把编程叫做 hack.可是殊不知,其实在最高级的程序员眼里,“黑客”其实是一个贬义词.他们更愿意被叫做“程序员”(prog ...

  3. (转)对博士学位说永别 by 王珢

    对博士学位说永别 by 王垠 经过深思熟虑之后,我决定再次“抛弃”我的博士学位.这是我第三次决定离开博士学位,也应该是最后一次了.这应该不是什么惊人的消息,因为我虽然读博士10年了,可是我的目标从来就 ...

  4. (转)名称和本质 by王珢

    名称和本质 by 王垠 我很喜欢 Richard Feynman 写的 <What Do You Care What Other People Think>.在最开头 Feynman 讲到 ...

  5. (转)小小科学家的归来 by 王珢

    小小科学家的归来 by 王垠很多人来信关心我的现状,所以在写别的技术性文章之前,先说说我现在的情况吧.虽然自己追求的东西和经历都比较不同寻常,但是也许可以给奋斗中的人们一些慰藉和鼓励. 首先是超级好消 ...

  6. (转)为什么需要正则表达式 by 王珢

    为什么需要正则表达式 by 王垠 学习Unix最开头,大家都学过正则表达式(regexp).可是有没有人考虑过我们为什么需要正则表达式? 正则表达式本来的初衷是用来从无结构的字符串中提取信息,殊不知这 ...

  7. python开发之路:python数据类型(老王版)

    python开发之路:python数据类型 你辞职当了某类似微博的社交网站的底层python开发主管,官还算高. 一次老板让你编写一个登陆的程序.咔嚓,编出来了.执行一看,我的妈,报错? 这次你又让媳 ...

  8. Python之路,Day4 - Python基础4

    一.函数 (一)背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 1 2 3 4 ...

  9. 动态代理到基于动态代理的AOP

    动态代理,是java支持的一种程序设计方法. 动态代理实现中有两个重要的接口和类,分别是InvocationHandler(interface),Proxy(class). 要实现动态代理,必须要定义 ...

随机推荐

  1. DAY5 python内置函数+验证码实例

    内置函数 用验证码作为实例 字符串和字节的转换 字符串到字节 字节到字符串

  2. 非常简单的升级phpnow自带的php版本到5.3的方法

    下载PHP5.3 下载地址百度一下“PHP5.3下载”就有很多网站提供下载的,也可以去官网下载最新的,记得下载ZIP压缩的噢 2 解压与命名 将下载的PHP5.3压缩包解压至phpnow的安装目录,命 ...

  3. 用Bitbucket搭建博客初探

    本博客是搭建在GitHub上的静态博客,但是由于GitHub免费账户不能创建私有仓库,导致有些东西不想放在GitHub上. 前两天,在免费资源部落上发现了Bitbucket,它和GitHub类似,也是 ...

  4. 在react native用到的javascript 的一些关键知识(整理中)

    发现了一个讲解javascript的好网站,分享一下,讲的非常棒! 注意,这些文章都可以选择中文进行阅读! 下面这个连接是关于prototype的: https://developer.mozilla ...

  5. CentOS7 屏幕亮度的命令行管理

    1.安装:yum install xgamma 设置亮度:xgamma -gamma n( 0.1 < n < 10.0 ,可以根据自己的喜好设置 2.shell 系统调节亮度调用的是/s ...

  6. app上线具体流程

    前言:前两天有个同事问到我APP上传的问题,几个地方我竟然模糊不清了,查了些资料在这里整理一下.鄙人是一个懒猿,一直以来都是从各位大神的博客中汲取营养,却懒于写自己的.越来越觉得写博客对于一个开发者来 ...

  7. @Controller和@RestController的区别

    1. Controller, RestController的共同点 都是用来表示spring某个类的是否可以接收HTTP请求 2.  Controller, RestController的不同点 @C ...

  8. Pyqt 国际化多语言支持

    国际化是指在代码设计上加入能方便的移植到其他国家和地区的特性, 给Pyqt 添加国际化支持需要五步 一.编写GUI.py 在要被翻译的text上用tr方法括起来 # -*- coding: utf-8 ...

  9. 无废话ExtJs 入门教程二十一[继承:Extend]

    无废话ExtJs 入门教程二十一[继承:Extend] extjs技术交流,欢迎加群(201926085) 在开发中,我们在使用视图组件时,经常要设置宽度,高度,标题等属性.而这些属性可以通过“继承” ...

  10. 基于命令行编译打包phonegap for android应用 分类: Android Phonegap 2015-05-10 10:33 73人阅读 评论(0) 收藏

    也许你习惯了使用Eclipse编译和打包Android应用.不过,对于使用html5+js开发的phonegap应用,本文建议你抛弃Eclipse,改为使用命令行模式,绝对的快速和方便. 一直以来,E ...