听说近几年的android很火啊,很多java程序员直接转android开发,为啥?
首先是感兴趣,我觉得这是一个重要原因,毕竟基于android平台的软件以及android系统,深深勾起来程序员的好奇心,自然而然就充满了浓厚兴趣。
然后就是赚大钱,整体来看,做android开发的程序员确实待遇比做java的要高一些。
再者一个主因就是所谓的跟风、随大流!这个我就不多说了。
前几天看到公司的招聘信息,ios程序员,二年工作经验,待遇8K至15K。不由的感叹,ios有这么牛吗?于是上网浏览了一下,瞬间觉得搞IOS的也是热火朝天啊!
一幅高大上的节奏,透露着藐视一切语言,唯IOS独尊的气势!不经哑然,居然有很多也是由做java的转IOS。
不禁要问,java难道落伍了么?难道要被后起之秀拍死了吗?
以前总觉得java的核心竞争对手是基于.net平台的C#、asp等,或者是PHP、C++、Python等编程语言
却没想到,居然很多做java的要转别的语言。赶紧翻开工位上的一本经典之作《java编程思想》,浏览了前言和目录,貌似java在各方面是很厉害的!
也许某些做java的失去了兴趣或者看不到未来吧,觉得做java的太多,以后的竞争没有优势。
问题的关键在于,到底懂得了多少?扣心自问,我做了三年多java程序员,也只不过理解了不到十分之一而已,可见java语言是何等的磅礴。
那么,怎样才能在java的这条不归路,逐渐的蜕变呢?能够鱼跃龙门呢?
经过几天的思考,java程序员要想做到很逼格,很厉害,确实要有很漫长的道路,不过如果能够坚持下来,前途无可限量。
众所周知,某宝的后台架构已经完全用java来做开发和整合,足见其依然很优秀,而且不逊于任何编程语言。
很多的企业级应用,核心语言也是用的java。
比如我之前做的很多银行有关的软件和系统,用的都是java技术。
所以,我认为坚持java,前途是一片光明,关键是找准目标,找对方向,找好定位,以及能够坚持不懈,并且要乐在其中。
始终相信,代码和思维是java程序员前进的基石!没有捷径可言,勤能补拙是良训啊!
废话就到此为止,以下是我个人认为的关于在java这个开发职业不断进步的一个过程,希望大家能够一起思考一起讨论。
首先,java的基础知识这是一定要掌握的,依然推荐经典名著《java编程思想》、《java核心技术卷一》、《java核心技术卷二》。
在掌握基础知识的同时,要学习有关编码规范和提高编码效率的知识,推荐《重构_改善既有代码的设计(马丁·福勒)》、《编写高质量代码:改善Java程序的151个建议》、《Effective Java》。
基础的以及规范和效率有了定位之后,那么下一步就是进阶,毕竟现在java做的主要是web应用,自然一些常用的框架是需要学习的。
各种框架的底层代码以及实现思路,用的是java很基础的知识,反射和注解。而web框架用到最多的技术就是servlet,所以,很有必要熟悉servlet的原理和使用方式以及生命周期,具体的可以在网络上搜索有关servlet的知识。
至于框架应该如何学习如何深入理解?我个人的建议是,带着问题去学习,带着问题去使用。比如MVC应用,为什么要用springMVC,为什么要用Struts2MVC,各自的优点是什么?各自的缺点又是什么?各自的实现原理是基于什么技术?
持久化框架,到底是用hibernate还是mybatis,还有没有更好的框架?各自的优缺点、各自的实现原理和持久化机制是什么?
俗话说,有志者事竟成,当真正要决心去学习去研究,那么没有做不到的事情,唯一阻止自己进步的障碍,就是自己的懒惰。
很多园友也许会想,设计模式呢?算法呢?架构呢?应该怎么学,什么时候学?
设计模式,最好是有了工作经验之后再去研究学习,你会发现,很多的模式其实在工作中就已经用到过了,当你学习模式的时候,会有似曾相识的感觉,这样会加深理解和记忆。如果没有工作经验或者是项目经验缺乏的,对于设计模式,始终会是一知半解,而且会让你觉得枯燥乏味,打击了积极性,推荐《设计模式之禅(第二版)》。
至于算法,为什么要用算法,算法到底有何等的优势和效率呢?推荐一本书《数据结构与算法分析Java版》,你会发现,哦~原来算法是这么回事儿。
看到这样,心中是不是出现一个大大的问号,这么多的知识,如何才能学的完?!放心吧,时间是有的,关键在于如何利用时间,推荐每一位程序员都应该认真阅读经典名著《高效能人士的七个习惯》
到了羽翼渐丰的时候,如何再进一步蜕变呢?无论是转管理做项目经理或者深入技术做架构师,都很有必要不断的阅读《人月神话》,相信我,这本书会让你的见识得到成倍的增长,而且让每一位程序员的一生受益无穷。
无论是任何阶段的程序员,哪怕做管理做架构,都不要忘记,还有一个重要的技能需要掌握!UML建模!
这是每一个合格的程序员必备的技能。推荐《UML参考手册(第二版)》
最后补充一条建议。
职业生涯最重要的修养:自尊自爱、诚恳踏实、团队协作、目标清晰。
这些建议也是我对自己的要求,也许有一些疏漏和不完善的地方,不过我还是希望能给大家带来一丝丝的帮助和启发。
衷心祝愿每一位java程序员能够保持最初的激情、不断的提高自己的能力,在将来的职业发展中,更强更大,走的更远!