感悟一:纯为考证,基础不牢
如今,在象牙塔里的苦读计算机系的学子,大都知晓IT界哪些证书是香饽,哪些是糟糠。平素里也经常看见几个室友捧着个MCSE,啃着本SUN认证,只为今后找工作时多拿出一些本本来,能唬住那些正襟危坐的人事经理或技术主管,挣得让人艳羡的薪资。这样的想法自然无可厚非,但是单纯为考证学习技术,并不利于长进,而且往往浅尝辄止,基础不牢,样样都懂,但样样不精通。大四下,几个室友已经先到IT公司开始实习,每当回寝,其他人会问他们大学中学的十几门计算机课程,到底哪几们更加有用?这几位无不提到数据结构、算法设计和软件工程,并感悟当时学得不够认真。相反,学弟学妹们所关心的是“Java好,还是C#好?Cisco哪张证书最好?”。我并不否认,证书多比证书少好,这至少说明你在某一方面的知识并不空缺,但证书毕竟是一张卷子所判定,实践经验仍旧为零。况且今日考证的情况越发让人担忧,学生为了考证并不是以搞懂学通为解决方法,而是走捷径,把历年真题死记硬背,到时背得背,猜得猜;考过去,欢天喜地,考不过,怨天怨地。这就是当今大学计算机系学生的一大误区:过分重视业界技术潮流,今天Java、C#,明天Ruby、Python,跟风甚紧。有时还是希望学弟学妹们能多注重基础,才能掌握更深奥的技术。
就拿考证人数较多的《程序员》和《软件设计师》为例,自从新大纲推出后,难度有所下降,知识面有所拓宽。总体来看,一般考生都出现“下午通过,上午‘翻船’”的现象。分析原因,主要是大多数学生都偏爱摆弄程序,不爱看理论书。所以下午那些读题编程不说轻车熟路,也能顺利对付;而上午的一些基础知识如涉及多媒体技术基础、计算机图形学基础、计算机组成原理等,因平素上课不认真,早抛于脑后,考前复习又没有充裕的时间,只能暗自祈祷不要碰到冷僻的题目。结果往往连一些问及JPEG格式或换算的送分题都把握不住,实在可惜。如今,IT公司也开始注重新人的实践经验了,光凭证书取人的时日也逝去一半矣!
感悟二:IDE和RAD工具带来的弊端
有此等感悟,可能会招致各路人士的批评,数落我不谙开发效率。我并不否认效率确实是软件开发的重中之重。但是当使用者由程序员变为计算机系学生时,情况就不同了。我曾亲眼所见一事,让人感慨颇多。一学弟平日摆弄Java也算可以,不料一日身边无JBuilder和Eclipse环境,让其用JDK+UltraEdit先对付着,怎知道苦了他,编写一个Swing界面,磨蹭了半日。更甚的是连基本的内嵌套类(如下)也会拼错多个单词。问他原因,他才不好意思地说,由于以前编写界面都是鼠标拖拖拽拽,内嵌套类也是用鼠标双击按钮直接生成,平时只管往里添加执行代码,而没有注意内嵌套类的写法。
btnOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
。。。。。。。。。
}
});
还有一例,也是我仔细观察后发现的。大学计算机课程教育中,数据库原理课程我们都是搭配微软的SQL Server 2000来授课。学生在上机操作时往往图个方便用企业管理器创建数据库,建立索引等。结果到考试时create、delete、select语句一长就写不清楚。我个人认为如果要训练SQL语言,那么MySQL倒是“一副良药”。没有界面的MySQL,也有它的好处,全凭命令行达到训练的目的。所以,学生是要学IDE和RAD工具,但不是依赖,特别是一些高级语言,如跨平台语言和动态语言,更需要通过学习去了解虚拟机和底层的执行机制,而不仅仅停留在语言应用级别上。
感悟三:所谓的经验在何方
我也是80后一代,自感最大的不足是与社会接触不多。对整个业界的技术动态了解的太少太少。周围同学在找工作中往往因为没有实践经验而败下阵来。大四上,曾参与低年级学生的学习座谈会。学弟学妹们直抱怨,没有实践经验。
听了他们的话,我倒想起自己的大学四年经历。自大二起,因碰到一位好老师,带我参与了一个学院的信息管理网站的设计(MIS系统),从客户需求到后台数据库设计,再到前台编码和后期美工,整个流程也走了七八成。我也算是从ASP+SQL起的家,然后每年都有一个项目在做,所对应的客户也从院级升到学校级,再到市区级。期间有过.NET项目,接触了XML和UML,并且自学了3年的Java,也做过一些跨平台的小游戏,权当练兵,如Java3D魔方等。
实践经验自然不会送上门来,如果没有碰到热心的老师领你入门,怎么办呢?我想举一个我同学的例子:
小D从C起步,自己动手编写俄罗斯方块等小游戏,在校园BBS上也很有人气,后来在大二时参加ACM竞赛,把自己的算法能力提高了一个档次,大三开始便主攻C#,在外找了份兼职,做一些软件模块,也做了软件测试工作,最终毕业应聘阶段,他将自己所做的一些作品带到应聘公司去,技术主管也没有过多的笔试和面试,便被录取。现在也是公司内小有名气的程序员了。
大学生身在象牙塔,本没有实践经验。别人不用也在情理之中,只有平常多在身边找素材,编写一些小的软件,去一些正规的公司寻找相关的兼职,有了经验后,自会感到与以前的纯粹学习有本质区别,看问题、解决问题的思路也会有很大的变化。到毕业时用人单位苛刻的要求也不再成为难以逾越的屏障了。
总结
谈了那么多,其实也只为了能与学计算机的前辈和晚辈们一同共勉,振兴中国的软件产业。我国要想把软件产业提高一个层次,先要把教育抓好,象牙塔里的学弟学妹们也不能把责任都推给教师和学校;扪心自问,真的是教师不负责任而抹杀了你们的才华吗?正所谓“师傅领进门,修行在自身”,教师是引路人,路还在我们自己的脚下,路还很长,但必须自己一步一步走来……
作者:wangyaqin123