寄托天下
查看: 7659|回复: 0
打印 上一主题 下一主题

[活动] 毫无CS背景的人如何在一年半以后拿到硅谷科技公司software engineer的offer [复制链接]

Rank: 9Rank: 9Rank: 9

声望
1555
寄托币
14569
注册时间
2009-4-17
精华
18
帖子
344

美版版主 Cancer巨蟹座 荣誉版主 AW活动特殊奖 GRE梦想之帆 GRE斩浪之魂 GRE守护之星 US Assistant US Applicant

跳转到指定楼层
楼主
发表于 2013-10-25 11:22:22 |只看该作者 |倒序浏览
本帖最后由 AdelineShen 于 2013-10-25 11:25 编辑

转一篇我朋友的文章,Mechanical Engineering找CS的工作。

在国内各大知名留学论坛上有不少关于在美国换专业找工作的问题,看了一些回复之后发现可能大家对于此的认知有些误区,所以在这里结合自身的经历写点关于换专业找工作的东西,希望对大家有帮助。

首先大致介绍下自己的背景,斯坦福的机械工程设计方向的硕士,本科也是机械工程, 但后来找工作面试的全是硅谷的software engineer的职位,当然拿到的offer也是。

先讲讲自己的一点经历,如何一步步从mechanical engineer转变成software engineer的。

本科的时候完全是纯机械,上过唯一和objective oriented programming相关的课程就是C++, 大四的时候找一个cs的教授做research, 是computational geometry方面的,纯打酱油,用CAD(这完全是ME的技能)做3D模型来测试算法的效率。后来抱大腿就成了那篇paper的三作。一下子自信心暴涨呀觉得自己天生是CS的料没上过专业课也能发文章呀!然后申grad的时候申了CMU, Berkeley 的HCI(Human Computer Interaction, CS的一个方向)和MIT的Media Lab。现在回想觉得自己当时too simple too naïve, 这不明摆着在浪费申请费么。嗯, 后来去了斯坦福的机械硕士的项目(果然CS申请全给跪)。。。

所以实践证明,这样子简单粗暴的转专业方式是不可取的,或者说,risk很大,自己掂量着吧~
到了斯坦福就立志不要吃着碗里看着锅里的,专心学习机械, 找的advisor就是computational engineering方向的大牛,现任斯坦福航空航天学院的院长。结果除了开学初聊了一次天,就再也没有去找过这个大牛…. 因为我自作主张换了方向去学design了~斯坦福大多数的学院选课很随意(下面会再详细点讲),我刚进的时候选的方向是比较传统的computational engineering,进来后发现design更加有意思,就选了很多design的课,方向也自然换成了design。

其中一门3个学期的Design课,做的项目是给日本松下公司设计所谓的‘TV for the next generation’,最后设计设计着发现要最终要做的产品是软件而非硬件,涉及很多网站的开发。然后开始自学网站前端的开发,写点简单的html 和 css。就这样开了个码农的头。刚好那个学期学校有教Ruby on Rails的课,就跑去蹭了几节(就3,4节吧,听课总是想睡觉,后来就不去了)。对网站前端后端开始有了大致的了解。

到暑期要实习了,刚好这边的腾讯北美新弄了个孵化器,给斯坦福想自己做点项目的同学。就去了孵化器,一暑假做一个iOS app。我是负责写后端,当时虽说Rails懂那么一点,可哪能写整个app的后端,连怎么开始都毫无头绪。然后就自学啊,问啊,折腾一暑假还真弄出来了。那个暑假同时还给斯坦福的一个教授做网站的前端开发。那教授弄了个Venture Lab, 就是和Coursera差不多的那种在线教育网站,招几个学生帮他弄。我是唯一一个写前端的,压力那个大啊。又是边做边学。

暑假三个月基本在coding中度过,感觉那时学得非常快,因为知道的少嘛。过了暑假就基本决定从此告别ME了。所以那个暑假的过程还是起着决定性的作用。

斯坦福是quarter制的,自己在剩2下的两个quarter里面又上了Machine Learning, Data Visualization, iOS Application Development这些比较practical的课,然后面了一堆这边的大公司小公司software engineer的职位(下面会详细点讲这个), 感觉在面试的过程中也是边面边学。

总得来说,专业上的转变,上课只是很小的一个方面,自己学自己做才是最重要的那部分。

讲了自己的经历,再讲讲一些大家在这个方面可能会有的疑问。

   1. 觉得我这样的是个例而已
绝对不是个例。不说很多美国人都这样,我知道的这样子的中国人也不少。有一斯坦福数学的本科,后来码农了;有一EE的PhD,毕业去了Youtube, 自然也码农了;还有…. 反正太多了。

  2. HR凭什么会给不是CS文凭的人面试码农的职位

在你工作以后,没人care你是什么专业的文凭。那在你找工作的时候公司会在意吧。的确是有些极品的公司会在意,但是绝大多数公司都不会在意,看你resume里面的经历来进行筛选,而不是专业是什么。以我自己为例,大公司像facebook, google什么都面了,小公司就更加多了。面试的时候基本会被问道,为什么你的专业是机械,你现在却对software engineer感兴趣。然后正好以此为话题可以聊开。

此外,不是所有公司都是由HR来决定给不给面试,很多公司,特别是初创公司,都是由product manager来筛选。

   3. 好好的干嘛要换专业去做码农

一是自己很喜欢coding,二是美国大环境下CS找工作相对容易(不要以为学了CS就一定能有工作,能不能拿到offer还得看一轮轮面试的表现)。如果你不喜欢coding, 同时也不屑为找工作能相对容易就‘折腰’,那就别换呗。这篇文章绝对不是去鼓励大家人人换专业去做码农。

  4. 美国的选课真的那么自由吗

我觉得是大多数学院是挺自由,但是不要以为所有都是这样。就以已经很自由的斯坦福来说,CS的学生选课是最不自由的。基本上必修的一排,就没什么空余给其他的课了。而且因为有些课只有某个quarter才有,你不得不在那时上,不然错过你就不要按时毕业了。像ME, 只要选好24个ME课的学分,剩下的21个学分基本属于随你安排。说是要给你的advisor同意通过才行,但我的那advisor每次估计看都不看就给签字通过了。

  5. 码农是吃青春饭,高薪是用小时数堆出来的吗?

至少在硅谷绝对不是。像Oracle那种养老院就不说了,这儿大多数公司还是很  flexible的,有时想work at home也可以,只要把活干完。所以这里讲究的是get things done,而不是你一天工作几个小时。放心,不会扔非常多的活给你做的。我刚开始工作不久,作息是10点半到公司,6点离开公司。从来没有加过班。绝对不会像咨询公司那样,从早上9点到晚上12点。

大概就这么多了。如果大家有一些比较specific的问题,欢迎大家跟帖提问或到Palm Drive网站提问。

[版权归Palm Drive所有。转载请注明出处]

回应
1

使用道具 举报

RE: 毫无CS背景的人如何在一年半以后拿到硅谷科技公司software engineer的offer [修改]
您需要登录后才可以回帖 登录 | 立即注册

问答
Offer
投票
面经
最新
精华
转发
转发该帖子
毫无CS背景的人如何在一年半以后拿到硅谷科技公司software engineer的offer
https://bbs.gter.net/thread-1658283-1-1.html
复制链接
发送
报offer 祈福 爆照
回顶部