注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
先上背景:http://www.1point3acres.com/bbs/thread-16207-1-1.html
本文写给所有CS基础较差(但不是零基础),挣扎在ECE专业,但是想找CS工作的人,希望能对你们有所帮助。本文忽略大部分技术问题,只说一些原则性问题,但感觉可能往往也是大家所欠缺的问题。另外我说的很多东西可能不一定很好,而且很功利,所以如果你时间很充裕的话,最好还是不要参考,我主要是写给时间紧迫,必须迅速转型的。
下文所有讨论的内容,都不在于说明任何技术问题(什么时间该选什么课,怎样投简历,怎样准备面试等等),只是想告诉大家,作为EE出身想找CS工作,而又时间紧迫的人,在思想上必须要有哪些准备,要以什么样的心态来面对种种可能的挑战等等。最重要的一点:我们每个人都可以做到,加油!
. check 1point3acres for more.
本人Cornell ECE Meng,12年8月入学,13年5月毕业,3月收到了amazon SDE offer, AWS组。(如果有人感兴趣我是怎么一路从二本吊车尾来到Cornell的,可以移步http://www.1point3acres.com/bbs/thread-27287-1-1.html)
我本科学电网的,只会C,大三大四基本就是继电保护和潮流计算的东西了,C++和JAVA没接触过,不知道什么叫数据结构,不知道什么叫DP。但是当时我申请完之后做了一件事,就是查美国哪个方向好找工作,因为我本科学校不好,信息也很闭塞,所以基本上到了大四快毕业的时候,通过在一亩三分地各种读帖研究,才得出要转CS的结论,并且通过网上的探索,知道了要学C++或者JAVA,要会数据结构和算法,要刷熟150题,虽然当时一冲动买来算法书和操作系统的书,但是由于毕业季各种喝,算法看了50多页就荒废了,暑假也没什么心情看书,每天就是亲戚聚完朋友聚,提前1个月来了学校,每天跟着暑假留守的老生各种趴,罪过罪过。。。但是就是这一个月,我差不多打听到了所有我需要知道的信息,最重要的就是哪些时候要注意哪些很重要的event,自己专业的一些选课策略,了解了很多学校的大体情况之后,规划起来也就简单了很多。
其实我在第一学期开始产生了巨大动摇,当时选课还没结束的时候,career fair就开始了,当时我看到M,A,F,G家前面排起的长龙,听刚刚去了的人说他们问数据结构的题,我当时就觉得自己连这玩意是什么都不知道,废人一个,算了吧。拿着个写满power玩意的简历去跟IBM的HR谈了谈,也是话不投机半句多,拿了个名片就悻悻离开了。我并没有觉得自己不行,很丧失信心,相反我暗暗下定决心,等春季招聘会的时候一定要底气十足的来,要把你们问的都答上来。不过想来想去,看着那些CS科班出身的人顺风顺水,很多career fair结束之后拿到了各种面试,觉得还是转个数字电路什么的靠谱点,不然什么都不会就跟人家竞争,太不现实了。于是我选了digital design, computer architecture,准备以后就找高通Intel的工作,于是便这样离开了CS的路。.
在这里我想讲三个比较值得提的事情。. Waral dи,
第二个是关于Oracle。而且事实上computer architecture竟然如此之有用,我在amazon面试时提到了一个space complexity的话题,我直接拿起comp arch里memory的东西大谈特谈,impress到了面试官,当时他一直在很满意的点头。
第三个是关于自我认知。我们的项目是一年,第一个学期大家就要开始找工作,当时人人上加的CS专业的好友,整天发照片,去加州面试啦顺便las vegas啦飞机误点啦拿到offer啦,看的我好不眼红,而且ECE的很多人也开始面试了,有面intel的有面IBM的,虽然当时没出什么offer,也确实心动。我当时从来没有花一分钟在找工作上,因为我知道自己什么都不会,去了就是白给,所以即使当时很多人问我,你怎么还不开始找啊下学期就来不及了,我说那有什么办法。是啊,人家学了四年的东西,而且大家不是国内名牌就是海本,我一个国内二本的**凭什么比其他人找工作进展快呢?当时的想法就是拼命把现在上的课学会学懂,找工作的事下学期再说,总会有办法的。
. Waral dи,
就这样,一个学期过去了,寒假旅游了一下,然后由于一些愚蠢的原因准备回到转CS的道路上(大家别学我)。于是大改简历,做面试题,自己把常考的数据结构自学了一遍,但是简历还是缺啊,于是第二学期选了算法,数据结构(这又是个2开头不算学分的课,我真会给自己找事),还有个Information System的课因为有大project。然后春季招聘,没敢投F,G,M,听说A面试简单点,就只投了A。当时问recruiter说,你看我简历上差不多都是硬件的东西,就上着几门CS相关的课,有希望拿到面试吗?他看了一眼我的简历,指着我的相关课程说,你上过算法,data structure就够了,面试的时候确保你把这两门课的内容复习好就行,然后把我简历拿走了。我当时很莫名其妙,结果没一个月就给了interview。后来才知道amazon极度缺人,疯狂扩张,去on-site的时候出租车司机告诉我amazon买了一大片地正在盖新楼,里面员工也跟我说现在平均一个星期有100个新员工check-in。不得不说我确实是赶上好时候了,不然谁会要一个简历里project全是电网东东的人啊。-baidu 1point3acres
我们学校的算法有两门prequisite(discrete math, data structure),我都没学过,Information system也有两门prequisite(computer network, database),我也都没学过,所以一度导致我现在各种作业考试超不多中位数,很痛苦,但是值得。我们有ECE想转CS的同学,算法课上了几节之后就drop了,知难而退。我个人觉得,既然想转CS,算法课怎么能不攻下来呢?当时300人选满,现在只剩下100出头了,我很庆幸我坚持了下来。面试的时候考了一道不久前作业做过,prelim前还顺便复习了一下的题。Information system这课也没想到出了奇效,选之前根本不知道这玩意干嘛的,完全没概念,上了之后发现竟然如此实用,project都是用的amazon的AWS,amazon给这门课上的每一个人AWS账户100刀供我们用,于是当提问环节的时候,自然拿这门课当切入点,跟面试官交谈的很愉快,并且面试官主动邀请我加他的linkedin,于是我回去就做了follow up。其实我真的不牛,这两门课快一学期了,长期在中位数以下,最后估计就是B或者B-收尾了,但是我有胆量。很多EE的人,总是担心这担心那,担心自己学不懂跟不上,我们本来就是门外汉转行,学不懂跟不上是肯定的,学着学着就懂了,跟着跟着就跟上了,别怕啊,我还是那句话,必须要做的事情,付出什么代价也要去做好。虽然很多CS的说算法什么的这些自学就好了,确实,人家已经受过正规系统的教育了,所以给出这样的建议,但是作为我们EE本科的来讲呢,真的就一定受用么?简历没东西,CS领域的解题思路不成形,如果不是自学能力特别强的人,还是要鼓起勇气不畏艰难,认真上课,会有意想不到的效果的。
对于我们这些EE出身的人来说,拿到CS offer确实是一个实力和运气共同决定的事情。运气方面,我遇到了本专业课上给力的队友,很照顾我,一直给我分配很少的任务,要不是他们我GPA想过3.5还把C++学好那是痴人说梦;面试遇到了才在homework里做过的题;有个面试官来自AWS组,恰好我稀里糊涂选的一个什么information system的课跟AWS关系紧密;amazon扩张广发interview;computer architecture,第一学期跪的最惨的ECE神课,竟然莫名其妙派上了用场,本来我是由于临时放弃了CS才选的这门课啊。。。所有的这些因素,少一条,都很有可能不是现在这个结果了,但是这些因素又是偶得的,所以不得不说,有时候job offer确实是个缘分的问题。
但是在实力方面,我不讲硬实力(刷题多少道,编程有多强),软实力对于我们EE转CS的人来说,真的非常重要。在我学习电路课非常辛苦的时候,仍然坚持做C++的作业;在很多人选水课对Oracle抱着憧憬的时候,我放弃了达标他家要求,而是选了自己最需要,最锻炼自己的课;面对算法和information system这种prequisite都一问三不知的,我勇敢的冲了上去,并且没有退缩;很多人劝我drop不算学分的C++,我傻逼似的继续坚持着;在周围很多人讨论延期半年的时候,我虽然也犹豫过,但是最后坚定按时毕业,破釜沉舟。
一路走下来,诱惑确实太多太多了,我也为了坚持EE还是CS迷茫过,是按时毕业还是延期半年纠结过,想选水课拿高GPA去Oracle动心过,看着不算学分的C++成片的作业考虑放弃过……由此看来坚持自己的初衷真的是一件很困难的事情,很高兴虽然磕磕绊绊但我还是按着自己的想法和意愿走了下来。尽管辛苦,但是只有这样才会成长。
我知道自己以后会跟同事差距很大,没学过数据库操作系统,编程极其不规范,严重缺乏大project经验,但是,这不就是我去amazon的意义吗。就像我刚来康奈尔的时候,看着北京上海这些大城市的人,清华浙大上交这些名牌大学的同学,再想想我来自经济落后的小城镇,毕业于国内在当地都鲜有耳闻的二本小破校,也是感觉差距如此之大。
不过,有了差距就去追,这样人生才有乐趣嘛。
|