硕士阶段应该选择软件工程还是系统的 CS 训练

2015-03-27 10:15:17 +08:00
 yhf

小弟即将赴美帝读硕士,目前纠结于两个学校之间,无奈目光有限,希望能有过来人给一些建议。

先介绍自己的背景,本科在某普通工科院校,学的是电子,没有系统的学过计算机的课程,只学过数据结构,有一些Python的基础,其他C++, Java等会一些语法... 另外,就业导向,无读PhD打算。

然后是关于两所学校:

A校

某CS顶级牛校的硅谷校区, 专业是软件工程。

课程基本上是关于软件工程的,如 Foundations of Software Engineering, Software Architecture, Software Verification, Validation and Testing. 而据我了解,例如 Foundations of Software Engineering 这门课,讲授的是如何从零开始用 Ruby on Rails 做出一个产品。还有一些课程,例如学 Hadoop开发, Android开发。个人觉得,在学校中学习这些技术的意义不大。

而选择这个学校的优势在于,它位于Mountain View, 有非常多的与周围大公司合作的工业界项目,可以丰富简历。而且地理位置优越有利于找实习和面试,career fair上附近的start ups几乎都会过来。

B校

位于距纽约车程4小时的农村,专业是电子与计算机工程。

优势在于,该校的选课非常自由,可以全部选择CS的课程,甚至本科生的基础课程,因此在那里可以接受系统的CS训练。例如,除了修读Java, C++等课程提高编程基础,还可以学习数据库,操作系统,机器学习,分布式等课程。个人觉得这些训练非常必要,对职业生涯会非常有帮助。

该校的缺点在于,地理位置稍差,实习、面试不方便,硅谷的小公司不会跑这么远过来招人。距纽约较近,但纽约的工作大多是金融、媒体行业的IT岗位,而个人还是偏向于互联网公司。

目前个人是倾向于B校 > A校。我以为,A校能带给我的只是第一次求职时的便利,而B校也许能给我带来 长久的、更大的提升(不知道这种想法是否naive)。但是,周围也有同学选择了A > B,而且还有一些学长认为去A校可以积累更多项目经验,而基础课程可以自学,没有去B校的必要。

资历尚浅,阅历有限,还请前辈指点。

9319 次点击
所在节点    程序员
97 条回复
kongkongyzt
2015-03-27 10:18:16 +08:00
我个人觉得是A校比较好呢
sNullp
2015-03-27 10:18:36 +08:00
A一定是 CMUSV 。。。
B看来是 UPenn 或者 SUNY-SB

但实际上你在学校学的事实(facts)一旦进了工业界都被爆成渣,唯一能保留的是良好的代码风格、坚强的心理素质和数学。所以课程方面其实差别没你想的那么大,只要坚持一直 coding 就行了。
fengdragon
2015-03-27 10:22:10 +08:00
没有读博的打算,还是觉得选A好啊,
平台广,实习多,真正参与到业界的coding中
yhf
2015-03-27 10:25:03 +08:00
@sNullp 哈哈 A校猜对了,B校是Cornell其实...
话虽是这么说,但是显然在康村能接受更完善系统的训练,数学方面也可以得到提高。感觉去CMU就只剩做项目了...
yhf
2015-03-27 10:31:16 +08:00
@fengdragon A的这个项目主要是为有工作经验的人设立,对我这种本科非CS的人来说,担心效果不大。我没有大的系统的开发经验,感觉软件工程的知识对我来说没有意义.... 我是这样想的,业界的coding项目迟早会有,不差这一年两年,但是能在学校学习CS的理论知识的机会,可能只有这次了。
imn1
2015-03-27 11:15:47 +08:00
以学习为目的的,选软件工程
以将来就业为目的的,选丰富简历
所以,都是A

不要自己把范围缩小到“软件”,而是要放大到“工程”
当然,对于学校素质和自身能力的分析,还是要自己决定,其他人都是旁观者
phoeagon
2015-03-27 11:16:28 +08:00
第一個一定是CMU的硅谷campus。。。
yhf
2015-03-27 11:18:52 +08:00
@phoeagon yep.......
yhf
2015-03-27 11:21:33 +08:00
@imn1 “以学习为目的的,选软件工程”这句话愿闻其详。只学习软件工程在职业生涯是否会遇到瓶颈呢....
imn1
2015-03-27 11:36:51 +08:00
@yhf
既然是美帝,我第一反应就是管理思想,中国不缺技术牛人,缺管理思想
一个工程,时间、地点、人员、资源、流程都要考虑怎样分配,有时两个部件哪个先行都是学问,这个不仅限于软件,做其他项目都一样,简单如自己开个店也要做这些准备
题外,软件工程可能地点、资源管理方面比较弱,因为都是虚拟的空间转移,资源也单一(多为电脑和文档资料),这个要自己另外加强

所以我之前提醒你不要自己把自己限定在“软件”这个概念,而是要放大到能应用在所有项目的管理思想
init
2015-03-27 11:39:38 +08:00
我倒是想歪个楼 问一下你怎么考上的?
yhf
2015-03-27 11:51:19 +08:00
@imn1 嗯,thanks,我明白你的意思。但是对一名像我这样的应届生来说,技术水平都还不强,考虑这些项目管理、流程,是否还为时过早?
yhf
2015-03-27 11:52:24 +08:00
@init 额,申请的话,主要看GPA,本科学校,托福,GRE,实习经历,申请文书这些吧。
Andiry
2015-03-27 11:53:05 +08:00
A那些东西真心没意思,顶多是本科难度,都可以自学
我的建议,如果你CS已经有不错的基础,只是需要一个找工作的跳板,选A;如果你觉得需要提高CS技能,选B
Andiry
2015-03-27 11:54:27 +08:00
另外,B是啥项目?M.Eng还是MS?
yhf
2015-03-27 11:58:30 +08:00
@Andiry 嗯,这个想法与我目前的一致。但A的优势在于资源实在是**太丰富了**!每天都有各种大公司的技术分享会,所有硅谷的startup三天两头跑过来招聘,和工业界的各种合作项目。A的难度暂且不论,但我觉得项目经验迟早都会积累,在A的话不过是可以提早积累。只是我不知道,为了提高CS技能而去B,长久来看,是否值得?是否rewarding?
yhf
2015-03-27 11:59:00 +08:00
@Andiry M.Eng,Cornell没有MS....
dcoder
2015-03-27 12:00:49 +08:00
当然去硅谷
Andiry
2015-03-27 12:02:28 +08:00
@yhf 那你还是去A吧,Cornell的MEng我觉得是骗钱项目。
当然A的那些课程不能作太多指望,还是要靠自学
imn1
2015-03-27 12:04:00 +08:00
@yhf
不早了,管理思想,有可能接触的话应该尽早学习,因为更多能力是在实际做事碰钉子中累积,从小开始最好;更何况你离就业已经不远了,就业初期虽然不一定能立即做到管理岗位,但看看别人碰钉子从中累积也是件好事
我现在教一个亲戚的小孩(小学班长)做班务工作,我就已经让她写准备列表/备忘录/总结,从小培养她的条理性

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/179649

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX