怎样才算是一个合格的程序员呢,我想要从三个方面来研究这个问题。
知识:写在书本上的都是知识,无论它怎么来的,在书上的就都是知识。程序员需要掌握大量的知识才行。作为java程序员,你需要学习:
java 的基础知识
web开发的知识,如jsp、servlet
数据库知识,主要是sql
框架知识,如struts、hibernate、webwork、spring
知识是用来指导实践的,多数的知识只是提供原理和规则,但并没有指出怎么使用这些原理和规则,也正是因为这样,少量的知识可以指导无限的实践。
通过重复和强化才能获得的能力称为技能。比如说,游泳就是需要反复的练习才能获得技能。在软件开发中。那么有了知识,是不是就有了技能呢?显然是不行的,技能只有经历实践才能练出来。比如:软件设计,任务分配,问题研究。
经验是指在实践中获得的,具体问题的解决方法和技能。软件开发存在于许多领域,每个领域都有自已特定的问题,也有一般性的问题。因此经验也有特定领域中的经验,和一般性的经验之分。对于java语法的使用可以看作是一般性的经验;开发过一个报表系统,则是一个特定领域的经验。一个人在某个领域的经验再丰富,当它转到其它领域时仍旧会遇到大量的陌生问题,需要再次积累经验。某个领域中的经验是有上限的,但是经验总体是没有上限的。
如果你具有了某方面的经验,也就是说你有这个方面的实践,因为你实践了,因此可以确知,你能比较顺利的完成类似的问题。如果你只是知道这方面的知识而没有经验是否也可以象有经验的人一样解决问题呢?回答是,也可以解决这方面的问题,但是一定会经过一个探索的过程。如果问题简单,通过知识容易推断出实践中的所有情况,探索的内容几乎为0;但是如果问题复杂,在实践中你没有预料到的问题会全部跳出来,从而将你的知识转化为经验。而在没有实践前也许你认为问题很简单,但它却很可能有复杂的一面是你没想到的(包括自已在实践中可能会犯的错误),这种情况常常出现。所以,可以说,没有经过实践的知识,再简单也不能直接变成经验,在你使用它时,很可能会有预料不到的问题出现。
程序员要在这三个方面加强自已的修养,才能成为一名合格的程序员。
通过上面的讲解可以解释为什么当今的很多大学生不好找工作。很多大学里,学校只注重知识(甚至知识也不注重)学生没有机会实践,因此根本就没有经验和技能,因此根本就做不了东西,哪个单位愿意找这样的员工呢?
通过上面的讲解,可以帮助你,考查应聘者的能力。
通过上面的讲解,也可以帮助你,思考应该如何应对公司的考试