女生去美国读计算机本科好不好?
作为在美国的CS研究生,我来答一下这个问题。 先摆结论:如果你只是想学好CS,然后回国就业;那么来美国学CS是很好的选择,因为美国CS教育的质量确实是全世界最高的(没有之一)。但是如果你想在美国找工作留在美国生活,那么来美国学CS就不是一个最好的选择了。为什么呢?接着往下看! 我们先来分析一下想在国内互联网大厂工作的同学的需求。这些同学一般都有两个共同的诉求:第一是在毕业后找到一份高薪的工作,第二是为了以后能够在国外轻松换工作,所以目标企业一般都是TMD或者类似TMD的企业(百度也凑合吧哈哈)。
为了达到这两个目的,这些同学一般会采取两种方式。第一种就是申请国内双一流大学的计算机相关专业,比如中科大的计算机,南大、东大的计算机,中大的计算机等等。虽然这类学校的计算机专业不是最顶尖的,但是学校本身的牌子还是能带来一定的加持效果,再加上有985/211的称号,一般能找到这样的工作。第二种就是申请北美top50的学校,像CMU, UIUC, UW, UBC这种,或者像OSU, UMN这种相对排名不高不低,但是计算机专业的水平确实很不错,甚至不输上述几个学校。以OSU为例,其CS的PhD项目的毕业生几乎百分之百都能找到cs相关工作,而且起薪很高,而UMN虽然排名不高,但是CS的毕业生的就业情况甚至比一些top50的大学还要好(据我在Linkedin上的观察)。
这里就出现了一个问题——如果来美国学CS,你能不能找到满意的工作呢?我的回答是未必。为什么这么说呢?一方面是因为如果你申请到了这些学校的CS,说明你的背景和成绩都是非常好的,那么跟你同时申请的中国人就不一定比你差,而中国又是一个人口基数巨大的国家,这样就会使得中国学生在美国IT行业的竞争力相较于其他国家的申请者来说偏弱。另一方面,CS这个专业的就业太广了,这意味着你毕业之后所从事的工作可能并不是你最喜欢的,而是在你能力范围内所能找到的最合适的工作。既然你已经选择了CS这个专业,那就意味着你今后的职业生涯十有八九是要与代码打交道的,这并非一件让人感到兴奋的事情(至少不是我内心的向往)。
当然会有小伙伴说,那我就回国找呗。但是我要说的是,其实你在美国所学到的知识框架和思维方式是跟国内的教育完全不同的,你想完全转换到国内的思维和方法论也不是件容易的事,更何况很多国内互联网企业所追求的技术栈其实是落后的(比如说微信团队自己写的开源项目Wechat-CPP就比他们用的C++标准库要落后好几代)。美国CS的培养模式也是强调从基础理论出发进行科研,这一点跟国内也是完全不同的。所以你说你要返回头来再适应中国的就业环境,我真的为你感到惋惜......(手动摊手脸)
如果你想在美国CS就业大环境里分一杯羹,那么你就要做好从底层开始奋斗的准备。不是说CS不能从底层向上奋斗,而是因为CS是个覆盖面特别广的专业,这就意味着当你选择它的时候也意味着你要放弃一部分你原本感兴趣的其他领域。也许你会说你可以在工作后继续深造别的感兴趣的专业,但是我劝你还是打消这个念头比较好,因为职业时间和学业时间都是人生非常宝贵的经历,不要轻易浪费。如果真的对你来说CS实在提不起兴趣,那么请你转码成功!