说个观点,中国人基本不研究软件工程,搞不好软件工程,以为搞软件就是写代码,其实这是大错特错的——我软件工程导论教师。

结合我个人的感知吧,导致如题的最主要因素就是观念了。当然也有学费等问题,但不算根本问题,我所在学校两专业同样学费。

有一个专业大类叫计算机科学类,而计算机科学就属于系统性的、正统的,那种叫长子。而软件工程呢,常常被归入计算机科学类,但是这明显是不正确的,软件工程,工程,自然是工科,计算机科学,科学,理科。软件工程叫计算机相关类,是研究软件开发的工具、方法等的一门工程学科。

我目前上了两年课,勉强算是走上软件工程的路了。我个人感觉这门专业,国际顶尖水平是偏向架构师这种的,但是国内的师资力量是没法这样培养学生的。因为开头那句话,中国人不研究软件工程,自然就搞不好软件工程。而且在这门专业的进一步深造上,也很少有人去研究软件方法,自然就学不好,教不好。可以说,目前国内的软件工程只能教会你打码,学会计算机科学出来的成果,比如操作系统、计算机网络、数据库、数据结构,并运用好相关的工具,而对于方法就没法深入,一二十年发展还只教 uml 和软件工程历史上运用的编程思想:面向结构、面向对象编程,还有项目的周期,软件过程啥的:瀑布模型,增量模型,极限编程等,照着国标,编写软件的可行性分析,需求分析,总体设计,详细设计文档,画画 uml 里的类图,流程图,用例图啥的。值得一提的是,互联网上关于这些的东西可以说 90% 都是错。

还有就是上课,关于软件工程,我导论教师可以说是大佬了,但是在授课上,还是显得这门课属于只可意会不可言传。

这对于在大学的前几年专心提升 coding 能力的技术大佬来说,交这笔培训费是具有侮辱意义的,至少对于当时的我来说,这是对我的侮辱。我花了比别人多几倍的时间刷算法,写项目,目的就是为了能够在毕业之后找到一份工作,我并不想花钱来让别人重新教一遍我已经学会的东西。 后来还是和专业里的技术大佬一起用了一些特殊的手段,我们才得以脱身,自己出来找真正的实习,后来这些人也确实成为了专业里找工作最好的一批人,秋招中纷纷斩获大厂 offer S

  • 不会编码你连工作都没有,这就很矛盾,在需要学的时候意识不到重要性,需要用的时候却后悔都出没有好好学 (…