电子工程(EE/ECE)和计算机(CS)专业的学生,都可以找IT行业的工作(典型就是做计算机软件开发和测试)。其实不是eecs专业的,也可以找,有学化工的,来美国以后拿的是化工硕士学位,也找到了软件开发的工作,而且这样的例子不止一个。
《一》你的美国成绩单上要有计算机专业修课记录来证明你有背景。
这个是唯一的硬件要求,注意,与学位、与专业无关。
这句话有两重意思:
首先,IT公司看到你修了计算机功课,有这方面的背景,才愿意考虑招聘你,才会让你来面试,否则,哪个公司愿意浪费时间给你机会?
其次,留学生在美国工作,需要办理工作签证即H1B,必须要有一些文件,成绩单里的修课记录很重要,对于某些人来说,这决定了h1b签证能否拿到。
至于找工作难易程度、将来办绿卡情况等话题,与本文无关,感兴趣的,请参考《[Warald美国职业谈] H1-b工作签证简介、回顾和形势综述》《美国绿卡申请和移民介绍》,也可以参考一亩三分地《留学美国–北美就业手册》。
《二》如果你是EE/ECE专业的,想找计算机软件工作,一般情况下,不会因为专业不是CS而被歧视的。
前面我写过一篇文章,介绍了什么是计算机工程(Computer Engineering,简称CE)。CE类方向在EE/ECE系里存在好多年了,即使系里没有CE方向的单独学位,EE/ECE系里一般会有很多老师做CE方向。至于EE/ECE系毕业生去IT行业就业的,更是过江之鲫,到处都是。
要毕业、要拿到EE学位,一般至少要修4-5门必修课,而硕士毕业,一般需要10-11门课程,那么,其余的课程选什么呢?各个学校政策不同,这个也是申请选校时需要考虑清楚的,有的学校,其余的课程随便你选;有的学校,卡的比较死,比如只有1-2门课程可以修其他系的。
修CE方向的课程,当然要算在EE学位课程里。这样,你不用跨系选课,就等于是选CS课程了,区别无非是这门课开设在EE系里、由EE系教授上课。举个典型例子,computer networks这门课,ee系可以开,CS系也可以,一门课被两个系开设。— 听上去算是资源重叠浪费,对吧?所以有些学校只允许CS系开课,两个系的学生都随便选。这样你直接“公然”跑到CS系上课。
有的学校EE和CS系合并在一起,叫EECS,这种系里选课更方便。
也得注意:有的系选课政策很随意,导师根本不管,但是也有的系,修课必须先有导师签字批准才行。此外,有的EE系录取学生是按照track(也就是方向、领域)来的,跨track选课也可能有限制。
EE/ECE的老师一般不会阻止学生选软件功课,因为偏软件类方向在本系里就有,CE类方向的很多教授整天也是坐在电脑前面,推公式+写程序+用软件跑simulation,跟CS系极其相似。而且现在这个时代,会点计算机编程技能,无论在哪儿,都被认为是好事。
如果你是机械或者生物、化学工程系的,那就不一样了,因为跟CS没有交叉、不存在CE这类方向。或者像BME这样的专业,跟CS交叉的程度太小了。你要拿化工的学位,但是打算上cs的功课,如果上个一门两门那可能无妨,但是一旦上多了,系里未必允许。
到底哪些学校有利于自由选课,这个属于你在申请阶段就要考虑清楚的,US News排名、 师兄师姐的申请结果、BBS上offer/ad汇报,都无法反应出来。
为什么说申请选校很重要,不能简单的按照排名各个区间选几个完事?这也是原因之一。
《三》计算机系的核心功课数目不多,很容易修满
CS系特有的、并且是非常核心的功课,就是database, operating systems, software engineering三门,再选个data structure with C++ or Java(这个是本科层次的功课,尽管有用,但是一般不算研究生学分),就够了。
这四门课,就是cs找工作的基础。任何这几个方面有经验的人,都可以找cs/IT工作。可能有些人未必赞同Warald这个划分,认为其他领域比如programming lanaguage、data mining、machine learning、AI也很重要。俺这里说的是最低的修课要求。
硕士10-11门课毕业,按照4-5门ee必修+3-5门纯cs+随便来点EE选修课程,你就可以找cs工作了。
将来公司到学校招人,无论是在学校内网挂职位,还是参加招聘会,所有专业的学生都可以去投简历,你自报家门说是EE的,然后说说CS修课情况,所有的IT公司都会考虑你的。
如果你是申请人,还在准备申请赴美读书,Warald要问你:
按照us news排名来选校,能看出哪个学校更容易修cs课程吗?显然不能。我前面说了,有的系政策宽松,有的系卡的很严。这些就属于申请时期的细节工作了,现在考虑好了,以后才会有灵活性和更广阔的选择。
如果你已近在美国读书,Warald要提醒你:
1)弄清楚你最多可以选多少门外系课程
2)CS系的很多功课都爆抢手,稍微犹豫,课就被注册满了。
最后,Warald并非要宣扬、也从来没说“读EE和读CS没有区别”或者“所有人都应该学CS做IT”之类的话。我在这片文章里描述的是“读EE的同学,如果有兴趣,通过精心操作准备,也可以找CS工作”。如果你想找软件工作,最合适的路线,还是直接读CS,把精力100%投入到某个学科,跟只有60%甚至20%的投入,学习效果也有差别的。那么,是否应该直接转去读cs呢?有些人没兴趣,有些人很犹豫,有些人想转但是没那实力。