应香港大学的邀请写了这篇推送,发布于香港大学微信公众号

姚清宁
工程学士 四年级 主修计算机科学
来自济南外国语学校

看起来“听HKUer说”系列都要先放一张照片?

2018 年夏天在谷歌实习的时候,师傅每周都会给我约一顿特别的午饭。约的人多种多样,从刚毕业不久的同事,到已经在谷歌工作了十多年的他的领导的领导。每顿饭时他都会(像采访即将毕业的学生似的)提一系列问题,最后一个问题总是:“对即将要离开校园步入工业界的学生有什么建议?” 我还以为这个问题的回答会像他们的背景一样五花八门,但事实上所有人都是沉思了几秒之后用不同的形式回答:“你要知道自己想要的是什么”。

大学四年,港大一直在帮助着我我寻找这个答案。到现在也不能说已经找到了,但确实在一步步地向它靠进着。

当音乐创作者开始使用 Python,计算机科学学生也在学习明暗对照法和电车难题

我最开始选择港大的一个重要原因是港大一直在推崇的跨领域学习(Interdisciplinarity)。这不仅是体现在那几百门可选的通识课程(Common core courses)上,学生们也有许多其他机会接触自己主修专业之外的知识。快退到我在选择该去哪所学校读本科的时候:虽然都申请的计算机科学专业,但是当时作为一个普通的高中生,我并不能确定我是否真的喜欢而且适合这个专业,所以在几所相对比较“偏科”的学校和香港大学之间,我选择了更加注重跨领域学习和综合发展的港大。

来港大以后,我发现自己真的有那么喜欢计算机科学(没想到吧),但同时也一直在探索自己专业以外的领域。除了通过通识课程修的三门哲学课之外,我还通过自由选修(free elective)上了几门艺术,经济,数学和统计相关的课程。现在回想起来,给我留下印象最深的课反而不是某门专业课,而是像《西方艺术史导论》(在另一篇“听HKUer说”系列文章中也被提到过)和《古代中国学说中的人与自然》这样的课。高德纳在74年的一次演讲中主张编程不仅是科学,也是一种艺术:创作程序的过程可以像是创作诗歌或者音乐那样,而潜意识中认为自己是艺术家的软件工程师不仅会更享受工作,也会把工作做到更好;《纽约客》的一篇文章把谷歌早期联手建起谷歌的基石的两位杰出的工程师 Jeff Dean 和 Sanjay Ghemawat 比喻成一起创立印象派时的莫奈和雷诺瓦,或者引领立体主义时的毕加索和布拉克。假如我说这些人文课程也以这样微妙而神秘的方式极大地提升了我的技术水平,我一定是在骗人了(反而计算机科学中的许多抽象倒是在一些哲学话题上给了我许多启示),但是这些课对我自己、我对事物的认知和对自己的了解带来的影响都不是任何一门专业课可以相提并论的。对我来说,这些收获的重要性完全不亚于我从大学学到的专业知识。

在学习打代码和打字之外,港大还通过 Uni-sports 和 Uni-adventures 项目提供了许多打球打拳打靶打坐和打滚儿的机会:从这里我学习了以色列近身格斗术,泰拳,羽毛球,网球,甚至基本远足技巧。

以色列近身格斗术班级合影

那个讲死亡哲学的教授还坐在同一张桌子上

在我探索自己的想要什么的过程中,港大给我提供了很好的平台和充足的机会。

大一的暑假我参与了港大与加州大学伯克利分校合作举办的暑期课程项目,修了两门计算机科学的专业课(并且把旧金山附近玩了个遍)之后体会到了伯克利在教学方式上和港大的不同:不只是在讲课的方式上,也是在学生参与的方式上。学生不仅在课堂上都十分积极,连助教等角色都时常是上过这门课的学生们担任的,将“辅导课”(tutorial/discussion)的作用发挥到了极致。于是从伯克利回来的第一个学期,我志愿成为了大一上过的一门课的助教(来填充一下空空的简历),并且暗自决定大三交换要去美国。(注:从那时到现在港大也一直在革新教学方式,现在本科生作为助教参与教学在一些计算机科学课程中已经是普遍现象了)

于是,在选择交换项目的时候,我抱着和选择港大时同样的想法选择了耶鲁大学的交换项目。这个项目也在另外一篇“听HKUer说”系列文章中讲过。

耶鲁大学 2017-2018 访问学生合照

高三的时候曾经粗略的看过一门在线公开课《死亡》,围绕着死亡这个话题讨论了许多有趣的哲学问题。到了耶鲁惊奇地发现曾经那个坐在桌子上讲哲学的教授现在还坐在同一张桌子上讲哲学(除了头发变白了),于是毫不犹豫地选择了那门课。虽然作为一个计算机科学学生,在耶鲁上这样的人文课一开始十分有挑战,但是之后逐渐拿到越来越满意的成绩也实在是充满了成就感的过程,而且每周的讨论课也是非常难忘的经历。

与 Shelly Kagan 教授在最后一堂课后的合影

港大也为公益事业提供了很好的平台。我曾经思考过,作为一个计算机科学学生,我如何才能利用我的技能以最有效率的方式对公益做出贡献呢?大一的那年遇到一个特别的机会 —— HKU CS First,是港大计算机科学系和谷歌香港联合组织的一个向香港贫困家庭的小孩子们提供计算机科学启蒙的公益项目,于是果断地作为志愿者老师参加了。到了大二,我和当时的另一个志愿者成为了项目的组织者。作为组织者比当一个志愿者困难得多,但是看到这样的启蒙对孩子们带来的影响和他们的创造力之后,觉着这段经历还是非常值得的。除了港大计算机系和谷歌香港的支持,项目的进行也是得亏了香港大学学生发展及资源中心(CEDARS)的赞助。

HKU CS First 课堂

在耶鲁交换的时候也参加了一个类似的项目,能在美国的中学里给小孩子们上课也是十分有趣的体验。

Code Haven @ Yale

实习是什么?好吃吗?

在学术之外,作为一个计算机科学专业的学生,一大福利就是有趣的实习经历了。大一暑校时参观了一系列湾区科技公司之后十分向往这样的工作环境,于是大二和大三的暑假分别去了 Indeed 东京和谷歌位于山景城的总部实习。在这样的科技公司工作,不仅是工作文化十分令人愉悦(就像是人们常说的“工程师文化”),而且想到自己的贡献帮助着上亿人找到更好的工作机会或者是获取更好的搜索体验,也是非常有成就感的过程(虽然相比之下也只是做了一点微小的工作,很惭愧)。重要的是在工作中能接触到许多在学校里完全无法获取的知识和经验,毕竟现实中的技术问题也往往比在作业中的那些复杂得多。

即使除去所有这些,办公室里还有装满了水果零食饮料的“微厨房”,被游戏机、台球桌、乒乓球桌、飞镖盘、弹球机等全副武装的游戏室,健身房,冥想室,按摩室,… 还时不时有包场的游乐园,游艇,义工和许多其他有趣的活动。(即使再除去这些,工资当然也是实习重要的一部分。奖学金加上实习工资大概抵消了大学期间的所有开销是我大学生涯最自豪的几件事情之一。)

Indeed 东京办公室内的冰箱

像大多数人一样,我也想过“本科毕业之后是应该开始工作还是读博/读研?”。回头看来,没有比亲身参与实习和研究项目更能给人这个答案了,而我也决定了毕业之后回到谷歌开始我的第一份正式工作。所以实习不仅是提升自己实力的机会,更是一个检验自己是否喜欢而且适合工业界的机会。

谷歌园区里的安卓“派”雕塑

米饭、豆子和国王

在谷歌实习的时候,除了带着实习生做项目的“师傅”(intern host / manager),公司还给每个实习生安排了一名“导师”(mentor),职责主要就是每周随便聊一聊好吃的好玩的,并且给单纯幼稚的实习生们提供一些人生的经验。有一次她给我讲了这样一个故事:

两个儿时的玩伴走上了各自的道路,一个成为了一名不起眼的和尚,另一个成为了一名富有的大臣。

多年之后他们又见面了。穿着华丽的长袍的大臣对衣着朴素的僧侣表示同情,并且说:“假如你能学会取悦国王的话,你就不用靠米饭和豆子生活了。“

僧人回复道:“假如你能学会如何靠米饭和豆子生活,你就不用取悦国王了。“

每个人都有自己想要的生活,重要的是要能发现哪一道菜最合自己胃口。很感激港大给了我足够大的平台去探索和尝试,也希望你们能够在这个平台上找到自己想走的道路。