工作一年的java程序员该达到什么样的水平呢

本人主要做web方面的开发,具体指各项技术的掌握程度,希望大家指点一下.

如果非得说1年后的水平,那什么样的人都有,有些人跟刚毕业的水平差不了多少,只是编码熟练程度提高了。有些人却超越了大部分3、4年经验的程序员的水平。
结果怎样要看你付出多少。你认为呢?

至于方向,我觉得对框架的掌握不是主要的,首先要弄明白框架为什么要用。但也没必要去研究框架的实现、源码——除非你兴趣。

如何弄明白框架的用处呢?比如说hibernate有什么用呢?这个问题其实是在问ORM的作用。Hibernate实战的第一章关于[b]对象模型和关系模型不匹配[/b]讲得非常明白(但那本书的中文版我只建议你读第1章)。也许你这时候又会问,对象模型有什么好处?那你可以去看看早期JavaEye关于领域模型的讨论帖子,还有陶文同学前段时间在JavaEye发的两个领域模型的讨论帖,还有就是读读《领域驱动设计》这本书(中文译本也挺差的,我只是告诉你往这方向去关注)。然后你会开始弄明白到底什么是面向对象,面向对象究竟有什么好处,也不会再在“接口和抽象类的区别”、“接口的作用是什么”这类初级问题上耗费时间。也许你的方向会开始转向一些敏捷实践……

也许有时候你觉得一些概念很难看懂,没关系,多看多想多实践,积累多了慢慢就会领悟。

还有,注重代码质量是最基本的素质,可以去关注一下相关的主题比如重构。但在这之前,你要弄明白为什么提高代码质量是重要的事——当然相关书籍在开篇一般都会提到这个问题。

其实我觉得最重要的是:你本身主观上是否有强烈的提高自己的愿望。如果没有,以上这一切都白说。

我觉得楼主不如思考另外一个问题:1年来,我每天花多少时间在自身的提高上?
不问结果。
这才是根本。

这个问题很模糊,一年,关键是看你在这一年中做了些什么事,学到了什么!不是每个人都能达到别人一年能达到的水平,这不像黄金分割点那样有准确值。如果你加油,每天总结,相信你一年后能力绝对比一年强;如果你是在混时间,那可想而知了,我现在在一家教育行业做开发,结果刚进去就在搞CMMI3的认证,说实话,好郁闷,有那么点软件工程思想,可对于CMMI3来说,我真的不想碰那东西,哪个中小型公司真能按那步骤一步一步实施?想走,可现在金融危机。所以你不要纯粹的想一年后你是什么样的水平,每天总结,你每天就在进步。呵呵,祝你早日成功,相信你一年后会比你预期的要强很多。

我觉得做web开发需要学的东西还是很多的,最好的是能专精一样技术,例如j2ee或者.net 然后知识要广博,搞j2ee不能就只知道java那点东西,除了什么框架外,重要的是行业的应用,例如工作流,CRM等等。其次linux 数据库(orcale、sqlserver、mysql)都要熟悉。其实web开发里面还有好多方向,搞精一个应该也不错了,可能最重要的还是要专注吧,呵呵。

竟然是搞web开发的,一年后,应该能对几个主流的框架比较熟悉。对一些异常能马上就知道在那里发生及解决。然后再对数据库有更加深的了解。对OO,设计等到应该要一定的认识。
其实最主要的是,应该要学会独立思考了。即结合,一年的经验,开始思考或总结吧。

觉得我说得好的,我要的不多,5秒钟的掌声,还有lz的分数。 :)

一年的时间里,学的是经验,自学的是知识。书还要不断地看。新技术要不断地去学。现地更新太快了。

[quote="4what"]
我觉得楼主不如思考另外一个问题:1年来,我每天花多少时间在自身的提高上?
不问结果。
这才是根本。
[/quote]
很多人的提高是被动的,但好处也是大大滴,嘿嘿,另:楼主这个问题太难回答了。

我觉得,基础是最重要的,
1、面向对象的思想一定要掌握的很清楚,最好能用uml工具;
2、java基础知识,如java线程、集合类的使用等,需要达到不用工具,手写代码的程度;
3、对一些常用的框架,如struts、hibernate,应掌握其使用配置方法;
4、分析使用数据库;
5、j2ee,应掌握http、servlet的原理以及使用;

[quote]
我觉得,基础是最重要的,
1、面向对象的思想一定要掌握的很清楚,最好能用uml工具;
2、java基础知识,如java线程、集合类的使用等,需要达到不用工具,手写代码的程度;
3、对一些常用的框架,如struts、hibernate,应掌握其使用配置方法;
4、分析使用数据库;
5、j2ee,应掌握http、servlet的原理以及使用;
gangwu (初级程序员) 2009-03-16
[/quote]

基础是基础了点,不过工作一年的人不仅仅只是了解这些吧?我感觉起码对hibernate以及spring的内核以及整个架构都得有一个了解。而且至于java的基础只是,我感觉不仅仅停留在基础,要灵活..学了一年丢人应该能够在实际开发中,针对业务,选择最好的实现。以及对设计模式的掌握。

数据库设计
java基础知识也是很重要滴~
javascript,jsp,servlet等。

我认为1年工作经验,应该可以达到以下的程度:
1.有扎实的java基础。
2.对常用的j2ee框架的机理有所了解,能单独熟练使用,可以对框架进行简单的修改。
3.对数据库的链接和掌握基本的几种DB的使用。
4.对新技术时刻关注,吸收新技术的优点来完善老的技术上的缺陷。
5.有较好的英语阅读能力(日语还可以,有些日语资料也很有价值),至少可以能看懂大致的英文文档。
6.对工作充满激情。

一年工作经验能达到这些应该就差不多了吧,望大家指正。

最低标准:熟练干活.
最高标准:业务熟练、工作中常有"新想法",除了工作用到技术以外能熟练使用一门技术.能带小弟.

Web 开发实际是以浏览器为"虚拟机"的二次开发,当然要想办法了解这个"虚拟机"是最重要的.....

首先基础技术要计较扎实了。面对没见过的问题能短时间内解决。对要实现的功能有自己的想法。
其次就是在这一年中你通过自己的努力学会了多少东西。不是在工作中的项目,那个不同人机遇是不同的。而是你在休息时间学到的东西!
长期潜水的小菜出来冒个泡~~

我面试一个工作三年的,面的是WEB岗位,他以前是做DELPHI的,你能说他水平不行?我认为关键是做一行,然后把这行里面的问题搞精搞透

这样子,你去找一家公司面试,工资是你现在的两倍。
如果面试成功了,证明你达到了1年java的水平,
如果不得行,那再练练.

一年可以说还是初级水平吧,
做web开发要懂的东西很多,
一年根本就太短了,
我认为java两年才入门,5年一个坎。

因人而异,你不学习,5年经验可能还比不过应届的

某人说,把冰箱里放满披萨,想要什么样的编程深度都可以~~
所以专注

这个东西很主观,看你这个杯子里能装愿意装多少东西了,得到和失去是平衡的。

很简单,在开始的一年里要对java的知识结构有一个整体的认识,知道哪个知识点是做什么用的,处于整个知识结构的哪个位置,了解了这些,你应该算是入门了.
接下来你就可以针对你项目中使用到的技术深入学习,一个一个的掌握.

会做人的人1年的水平就能爬上去
不会做人的人4年的水平依然还是个coder

楼上说得都很精彩,受益良多,我也认为专注是很重要的。

很难说,但是不能以时间来评估自己。而是用行动来评估自己。
一年和十年是一样的,如果自己没有实际行动的话。

一年,以我的标准的话:
1、java基础,除开多线程、IO流、特殊算法等
2、ssh框架一定要熟练掌握其开发流程(不一定是ssh,其他框架也要触类旁通)
3、映射方面一定要熟练
4、前端方面一定要回常用的,类似于jquery+ajax返回个json类似的
5、数据库方面写个函数啊,存储过程之类的
6、对于项目、业务流程要整体有个理解,至少你要知道每个模块做什么的
我觉得一两年的就是一个熟练度的问题,编码,业务等各方面的熟练度都要提升就对了。

一年的看你自己做了什么,如果感觉不足有需要java资料的可以看看这个[url]http://javaee.3g-edu.org/courses/?lbjeye [/url]

其实关于技术来讲主要看自身的技术,就说一年的开发工程师来讲如果如果技术与工龄对等的话,薪资怎么也要在8000以上了,当然如果技术不行那么工作在久也没有什么效果,所以说对于java来讲技术非常重要,其实工做时间相对是比较次要的,当然如果有想学习提高java的我也可以为大家提供一些资料[url]http://javaee.3g-edu.org?lbjeye[/url]在java技术学习以及java教程里都有资料