累并快乐着——仗剑Cornell University
赵XK
2015级ECE Meng Project
作为常春藤院校中最年轻的一所,Cornell University校园迸发着朝气与活力,其Engineering学院、商学院及人文学科均有着不俗的实力。Cornell所处的小镇Ithaca虽较为偏僻,却风景宜人。如此的地理位置为学子们提供了绝佳的学习环境。不同于NYC的灯红酒绿和CA的阳光沙滩,这里的安静氛围让人感觉踏实,内心的平和使人能够静下心来学习任何东西。如果你向往外界的声色犬马,这里并不适合你;如果你追求丰富的课余生活,这里也不是最佳之选;如果你迷恋都市的繁华,这里也不是久留之处。但是,Cornell能让你踏实学习,安心的追求学术,呼吸新鲜的空气,享受全美Top3的食堂,漫步于广阔的校园,学习任何感兴趣的课程。对,我说的是任何课程。Cornell拥有非常flexible的选课系统,无论你是什么专业,在这里都能选到其他专业的课程,这与Cornell的校训紧密相关。作为常青藤院校,这里的体育课也非常丰富,球类课程一应俱全,还有有趣的爬树课,手枪课,滑雪课等。
接下来,我谈一谈从15年8月以来的就读感想吧。我们这届的ECE专业大部分人都是为了转CS专业而就读的。大家的目的十分明确:转CS方向,写代码,毕业后在美国就业。Meng Project是一年的项目,当然为了方便就业,可以选择延期一个学期,这样就成为了一年半的项目。基于传统,Cornell没有MS只有Meng,我猜想这可能是为了将工作与科研区分开吧。CS专业有MS,不过bar非常高:口语要达到27分,其余单项都要高于25。这一点我想国际学生是很难达到的,而且名额在10人之内。如果你选择了Cornell的graduated项目,那么恭喜你将收获海量知识,同时要付出许多汗水。你将接收到美国最好的教育,同时也要做好吃苦受累的准备。我们这届ECE的学生属于比较强的,大家的目标非常明确,每个人通常都是晚上1,2点从图书馆往家走。第一学期结束,几乎所有人的GPA都是4.0+,由此可见大家的实力与努力。图书馆都是通宵的,除了周末。所有学院的大楼都是24小时的,里面永远都有奋斗中的学生。选择了Cornell,意味着你选择了这样的一种生活:工作、学习的压力虽无处不在,但是这种痛并快乐着的自我修炼,着实是宝贵的人生经历。这也让人意识到,出国留学并不是享受,而是打磨,是拼搏。作为ECE专业的学生,我们本科没有丰富的CS课程经验,所以过来后每学期需要选大量的CS课程补基础。CS的课程每一门的workload都非常大——作业,project,考试一应俱全。但重要的是它确实能让你提升。然而,上课本身并不能丰富简历、增加就业砝码。课外,同学们还要找老师做project积累开发和研究经验,另一边自行刷Leetcode。需要注意的是,graduate student为了完成毕业要求,一年半之内要修三门本专业课程。这样一来,我可以负责任的说,ECE和CS的学生是graduate student中最累的人群。
拿我自己来说,在来到Cornell之前我就决定以后要学习Machine Learning方向。第一学期我就只选了三门课:Machine learning,Computer Vision,和Meng Project。一个学期的时间,我把主流的machine learning模型全部学了一遍,并有很多实践的经验。很感谢Cornell,我在这里找到了自己喜欢的研究方向,找到了合适的导师Kilian,跟着他做Machine learning的project,尝试各种模型,优化各种算法,积累宝贵经验。一个学期的努力,也让我收获了暑期EA sports的data scientist和Amazon的SDE暑期intern offer。暮然回首,仅仅过了一个学期,但是收获的知识却超过了之前几年的积累。不得不说,Cornell给了学生们随性学习的机会:大家在这里找到喜欢的方向,并借助充足的资源去发挥潜能。
近几年来转CS专业的学生越来越多,因为美国的CS相关职位非常多,工资也是比较高的,平均都是11W年薪的base,还有股票和sign on的钱。比如说,Facebook签了合同就有4W dollar。但是我想对转专业的同学说,希望大家考虑清楚:这是不是你喜欢的事业?是不是你向往的生活?IT行业的高薪背后是艰辛,写代码是非常劳神的事情。对,是劳神并不是费脑。我觉得写代码并不费脑,唯一费脑的就是构思算法而已,其余的实现与架构都是劳神的部分。如果你想成为后台工程师,Cornell CS的课程绝对能让你成为一流人才。如果你想成为前端的工程师,CS本科的逆天课程能让你见识到各种本地大神,各种最前沿的技术以及配套的project和讲座。拿我自己来说,我更喜欢天马星空的胡思乱想,并不乐衷于实现,并且我喜欢数学相关的知识。在我看来,没有数学或者算法的代码是没有灵魂的。出于这种原因,我选择了Machine learning的方向。这个方向让我有无限种想法,而写代码仅仅是其中一个很小的副业。当然这种选择也意味着,如果你对模型不够熟悉,没有经验,找工作会变得非常难。在美国找工作,最容易的当属software engineering,职位需求也是最多的。而学习data science或者machine learning意味着竞争对手大部分是研究型MS或者PhD,想要从这些人中脱颖而出找到心仪的公司,是有难度的。像Google和Facebook这类公司,如果不是PhD可以不用考虑data science 这种职位了,一般要先从Software engineering做起,像我们投这类公司的时候都是投的SDE职位。当然,SDE最重要的就是刷题,这里说的刷题不是刷作业题,是刷Leetcode OJ。这是面试必备的,在找全职工作之前,至少要保证做过两遍。Leetcode有300多道题,刷第一遍的时间大概是不到2个月,之后第二第三遍就很快了。从某种程度上,找工作和准备GRE有点像,但是比GRE难不少。如果说刷Leetcode是剑法,那么平时的个人积累与上课就是修炼内功,必须内外兼修方能找到心仪的工作。而像难度较高的Google、Uber、Airbnb公司,刷leetcode已经不够了,必须要举一反三,多多总结。同时,电面onsite也是看运气的事情,遇到印度人,如果不发挥完美基本就没戏;遇到中国人或者美国人就比较好,不会为难你。当然不刷题也可以找到工作,绩点高,3.8接近4.0,那么oracle会无脑要你,这一般是大家留的一条后路。
如果你喜欢的是硬件而不是软件,ECE专业绝对是你最佳选择,这里的硬件课程可以用完美来形容,当然完美背后是巨大的workload。ECE的神课Computer Architecture是这所学校的代表性课程,MIT的PhD教授batten大神亲自把关,这门课就是一个字,虐!4学分的课workload应该接近6学分。但是还是那句话,学完后收获巨大。
之前说的都是在Cornell的学习情况,至于在Cornell的生活……额,生活是什么?食堂还不错,学校很漂亮!来了就知道了。不过这里的气温非常低啊,虽然暖气很给力,还是要做好准备。