按:本文的很多观点来自与七牛云存储首席架构师道哥(李道兵)的讨论,在这里对道哥表示感谢。

高校的计算机教育与时代脱节,这已经成为大家的共识。如果要问哪些课程脱节最严重,我的答案是“软件工程”。其他的课程虽然也有脱节,但多少有点用处:编程语言虽然不教怎么把程序写漂亮,至少教了语法;网络课程虽然没有形象直观的展示,毕竟通讯协议还在使用;数据库课程不讲数据库的安装和调优,关系代数理论仍然是不少问题的原型;数据结构与算法即便看起来与开发没有直接关联,有了概念总不会吃亏……

只有软件工程,是例外。顾名思义,“软件工程”讲的应当是把软件开发出来的学问。所以,它是名不副实的:如果你按照“软件工程”教的去做,多半开发不出来软件,至少开发不出好的软件。一方面大量毕业生不会写程序、写不出好程序,另一方面合格的“软件工程师”奇缺,对这种怪异的景象,名不副实的“软件工程”功不可没。

(more…)