为什么有的程序员不会编程?

2014-11-24 22:22


Jeff Atwood在Coding Horror博客上这样写道:

“这真的很难让人相信,但是通过Twitter和电子邮件的总结报道,我们可以发现:很多面试程序员岗位的应聘人员竟然一点儿也不会编程。”

我觉得这作者可能并不了解现今的大学教育情况。大多数程序员不会编程的最根本原因是他们所受的教育让他们盲目地觉得自己已经会编程了。

下面的两个案例可以用来说明我的观点。

我曾工作于当地的一家社区学院(两年制的大学教育)。他们聘请了他们学院中的一个学生一起来开发一个ASP.NET项目,原因是这个学生的教授极力推荐他,因为他所有的编程课成绩都是A。这位教授说,“这是我教过的最优秀的学生之一。”

也许光看成绩,他是最好的 ,但是事实是他一点也不会编程。最后没办法他只能退出项目,回过头来重新学习如何做一个真正会写程序的程序员。

没错,学校是在教当前比较实用的编程语言,但是学校教育也大多止步于此。我们是学了很多编程语言,就像学数学一样,这是公式,但是光知道公式是没用的,还需要练习如何联系实际解决问题,这是在课堂教育中所没有涉及的,甚至学校也不会教你如何解决面试中的任何问题。

我女儿读书的那个学校我发现情况更糟。他们有一个计算机科学编程课程,但是当我和一个刚毕业的大学生交流的时候,我发现我真的没法说服自己聘用他。这孩子自己也发现被这个破学校骗了,然后一箩筐地将事情的一切都告诉了我。

虽然他读的是Java语言,但是他竟然连多态性都没有听说过。当我问他,“什么是继承,举个实际例子?”的时候,他目瞪口呆,哑口无言。

他也从来没听说过JSP、HTML和JavaScript。我真纳闷,这学校教Java究竟是教了什么东西,为什么连这些基本内容都不教呢?

有评论认为,在这方面需要政府的监管和考核,淘汰掉那些不能真正教会学生编程的学校课程。我不否认有些老师会教学生写程序、关心学生的就业质量,但是我们真的需要改变教育体制以淘汰掉那些不会教学生、自己也不会写程序的所谓的“专家教授”。也许还可以加入认证测试之类的考核,有助于真正评价学生的能力,帮助他们顺利通过面试。