发信人: flea (boyibolomi), 信区: Java
标 题: 随笔--刚入行的程序员如何提升技术修养
发信站: 水木社区 (Sun Aug 20 00:23:19 2006), 站内
想象把程序员放到水中,需要学习的东西会在两个层次上,
水底下的是基础知识,水面上的是应用知识。
基础知识:Java语言本身的方方面面,OOP的模式和理论,等。
基础知识扎实是进入最顶尖的IT公司作研发的必要条件。
把基础知识放在水底,因为掌握足够多的基础知识需要有耐心,俗称沉得下去。
应用知识:是关于工作所需的工具、组件、框架、容器、规范的知识,
了解这些知识,到达能够应用的程度,表面看来可能技术含量不高。
我看有些技术培训,就是把学员教到这样的水平: 知道Eclipse怎么用,spring怎么配置,hibernate怎么配置。
在BBS上看到比较多的讨论的话题,也是关于各种基础知识点,或者是应用的经验。大学毕业生通常能够有一些基础知识和应用知识,不过距离企业的需要还有一定的差距。
要做一个合格的程序员,还需要大量的练习和实践,学会写出优美的代码。
这里只讨论和技术,编码有关的事情,所以沟通能力、协作思想就不扯了。
技术发展到今天,各种框架的出现简化了程序员的工作,也降低了程序员掌握牢固的基础知识的要求。也使得一些朋友感叹:没有技术含量,只剩体力劳动。
感叹没有技术含量,说明朋友们还是希望提升自身技术修养。
个人认为比较适当的不断提高技术水平的途径,可以采用“带着问题学习”的方法。
个人的体验,这是一个波动的过程:不断的潜入水底,又浮出水面,如此往复。
基础知识涉及到方方面面,很难一下两下完全掌握,往往越学越觉得茫然。
为了掌握基础知识而专门潜水,不容易成功,要么是小有所成就浮起来,要么是看不到修成正果的一天而放弃。
水面上的应用知识和问题往往是很好的学习的起点,如果仅仅满足于知其然,很难成为高手,如果多问几个为什么,那么答案通常就在水底。
例如,为什么出现spring?为何叫做轻量级应用框架?为什么要写单元测试?为什么会有AOP?
技术是为应用服务的,在水面上最容易发现问题,通过不断的发现问题和解答,也就是不断的潜水和浮起,时间越长,自然功力越深。
基础知识不好,不值得自卑;应用知识很丰富,不值得炫耀。大家都在不断的学习中进步,只是先后的不同吧。
--
可爱的(免费的)向日葵小秘书 qq: 345313746 msn: sunflower.alloky@hotmail.com
http://www.alloky.com - 全方位软件服务
2008-03-21
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment