这一年来
人在年轻的时候每隔一年思想就会有很大的改变,正是因为一些遭遇,我才有了不少变化。现在的我已经不是去年写「劝君惜取少年时」的我了,也不是大学刚入学时的新生,更不是高中时那个在机房为NOI奋斗的少年。有道是「见多识广」,见的人多了,经历的事多了,人境界自然会不一样。
两次实习经历
今天是我结束在Hulu实习的日子,我是2012年5月2日入职的,到今天整整是三个月。这是我首次在产业界的公司实习,与之前在微软亚洲研究院的实习有很大不同。之前在微软做的是「研究」,听起来好像是很厉害的样子,其实有时候做的东西简直是浪费时间。因为我从一开始就清楚,在研究院做的东西只是为了在特定领域有一个突破,至于这个成果会不会造福人类,那可不好说。运气好的话会被微软产品组看中,做成产品,算是为人类做贡献了。大多数时候你的成果还是被打入冷宫,永远无人问津。更普遍的情况是进入了微软的专利库,别人想做成产品都不行,这简直是阻碍人类社会进步了。我在微软亚洲研究院长达十个月的实习给我最大的收获就是让我决定了将来一定不会去读博士。
我在Hulu做的是纯正的开发工作,也就是「软件开发工程师」,俗称「码农」,做的是推荐系统后台基础架构的搭建,主要搞Hadoop、Cassandra这种怪兽级的工具。值得一提的是我还独立实现了一个简单的规则语言解释器,算是用上了编译原理学的东西,这也是我第一次用上在清华课程上学到的东西。其实我还是挺喜欢比较小的公司的,虽然不是很「正规」,但却有让你在大公司感觉不到的真诚的人情味。我在Hulu的这三个月参加了三次外出活动,其中还有一次是公司全员出动去打「真人CS」,回来一起吃饭的时候Hulu北京的Boss,Joyce Zhang学姐就坐在我旁边,一边吃饭还一边聊,完全没有那种高高在上的感觉。每天午饭和晚饭我们整个Recommendation组的人大家都一起出动,员工和实习生之间非常亲密友善,这和我在微软感觉到的简直有天壤之别。
我选择去Hulu完全是出于巧合。以前我就从两位学长周越和罗穗骞哪里听说过Hulu,他们都在那边实习过。后来有一次我和刘佳倩约好要谈一个项目,当天晚上我却严重感冒,只好取消计划。刘佳倩给我发短信说Hulu在「真维斯楼」有个「博士生讲座」,听起来很牛逼的样子,我便忍着头晕去了那边。在这个讲座上,我对Hulu建立了好感,感觉这个公司挺有意思的,于是回去就把简历投了过去。一开始我的打算是面试一下玩玩,积累经验,去不去另说,因为我那时还正在微软实习呢。罗穗骞知道我想去Hulu后,问我用不用帮忙推荐一下,我拒绝了,理由是我就是想试试自己的实力(其实后来挺对不起罗穗骞的,因为推荐成功一个实习生有奖金)。过了一星期Hulu对我进行了电话面试,问了一个简单的算法题,其实算法和NOIP的一道原题一样。然后接下来约了当面的面试,一共进行了三轮。我挺佩服Hulu的,竟然招一个实习生花这么大功夫,让这么多员工花这么多时间来面试。面试中的算法题对我来说小菜一碟,可能是运气太好了,都是我见过的题。和面试官聊整个过程挺轻松的。一星期后我得到了通过的通知,问我何时入职,我考虑了一下说大概六月,因为还没想好是否离开微软。可是过了两天我就决定了离开微软,此时是四月中旬,我向我的导师提出了两周后离开研究院。我在微软亚洲研究院的导师杨懋是个很厉害的人,他当时就同意了我,而且鼓励我「去吧,工程中的问题才是真正要解决的问题。」于是我四月底离开了微软,五月初加入Hulu。离开之前,我还把李恺威和赵旭推荐给了微软亚洲研究院系统组,一方面是我离开后有空缺了,可以帮同学一把,另一方面是留个人保持联系,了解情况。李恺威在我走之前的一个星期入职了,赵旭也在暑假加入了微软。
要说我加入微软亚洲研究院更是一件巧合的事情了,大概是我去年四月份逛人人的时候,看到了郭华阳发的的一篇日志「MSRA系统研究组招实习生」。当时我正在上大一,饱受微积分、大学物理、电路原理等这样的课的折磨,早就迫不及待想做点什么好玩的了。虽然里面说到的什么「研究」什么「方向」什么「paper」一概不懂,甚至连研究院是干嘛的都不知道,只是听说微软亚洲研究院很厉害的样子,就让郭华阳帮助推荐申请了。我连夜赶制出一份简历,现在看看写得简直可笑,但当时自我感觉还不错。一周以后,记得是我正在上电路原理课的时候,突然接到了电话,我赶紧跑出去接听,对方是一个很友善的声音。他和我聊了一会,就说觉得不错,让我继续和HR联系办手续。开始我还以为这是第一次面试,我收到HR邮件后简直不敢相信竟然这么容易就面试过了!根据我后来的得知他人的经历表示我这种情况简直是绝无仅有,想必是郭华阳学长说了不少我的好话。我决定期末考试以后去微软,于是我在6月22日,期末考试刚完第二天我就去了微软。
两个影响我的人
说到一个对我影响很大的人,应该是刘佳倩学妹,人称倩哥(倩哥名言:「其实我是一个女生」)。认识她是在去年七月,我在微软亚洲研究院待了不久的时候。那时她刚高三毕业,准备来清华。她进入了百度之星决赛来北京参赛,不知怎么得知我在MSRA实习了,通过李晓潇联系到了我,希望我带她去MSRA看看。当时我一想是个学妹,带她看一看何乐而不为呢?就这样认识了她。第一次见她就给了我很深的印象,她是一个眼界很远的人,令我吃惊。后来在清华迎新的时候,我专门护送她办了所有的手续。
开学以后,我偶尔还和刘佳倩保持联系,还有过平安夜晚上一起从清华散步到西直门的经历。和她的交流中我发现了她内在的骄傲气质,平常是难以看出来的。她很有野心,而且个人能力超群,是一个不多见的人才,尤其她还是女生。她在大一入学前就去参加而且通过了百度的面试,令许多人大为震撼。大一开始她就计划去实习,第二个学期她就成功地去了百度。她比我大一暑假实习更早,而且是有目的的,有计划的,有追求的。她给我带来的改变在于今年二月份的偶然一次机会,我约她一起出去吃饭,聊天的过程中她无法抑制对胡伯涛的崇拜,给我讲了胡伯涛大神的许多神迹,譬如本科休学一年去MSRA以第一作者在顶级会议上发了牛逼的paper,毕业时同时拿到了Facebook、Google、Twitter和Standford的offer,从高中就开始投资股市和房产,赚了不可想象的一笔大钱,我算是大开眼界了。
受到刘佳倩的刺激以后,我突然萌发了暑假出国实习的想法。于是我便开始准备,联系了许多学长,向Facebook、Google和Twitter申请。现在想想当时我眼界真的太窄了,知道胡伯涛拿到了这三家的offer,就只知道投这三家。在找实习的时候我突然意识到了我来清华计算机系的意义,并不是它的教学水平有多高,能让我学到什么学不到的东西,而是我拥有中国顶尖的校友资源,他们可以助我一臂之力。我在联系Google总部的时候认识了林爽学长,他令我意外地非常热心地帮助我,教我怎么写英文简历,一遍一遍帮我改。他还给我普及了许多关于国外工作、实习、签证、绿卡、移民的知识,让我了解到了许多我自己不可能接触到的信息。他对我的影响亦可以说是决定性的,他给了我宽阔的视野,让我看到更高更远的前方。
后来我向Google和Facebook投的简历都石沉大海,Twitter回应了,但最终没有通过。我发现我的英语其实是个很大的问题,给外国人说话都颤抖,怎么可能表达清楚自己的意思?于是我当即开始学英语,一边背托福,一边找外国人练口语。我了解到许多公司的实习生早就申请满了以后,意识到自己开始地太晚了,想想美国大学五月就放暑假了,我三月才开始准备,岂能来得及?再申请只能考虑明年暑假的了。可是明年暑假又有另一个问题,我拿J1签证去过美国以后,规定要「回国服务两年」,这令我十分犹豫,并不是因为我决心不想回国,而是因为这样会给自己套一个枷锁,以后恐怕多有不便。无论如何,我总得面试通过,于是便有了我后来尝试去面试Hulu的经历。
一本书
我这一年来还有一个值得一提的重要经历:写了一本书《Node.js开发指南》。写书的过程占用了我相当多的精力,这个经历可以说是难以复制的。最初我想写书只是一个冲动而已,很可能会像其他冲动一样热情过后立即消逝,但我采用有效的激励维持了这个热情,最终算是大功告成。事实证明,我并不需要成为一名大学教授,或者产业界的专家级人物才有资格写书,只要有热情,愿意学习,愿意分享,一样可以写出好书。重要的还是找一个支持你的出版社,找一些支持你的朋友。我很有幸通过徐可可认识到了图灵出版公司的总编,没有他们的帮助我不可能完成这本书。
蝴蝶效应
去年春天受舍友汤汝鸣的推荐看了一部叫《蝴蝶效应》的电影,这部电影讲述了一个拥有可以穿越回过去的特异功能的人。当他人生遇到障碍的时候,他总会后悔自己当初做的一些决定,于是就利用这种能力带着记忆回到了过去,做出不同的选择。然而当他每次回到过去改变哪怕一丁点,之后的人生轨迹都会出现巨大的偏离,随着时间的积累,偏离会越来越大,产生完全不同的人生。我在看这部电影之前,也听说过所谓的蝴蝶效应:「一只扇动翅膀的蝴蝶可能会在德克萨斯引起一场龙卷风」,也在物理课上了解过非线性系统产生的决定论不可预知的混沌,但它究竟对人生有什么意义我是看过这部电影后才开始思考的。以至于后来我经常会想,我之所以是现在的我,到底是为什么,到底是由哪些关键的人和事决定的。
想想看一切都是蝴蝶效应,佛家叫「因缘际会」。如果我没有认识徐可可,我很难保持助写书的冲动,也不可能认识图灵总编。如果我没有参加去年1月赵丽明教授的川滇语言调查,我没有机会认识徐可可。如果我没有选大一上的语音学课,我根本没有能力去语言调查。如果我大一没有在军训时统一选课后又翻一次选课指导书,我连清华破天荒开了语音学这门课都不知道。如果我2009年没有在成都书店的一个角落里面碰到《汉语史稿》,我怎么可能会对语音学产生兴趣?又假如郭华阳当时不认识我、了解我,怎么会愿意把我推荐给MSRA?如果我大一离散数学课上没有做大作业「基于统计语言模型的拼音输入法」,郭华阳怎么了解我?如果我没有参与ibus-pinyin的开发,又哪里知道「统计语言模型」?一切皆是缘起啊,我之所以是现在的我,取决于我做出的一个个选择,哪怕它在当时是及其不起眼的决定,恐怕在将来哪一天会对我产生重大影响。
眼界与成就
有一次和一个已经工作了的朋友吃饭,他问过我一个这样问题:「解决一个难题和做出一件东西,哪个给你的成就感更大?」具体来说,解决一个难题指的是在学术研究领域或者工程中解决了一个难题,小到一篇paper,大到图灵奖、诺贝尔奖;做出一件东西指的是做成了一个可以使用的产品,有许多人使用,产生了价值,小到一个开源工具,大到Google搜索这样的产品。我毫不犹豫地选择了后者,当然是做出产品更有价值。他告诉我这个问题反映了不同人不同的价值观和兴趣所在,简单讲就是前者适合搞学术,去科研,当一名科学家或者专家,后者应该是搞开发,做产品,做一名工程师或者企业家。我的这个朋友告诉我,也许对于我来说,创业也是不错的一条路。后来我也拿这个问题问过不少人,结果都和他预期的判断一致。人生的价值在何处?在于证明自己的价值,或者说自我实现。成就是一个人终生追求的东西,其背后的动力是被人认可,无论是造福社会还是为害人类,都是其副作用。信息产业领域最诱人的地方在于,无论你是一名科学家还是一名工程师,你都会造福人类,从而获得丰厚的回报。
昨天是NOI结束的日子,感叹又是一年,不知不觉NOI已经离我而去三年了。今年杜子德在开幕式上发表了这样一段话:
参加本次大赛的347名选手获得了参赛资格并大多获得到高校深造的机会,其中有65%的选手将获得奖牌,20%获得银牌,12%获得金牌,60名同学将进入国家集训队,其中4名代表中国参加国际大赛。你们中前100名部分选手将直接进入清华大学或北京大学深造。事情是否结束了?没有!大学毕业后,你们可能还将选择出国留学,取得学位,进而参加工作。回顾过去的二十多年,获得国际奖牌的中国选手就超过80名,我们数数,这些人中,有多少在科学、新技术、创办企业、社会管理或社会公益方面为社会作出了杰出贡献?有谁像比尔盖茨20岁时创办了微软公司?像乔布斯那样在21岁时创办了苹果公司?像林纳斯·托瓦兹(Linus Torvalds)在21岁写出了操作系统Linux?又有谁像扎克伯格那样20岁时创建了社交网络?没有!不过,我知道我们的国际金牌获得者王小川现在搜狐担任首席技术官,很有建树,竞赛委员会委员刘汝佳清华大学毕业后和其他人共同创办了和家装有关的尔宜居公司,很有勇气。可能还有其他人。但是,其他获奖选手大部分呆在国外过着安逸的生活。我也听说,今年有一位获得国际金牌选手被某公司高薪聘用,一时成为业界新闻。我想知道,这就是我们的追求吗?是什么影响了我们的创造力?是什么妨碍我们大胆创新?我们为什么总跟随在西方人后面享受人家创造的新文明、新技术和新工具?
首先令我惊叹的是,NOI竟然前100名都能去清华北大了,比起我当年争抢前三十真是恍如隔世。其次,他尖锐地指出了中国优秀学生的重大问题:眼界狭隘。其实我们大多数人并不缺乏能力,而是囿于见识,只敢走前人铺好的道路。一方面这是承担风险与规避风险的问题,另一方面这是多数人缺乏广阔的视野。许多人并非不是雄心勃勃,我相信愿意背井离乡去美国留学、工作、移民的人肯定不是胆小如鼠,只求稳妥的人,而是许多人只看到了自己前辈走过的道路,没有另辟蹊径的意识。
追求更大的成就、更好的生活绝对不是错,错在大家都在挤几个独木桥。对于清华计算机系的学生来说,大家心中认可的无非就这两条「出路」:成绩好的出国读研,稍次的本校保研,至于挤不上这两个独木桥的,只能「被迫去工作」或者走其他「歪门邪道」。为什么大家都要一窝蜂地去读研,很多人并没有想过,许多选择保研的人的理由都是:不太清楚自己能干什么,先读研再说。因为无数前辈证明了读研是一条稳妥的道路,所以大家都亦步亦趋地步着前辈的后尘。为什么大家没有看到别的路可走呢?譬如投身产业界,譬如创业或加入创业,甚至譬如直接去国外工作,从事自由职业,或者花一年去世界各地流浪?有人说,不够稳妥,太不现实了,不能满足父母寄予的期望。终极的原因还是在于,你根本没想到可以这么做,没有认真考虑过自己真正愿意做的是什么。
我想告诉看到这篇文章的我的同辈朋友,以及学弟学妹们,世界竟然如此宽广,你需要有一颗宽广的心去容纳。人在年轻的时候机会成本是最低的,所有你因为顾虑不敢做的事,将来只会顾虑更多。