Skip to content

MSRA实习纪(零):简历篇

我从2011年1月25日起在 MSRA (Microsoft Research Asia) 的 Innovation Engineering Group 实习,为期约六个月。在此期间,我会在遵守保密协议、保守商业秘密的基础上,对这次实习经历做一些心得体会的总结。以下是本系列的首篇文章,主要是写了我在正式发出实习申请之前写简历时收获的自我认识。

2010年11月27日,我看到刘未鹏(pongba)发的一条tweet,说他们组要招实习生,为期至少六个月。后来我又收到了未鹏的邮件,问我能否推荐实习生人选。

我知道未鹏在MSRA工作,但当时并不清楚他具体在哪个组。但是我当时的想法是,不管未鹏在哪个组,我相信他的选择,他所在的那个组就是我想去的那个组。我对未鹏的了解始于高中的时候,那时刚刚学了C++,于是就像很多C++程序员一样不可救药地沉迷于这门其创造者都需要别人来教他怎么用的语言的奇迹淫巧中,于是就如同艺术领域的初学者第一次踏入罗浮宫一般,带着崇敬和仰慕半懂不懂地阅读未鹏当时名为“C++的罗浮宫”的博客中 template metaprogramming 之类的C++高级技巧。

然而,高中时的我从未鹏的博客上收获的绝不仅仅是C++的语言技巧。正是从未鹏的博客上,高中的我初次领略了理论计算机科学的美:到现在,我还清楚地记得自己初次阅读《康托尔、哥德尔、图灵——永恒的金色对角线》一文时,被高密度的既极度新鲜又激动人心的概念轮番轰炸(哥德尔不完备性定理、Lambda演算、停机问题、Y Combinator、不动点定理、对角线方法、罗素悖论⋯⋯),那种醍醐灌顶般被震撼到几乎忘记了呼吸的美妙感受。——这就是我在计算机科学领域的真正启蒙吧。

也正是从未鹏的博客上,我理解到了一个程序员最重要的工具是他的大脑,任何fancy的语言、框架、IDE以及各种 buzzwords 的重要性都远不及他的学习方法、思维能力、行为习惯、心智力量的重要性,而正是这些“内功”层面的东西决定了卓越程序员与普通程序员的分野。

(扯一句题外话,刚才提到了我在计算机科学领域的启蒙始于未鹏的博客,而我在有关但并非完全等同的软件工程领域的启蒙则始于某个记不清楚的日期逛北京王府井书店时,出于不可知的原因央求同行的姑父给我买下了一本2004年3月第1次印刷的《程序员修炼之道——从小工到专家》,即 The Pragmatic Programmer: From Journeyman to Master 的中译本。同时,那次经历也是我第一次见识到用一张薄薄的卡片刷一下就能付款。)

接到未鹏发来的邮件时,我自己还并没有找实习的打算,于是我通过论坛等方式把这条实习信息传达给了浙大ACM集训队的现役及往届队员,还给一些我觉得可能会想实习的学长打电话询问,但大家都纷纷表示很难抽出整整六个月的空来。

后来,由于一些莫名其妙的动机,我产生了想离开杭州一段时间的念头。于是我就跟未鹏说我找到可以推荐的人选了,其实就是我自己,呵呵~接下来的当务之急就是写一份简历。坦率讲,这还是我第一次需要写份正襟危坐的简历呢。写之前觉得很容易,不就是把自己干过啥会干啥一条一条列出来么。没想到写了又写改了又改花了大约三天左右才写好第一个让自己满意的版本。(我当前版本的简历可以在这里访问到。)

写了一份正式简历才知道,尽管从前并没有人找我要过这个,但写简历的过程还是给人挺多启迪的。比如说,简历的第一个Section一般都是叫“Objective”,也就是简述你个人在事业和求职方面的目标。我以前并没有仔细思考过这个问题的答案,所以在这三天里一边写其它的部分一边思考,最终写上了一句“Build tools that make programmers’ life more fulfilling, including mine”。——这肯定并不是最终的答案,也许以后的经历会告诉我这个目标定得过于宽泛或者过于狭窄或者并不那么适合自己,但我非常高兴自己能在大三上半学期而不是更晚的时候对这个问题的答案进行了仔细的思考,并给出了一个让当时的自己满意的表述。

对于我来说,在事业方面的困扰从来都不是选择太少而是选择太多:从大方向上来说,不管是 Computer Science 还是 Software Engineering 都可以说是感兴趣且有一定基础;从更细分的 topics 来考虑的话,programming language theory, compiler construction, functional programming, database systems, software verification, parallel computing, software development methodology 等等这些都属于我想搞而且觉得自己大约可以搞的东西。虽然这个列表仍然过长,但至少我已经可以做到割舍一些东西了:例如自己曾经很有兴趣的 human-computer interaction 这个领域就由于发现了自己十分不擅长对 human behavior 的理解而不予考虑了;computer graphics 也决不适合我这种在 spacial intelligence / visualization 这一维度的智力很差的人……等等。另外呢,按照个人目标的指导性,我列出的这些个研究领域大体都是在研究如何让程序员的生活更美好,而非程序员从中得到的益处都只是间接的。这个大目标的确定也帮助我想清楚了很多取舍,比如说 image search 或者 recommendation systems 什么的就是我相对兴趣缺缺的话题了。我很高兴我通过我对自己在事业方向的选择有了更清晰一些(虽然还是比较模糊宽泛)的认识。

简历的下一节是“Skills”,我首先写的是 Algorithm design, analysis and implementation。这一方面是因为我要面试的这个职位要求算法能力强,另一方面是,经过了这些年从 NOIP、NOI 到 ACM/ICPC 以及其它种种算法比赛的锤炼,这的确是我最可以脸不红心不跳地往简历上写的技能了。

下一组  Skills 是重头戏 programming skills。在编程语言方面,我写上了我能用 Ruby、Python、Haskell、C、C++、C# 写出清晰的代码(其中除了Haskell写上去有点心虚其它感觉都还差不多)。自己有一定经验的库或框架包括 Web development 方面的 Rails 和 Django,测试方面的 RSpec 和 NUnit,parsing 相关的 Flex、Bison、Treetop 这些。另外还写上了 DSL (domain specific language) design and implementation in Ruby; functional data structure implementation in Haskell; embedded Linux development in C 这几样技能(其实呢,从现在的角度来看,当时的自己应该是还没资格往简历上写 Haskell)。

编程工具方面,我写上了我较为熟悉的版本控制的工具包括 Git、Mercurial、Subversion;习惯的 Editor/IDE 包括 Vim 和 Visual Studio;不管是在 Windows、Mac OS X、Linux 哪个操作系统下都能干活(其实我对这三种OS的顺手程度的顺序并不是这样的,不过考虑到我投的是微软就把Windows写第一了);最后还很有些大言不惭地写了一条自己熟悉常用的Unix命令行工具。

在 Skills 的最后一节,我自我感觉良好地写上了 excellent quick learning and problem-solving ability under time constraints 以及 critical thinking and effective communication。我想,写上这些至少表明我完全明白这些 soft skills 也是一个程序员必须重视、不可或缺的技能。

描述完自己的技能之后,接下来的 Achievements、Experience 什么的就是有啥说啥了,发现自己的大部分可写的成绩和经历都是从 ACM/ICPC 及 TopCoder 的比赛中获得的。Open Source Experience 方面自我感觉有点寒碜,以后希望能多贡献一些。

于是简历基本上就是这样了,把纯文本及HTML格式的简历发给未鹏,不久便收到了北京的来电通知电话面试,面试时间定在12月20日下午四点至五点,面试官是 Xiao Liang。鉴于我并没有针对此次面试签订保密协议,也并没有人告知我有保密的责任,于是我会尽量完整地说一下我的面试过程以及心得体会。请期待《MSRA实习纪(一):面试篇》。

7 Comments

  1. hbc wrote:

    居然换了主题,还有你的resume上的phone太有喜感了,居然还是一个prime number.顺祝新春快乐+实习愉快啊

    Wednesday, February 2, 2011 at 14:31 | Permalink
  2. pondering wrote:

    想必又会是一系列激动人心的文章

    Wednesday, February 2, 2011 at 17:19 | Permalink
  3. layla wrote:

    虽然不是同行,但偶然看到后还是觉得此系列很值得期待:)it must be inspiring….!

    Friday, February 4, 2011 at 03:49 | Permalink
  4. duguyue100 wrote:

    话说终于能瞻仰一下更新了。

    Friday, February 4, 2011 at 11:06 | Permalink
  5. Bruce wrote:

    期待中。。。

    Sunday, February 20, 2011 at 16:20 | Permalink
  6. dizi wrote:

    从2008 到2010跳着看你的博文,简直不敢相信出自同一个人的手中!气质完全不同啊!前篇你推荐的elements of style真的很符合我的胃口,authentic happiness 我没读原文,只看你的笔记,感觉就够了……我是高三的学生,一度也在读弗洛伊德,不过现在跳到弗洛姆了……不过目前,我和你当初的任务不大相同吧,你写高三是目标是很明确的,而我呢,用李政道的那句来概括,是“真正的科学家是在没路的时候寻找出路的人”

    Saturday, February 26, 2011 at 23:28 | Permalink
  7. Hi are using WordPress for your site platform?
    I’m new to the blog world but I’m trying to get started
    and create my own. Do you need any coding expertise to make
    your own blog? Any help would be greatly appreciated!

    Sunday, October 5, 2014 at 20:29 | Permalink

2 Trackbacks/Pingbacks

  1. GWeekly[2] = Home – 我住包子山 on Monday, August 15, 2011 at 08:58

    [...] MSRA实习纪(零):简历篇|dd wzc之前在研究dd的简历生成, 这种方式挺好 [...]

  2. GWeekly[2] = Home | 我住包子山 on Wednesday, December 28, 2016 at 03:50

    […] MSRA实习纪(零):简历篇|dd wzc之前在研究dd的简历生成, 这种方式挺好 […]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*