java程序员如何提升技术
大家相互交流一下如何提升自己的java技术。
本人工作三年,java大约做了一年了换了2个公司,即将去第3个公司,之所以换都是因为觉得在工作无法提升自己的技术,所遇见的公司前端到后台都是使用整套内部的框架,基本上不需要用js去实现前端的功能或校验,基本上不会查到JDK文档,都是复制一个已有的功能模块,然后修改一下前端的控件,修改一下后台的逻辑,写几句sql语句。什么JDK,各种开源框架,各种js开源框架,在工作中都几乎不会接触到。我这样的经历是正常的吗?是不是绝大部分的公司都是使用内部框架在堆代码?
反思之后,我在想是不是我对目前各种软件公司的认识有偏差?是不是工作归工作,学习归学习,去绝大部分的公司工作都一样提升不了技术方面的东西。
技术的提升是否单纯的靠自己在工作之余去学习呢?
大家分享交流一下自身的情况,交流的目的在于帮助他人,总结自身。 都3年过去了你还没搞清楚状况吗。。
[解决办法]
勤学苦练
冬练三九
夏练三暑
[解决办法]
刚开始接触java,什么都不会的时候感觉倒是在公司学到很多东西~
[解决办法]
公司做事情是这样滴。
你要搞清楚的是,做项目不是做研究。项目要风险最小,要求是使用的成熟的技术。所以你能做的,必定是你很熟悉的事情。要不然不能控制项目的风险。
程序员说到底,就是个翻译,转码的。将用户的需求理解,翻译成计算机语言。编译实现。
[解决办法]
早睡早起多努力,
勤学苦练不搞基。
[解决办法]
找多些技术书来看,看着看着你就会发现你的知识网大了,你就有一两点技术面你很想深入去了解的了,你光是为大家,大家都有自己的独立看法,不能为你所用,答案要自己去寻找。
[解决办法]
差不多吧,大多公司都是用自己的框架,留好接口,去了先学公司框架,你走,丝毫不会影响什么。所以,,,唉,没有了,呵呵。。。
[解决办法]
换位思考一下 楼主就能明白公司为什么这么做 一个单位有成熟的框架 只需要简单的操作就能完成软件开发 那么对于人力素质就可以放低 公司可以节约成本 这世界上并不是所有人都是干大事的人 鸡毛蒜皮的小事还是占多数 所以应聘的时候 先搞清楚用人单位对你的定位是什么 是个打杂的 还是开创者 从他们愿意给的薪资就能看出来 楼主下次找工作 要注意hr的态度
[解决办法]
支持你换工作
[解决办法]
[解决办法]
那你的情况和富士康工人没什么区别,
[解决办法]
看hiberante 源码,想一想为什么别人的代码很短,我用了ssh框架,有时没有办法,一个类的代码还是是会超过5000行,甚至1万行。。。
[解决办法]
哪家公司都是一个样,你要搞清楚,公司要做的事情是做项目赚钱,成本越低越好,这里就包括开发成本,你想想,用现成的框架开发起来多快?咱们程序员干的本来就是搬砖的活,还想操建筑设计师的心?
你说得很对,工作是工作、学习是学习!不过,你手头的那份框架,在工作时候,它是工具。在学习时候,它又可以变成参考资料,闲暇时间你可以反编译一下,看看前辈们是怎样实现这个框架的,这不也是一种学习么?
打个比方,我就职的公司,表单有表单设计器、报表有报表设计器、菜单有菜单设计器、权限分配直接打勾就是,甚至令人发指的是还有代码生成器,那么,工作的时候,你就直接照着说明书(不好意思,我就职的公司连说明书都没有)来用。而闲暇的时候,你可以看看,表单设计器是怎样按照xml文件生成表单的html代码的?它写得好的地方在哪,还有哪些缺陷?
[解决办法]
唯有源码,没有其他!!!
[解决办法]
多看把别人写的代码。。。
[解决办法]
大概都这样的吧,除了代码,你可以学习架构啊!
[解决办法]
我们不说自学源码什么的,如果楼主想从工作中学习到更多的Java,我觉得只能去找做server类项目的公司,web项目你做来做去差不多就这样,因为很多所谓”底层“的机制都被web服务器或者浏览器给包揽了,不需要你处理。如果你想实践更多的如线程,io,socket,更丰富的java数据结构,甚至和jvm相关,和操作系统相关,只能去找server类项目,不过非常少,而且可能门槛也有点高。而且这一类工作,除了要做核心项目之外,必然会开发一些相关的工具,比如测试工具或者命令行工具,反正大包大揽能涉及到很多做web涉及不到的领域。你想想git上形形色色的开源工具,并不都是作者拍了脑袋想出来的,都是在真实实践中有需求再开发的,完成后觉得不错再开源到网上。
[解决办法]
关键是公司整套封装好的东西,能不能看到源码,大公司基本都会封装一些东西来提高效率,如果能接触到源码,自己多研究研究就能学到很多东西.
[解决办法]
老实说,像有些公司什么都封装好的就算给你源码也不是那么好看懂的。而且没有一定代码量,纯看代码效果很不好。我觉得最好的提升技术的方式是先熟悉一些有用的技术,然后找个小公司或者刚起步的开始从头开始写框架,网上找开源项目看或者公司的也可以
[解决办法]
Java生态圈太多东西了,不可能都学完,但不管如何,基础能力是肯定是最重要的,比如:
1、语言驾驭能力,比如JDK中的常用类,如何使用,怎样使用效率高;
2、沟通,学习能力,学会如何与其他同事一起工作;
3、自己的思想,比如对软件架构和生命周期的理解,工作中的开放性思想等;
4、兴趣的培养,有兴趣,就会有动力,就会事半功倍;
5、自我创造条件,在公司没有环境或者项目时,利用其它时间,自己创造实践的环境。
所以先了解自己需要什么,然后有目的的提高。
[解决办法]