硕士阶段应该选择软件工程还是系统的 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校的必要。

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

9530 次点击
所在节点    程序员
97 条回复
ivanlw
2015-03-27 15:27:54 +08:00
既然楼主申的都是master的话,想必不会有什么巨大的热情来献身于科研事业什么的,而是想毕业后尽快拿下年薪十万刀+的工作吧?如果是是这样子的话,A会比B好找无数倍。
alexapollo
2015-03-27 15:29:53 +08:00
A啊还用问吗
yhf
2015-03-27 15:52:18 +08:00
@imcczy 啊 是你 老乡哈。谢谢你的建议哈。
yhf
2015-03-27 15:53:40 +08:00
@ivanlw 但是工作是一辈子的。总不能只为了第一次好找工作就选了A吧…
yhf
2015-03-27 15:55:39 +08:00
@alexapollo 额 为什么这么肯定啊
scusjs
2015-03-27 16:12:58 +08:00
A校。计算机方面的基础完全可以自己去培养的。
sunpj
2015-03-27 17:08:07 +08:00
是我绝对CMU啊,毕竟软件第一
supergrubby
2015-03-27 17:23:14 +08:00
我建议A
Phariel
2015-03-27 17:26:39 +08:00
选A,后续受益无限
supergrubby
2015-03-27 17:26:42 +08:00
你说的那些什么技能训练,课程,其实真的没啥大用。这些东西更多在于自己实践中的深度学习。
最重要的是有实践的机会和氛围,A,绝对没得说。
B,你心里也清楚。
AB出来的人我都认识,你要是真心想做产品,做互联网,就A。要我选,我肯定选A。
yhf
2015-03-27 17:31:13 +08:00
@supergrubby 被你这么一说,我又犹豫了... CMU确实有最好的互联网氛围,但是课程没用这点我不太同意。美帝的课程应该还是质量挺高的吧...
leassy
2015-03-27 17:54:31 +08:00
CS1.5,不服来战
0608516518
2015-03-27 18:01:54 +08:00
比较理性的方式是去A,同时自学操作系统、计算机网络、数据库等内容,最好再学一到两项前沿技能,比如机器学习、分布式计算等。
就算LZ现在不学,未来工作也一样要学的。
PS,操作系统、计算机网络、数据库是面试时一定会问到的。非科班出身要补的东西太多,不能忽视了这些基础
fengdragon
2015-03-27 18:07:29 +08:00
@yhf 大家没有说美帝的课程质量低...
而是说虽然美帝有可能比国内一些课程质量高
但AB比较起来,差距绝对没有高出你想象的那么多

而且你是去读master,选学校是在选圈子,
一个圈子绝对不是“第一次好找工作”那么的廉价
supergrubby
2015-03-27 18:07:44 +08:00
@yhf 我不是说没用,而是说只是学习理论知识和真正做出一个好的产品差距还是很大的。但如果你有很好的实践机会去践行这些理论,你会得到更多。我不知道你自己做过东西没有,就像Paul说的,编程和画画一样,在于实践。但如果你想做更多管理、设计、分析之类的工作,那B确实是一个挺好的选择。
yhf
2015-03-27 18:16:05 +08:00
@fengdragon 嗯,非常感谢,你说得对。如果是在Pittsburgh campus,那么没什么好犹豫的了。但问题在于,CMU的这个项目是位于硅谷校区,这里几乎没有任何基础课(OS, network, DB),全都是做project的课。在这样的情况再比较课程,显然Cornell的更胜任一筹。虽然我的想法可能naive,但是CMU硅谷校区的那些project,我觉得都是做一些CRUD,调用API... 个人进步会非常慢。

圈子的确重要,但是在工作两三年后,这个圈子的概念是否会淡化呢。
yhf
2015-03-27 18:18:52 +08:00
@0608516518 我似乎突然想通了。非常感谢你的见解和建议!
CosimoZi
2015-03-27 18:21:53 +08:00
对计算机科学和软件工程完全不了解但是也强烈建议选A。
原因是自己学的是物理,最大的感触就是绝对不要迷信所谓『基础学科』能给你带来的好处。
计算机科学和学术走得更近一点确实让人感觉比较高大上,基础知识什么的也是看上去很美的理由,但是事实上……
chenjau
2015-03-27 19:08:21 +08:00
不想成为计算机科学家的话就A, 想当计算机科学家选B你也晚了.
挺好奇的你为什么选择做这行? 都这把年纪了还是初哥, 而且听你的语气好像对于技术热情不是很大.
yhf
2015-03-27 19:17:18 +08:00
@chenjau 初哥是什么意思... 对技术热情其实还行吧我觉得,还是挺愿意学的。

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

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

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

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

© 2021 V2EX