[warald申请经验谈]关于软件工程,来说几句

敬请关注国内中介和所谓的留学咨询是如何抄袭篡改warald博客文章的:CS软件工程方向申请必读 – 警惕,这篇文章抄袭篡改了我的原文!软件工程教授和学校名单列表:不完全盘点下Software Engineering(SE/软件工程)领域的杰出教授 (1)


文章中的专业观点,阐述的不是很清楚,因为主要的读者群是没有接受过SE系统训练的申请人。大家不要一点一滴跟我计较关于专业的看法了。

<> 喜欢软件工程,该申请什么program?


首先,美国有一些学校有专门的软件工程硕士,这个跟信息安全硕士, MBA等一样,感觉算是职业培训。如果有几年工作经验,手头有钱,自费读这个方向也可以。但是中国人大多要奖学金,这种硕士program不太可能提供offer


如果想作软件工程的研究,想拿offer,得申请CS, CS分很多方向,软件工程是其中之一。软件工程这种东西,有人喜欢,有人觉得太泛,有人觉得太理论,但是我也听这个领域的有些人说太实际了,empirical SE也是有人作得。。。这些是非话题就不讨论了。总之,申请CS,指明对软件工程感兴趣, that’s it. —如果你申software engineeroffer,错误的申请了职业培训类型的SE master,你拿offer得难度至少会像MBA一样大。

<> 软件工程研究什么


现在软件工程里面大家主要是对软件的正确性感兴趣。简单点讲,软件不正确,有错误,容易导致各种问题,造成各种经济损失。比如说,现在比较热门的计算机安全问题。我个人认为,安全问题跟软件中的错误是成比例的。如果软件没有错误,我们可能没有100%的安全,但是最起码MS不必经常发布补丁了吧,针对windows的攻击也会变得很困难,各种由软件导致的损失也会大大减少。每一种攻击的方法或者工具,背后基本都是一个或者数个软件错误,有的是实现中的错误,有的甚至是设计上的。说这些,是说明软件正确性的重要性。


现在大家都在努力想出方法,能结合软件开发理论,保证正确性。当然软件开发的东西,比如feature oriented development specification, software process等等也很popular. 软件工程不是单纯的开发或者测试,而是围绕着用户需求的一系列的activity以及资源的分配和利用。软件工程,就是要提高productivity and reliability of software development

<> 软件工程申请激烈吗?这个方向好吗?


软件工程申请是很激烈的。简单点讲,IT行业的发展造就了无数的programmer,尽管大家开发的软件应用于不同的领域,但是大家都是programmer,好听一点,叫software engineer。所以申请的时候,写过程序的,都可以claim有这方面的实际经验,都可以往这条船上挤。因此,软件工程,除了学校的学生们,公司里工作的人也很喜欢申请,申请人数就特别多,拿offer也更难一清二白的学生们拿什么跟有数年工作经验的软件工程师pk? 但是软件工程不仅仅是工作经验这么简单,不是单纯的比谁会写code,谁的code写的好。我知道的这个领域的几个牛人,都喜欢找学生。


我认为软件工程是一个很好的方向,很适合将来在美国就业立足。比如说,如果你作一个关于测试理论或者开发方法的thesis,接触一些软件开发和测试过程中的问题,找工作interview的时候,你可以拿你的thesis project当成经验来吹,容易跟别人谈的来。而且,由于很多软件工程的research project适用于各个领域,找工作局限性小。我当年就是这样子,不管是EMC这样的存储公司,还是cisco这样的网络公司,或者是oracle这样的数据库软件开发伤,我都可以兜售自己的project,都可以瞎掰乎如何在开发的过程中用什么样的方法开发,问题何在,用什么样的方法测试,coverage如何。如果你是AI,比如研究intelligent tutoring system,尽管你写过几行程序来验证自己的idea,但是公司可能想,这是个AI project,我们是网络公司,不需要,kill~~


对于master level的人找工作来说,软件工程方向局限性小一些,更容易找到工作。phd有所不同,但是很多phd不也得放下身价,到公司里写程序作高尚的软件工程师~~


—- Warald
iamxiaoning@gmail.comhttp://iamxiaoning1980.spaces.live.com
欢迎转载,转载请保留我的ID/Email/Blog,谢谢