Ph.D Grind读书笔记——陈宇澄

Prologue

作者出生于亚裔知识分子家庭,在看到了工程师父亲和教授母亲生活状态的差别,以及在工业界实习的经历后,做出了读Ph.D的决定,这是一个理性的决定,我也认为他的选择是正确的,只不过他在进去之前对Ph.D的生活和工作方式有一些美好的幻想,这会导致他在刚开始产生一些失落感。(看完前言以后发现果然如此)

作者到底想要做什么样的事业?成为大学教师,做新颖的研究是他自己想要的工作和生活方式,也是他的亚裔知识分子家庭对他的期望。但他自己的理想是要开发一个帮助程序员的系统,这在computer science当中其实是相当偏engineering的部分,即使是在学校做研究,也会和工业界结合得比较紧密,工作方式上可能也会更接近他所不喜欢的那种工业界的方式。

Year One

虽然大部分学生都希望能在Ph.D阶段对自己感兴趣的问题开展独立的研究和探索,但他们往往都不能如愿,比如在作者这里,导师的funding就决定了在他这里只能做bug查找系统这样的研究。而进入这样一个project的研发过程中,只能从最底层的工作做起,否则连门都没法入,作者在选定这个导师时应该就能预计到这样的事情。

作者第一年被导师安排的这种工作我也干过,属于典型的脏活累活,付出的劳动和获得的成就感并不成正比。虽然我并不打算把自己读Ph.D的时间花在做这种工作上,但如果被要求去做的话,我也会很乐意地接受,因为在与各种bug和细节的斗争过程中,我会成为这个系统的专家,别人对它的了解程度要达到我的水平,至少需要付出同样多的努力,因此我会成为团队中不可缺少的核心力量。作者的理想并不是从事理论研究,而是想开发一个能真正帮助程序员更好地工作的系统,这些经验在将来会成为他很大的一笔财富。

Year Two

作者参与了一个HCI的project来观察人们写程序时的行为,这段经历对作者以后研究empirical software measurement也很有帮助。HCI是CS当中一个特殊的方向,它比其他任何一个方向都更加关注human。其他方向的研究者从HCI也可以得到很多启发,因为从以人为本的角度能更容易地发现有意义的研究方向。

作者还提到进入empirical software engineering的圈子时,因为不熟悉游戏规则而导致论文被拒。看到这里我有些怀疑作者选择这个方向是否正确,因为他的导师对此也并不熟悉,而导师最重要的作用之一就是引导学生在一个方向上顺利起步,而现在学生要和导师一起从头开始探索。而且主要的工作只能由学生自己来做,因为导师还要忙自己的工作——Klee……

Year Three

作者做出回到Klee的决定应该还是比较艰难的,因为这意味着否定当初的自己所做出的选择。不过这时他可能已经没有考虑这么多了,他所想的就是该如何最大化自己发paper顺利毕业的几率。这种现实主义对做研究的人来说并不太好。

在导师和高年级Ph.D并不急于发论文的情况下,作者试图通过self-micromanagement来激励自己,我自己也尝试过几次,但全部以失败告终。这种做法在每天能看到progress的时候还是有效的,但在看不到progress的艰难时期没有极强的毅力很难支撑下去。

最后作者还是退出了Klee,并且对此表示非常庆幸,不过他有没有反思过他在这个project里面的工作方式是否得法?毕竟,Dawson最后用一个学生就把Klee-UC完成了,是这个学生无比强大呢,还是他找到了干这种项目的正确方式呢?

Intermission

作者讲了很多在MSR工作的好处,我想也是我们被布置看这本书的原因之一吧。其中有不少我已经体会到了,比如研究员不需要把精力花在教学和申请经费上。作者能在MSR的三个月内做出比之前更大的成果,原因主要有两个:1.他的mentor是这方面的专家,明白要做什么样的研究才能发出好文章;2. Empirical software engineering这个方向本来就更适合在工业界做,尤其是在微软,因为微软是为数不多既开发大规模系统,又开发开发工具的企业,在这里,他可以直接取得大量用于研究的材料,他的成果也可以直接用来改进软件开发的工作。

Year Four

作者终于提出了一个他自己想做的问题,而不是考虑导师想做什么,或者做什么最容易发论文,这是一个很大的改变。不过,如果他拿的不是fellowship而是RA,事情会如何呢?

我在Year One的感想中曾经写过:“作者的理想并不是从事理论研究,而是想开发一个能真正帮助程序员更好地工作的系统,这些经验在将来会成为他很大的一笔财富。”没想到这笔财富很快就得到了使用。没有在Klee中磨难的经历,他在IncPy中恐怕会受到更多的磨难。

作者在Berkeley部署IncPy的过程中发现他和很多扩展模块都不兼容,虽然从原型到实际部署的过程中肯定会发生各种各样的问题,但作者遇到的这种问题本来是可以避免的,因为如果他有用python分析实际数据的经验的话,他就不会仅仅在没有扩展模块的环境下做测试。

Year Five

作者在一开头讲到这一年他发了好几篇paper,我也为他感到高兴,这么多年的努力终于有了回报,但是我也从他的回忆中看到了他是如何从一个意气风发的fresh Ph.D 一步一步成为一个满脑子都是graduation和dissertation两个词的senior Ph.D。 希望这段经历不要对他造成permanent head damage。

(看到后面,我很高兴CDE让他重新找到了当年的感觉——他不是在为发论文而工作,而是在开发帮助研究者和程序员更好地工作的工具而努力。)

Year Six

作者决定离开学术界,说明他终于想通了我在开头所说的“到底想要做什么样的事业”的问题。学术界并不是达成他的理想的最佳场所,离开学术界唯一的遗憾就是他不能过当教授这种“令人尊敬”的生活了。不过考虑到他的publication还不足以申请到tenure-track的职位,做出这个选择也并不艰难。

Epilogue

在作者给出的20条建议中,我最受用的有这几条:

7. Professors are human ——从理解一个人的角度去理解你的导师,尤其是他的兴趣、厌恶、长处和短处。这会使得他成为你更能有效利用的资源。

11. Know when to quit ——Quitting有时并不是逃避,而是需要极大勇气和智慧才能做好的决定。

13. Ally with insiders ——避免遭遇像作者那么多的苦难的最好办法就是:总是和insiders合作,并最终让自己成为insider。

20. Grind hard and smart ——不用多说了,在任何一个领域成功都需要的。

Afterword

正如作者在Q&A中说的那样,他只集中于回忆他Ph.D生活中的一部分——研究。他的回忆录应该被看作一个断片而不是全景,尤其是关于他人的部分。(比方说,Dawson在他的眼中就是一个只对自己的Klee有兴趣并把自己的学生不断往火坑里丢的形象)不过Ph.D Grind最大的价值就是这个断片是比较鲜活(作者刚刚拿到学位)以及客观(作者的Ph.D生涯既不是彻底成功当然也不是失败的,这使他能以一个比较中性的立场来看待自己这几年的生涯)的,这使得每个人都有机会对Ph.D们的生活和工作状态做管中窥豹式的了解。

作者写出这本回忆录的过程想必也是一种grinding,不仅因为它用122页详细记录了他6年来的过程,更因为作者在写作过程照哦国内,不得不去回忆那些最难熬的日子。感谢作者写作的辛苦努力!

---------------------------

P.S.

作为大四即将毕业的学生,我们在读了这本回忆录以后应该会对自己的前路有更深的思考,我想也是邹欣老师要求我们读它的原因吧。就我个人而言,我希望能在未来从事理论研究,因此我除了读Ph.D以外没有别的路可走,刀山火海我也得上。没有选择带给我的好处就是我可以保持一个比较简单的心态,不需要为这些事情烦恼。我的Ph.D生涯,想必也会和作者有很大的不同,因为作者的方向虽然从大类上属于programming language,但所用的方法更接近system领域的典型方法,和theory还是很不同的。在我Ph.D毕业后,会不会也写这么一本回忆录,从另外一个侧面展示Ph.D的生活呢?呵呵。

 

 

posted @ 2012-08-26 18:19  code连锁店  阅读(402)  评论(0编辑  收藏  举报