Java作为Sun公司推出的新一代面向对象程序设计语言,特别适于互联网应用程序的开发,但它的平台无关性直接威胁到了Wintel (即微软的Windows操作系统与Intel CPU所组成的个人计算机)的垄断地位,这表现在以下几个方面。
信息产业的许多国际大公司购买了Java许可证,这些公司包括IBM,Apple, DEC,Adobe, SiliconGraphics, HP, TOSHIBA以及Microsof等。这一点说明, Java已得到了业界的高度认可,众多的软件开发商开始支持Java软件产品,例如Inprise公司的JBuilder, Oracle公司自己维护的Java开发环境JDK与JRE。
Intranet正在成为企业信息系统最佳的解决方案,而其中Java将发挥不可替代的作用。Intranet的目的是将internet用于企业内部的信息类型,它的优点是便宜、易于使用和管理。用户不管使用何种类型的机器和操作系统,界面都是统一的Internet浏览器,而数据库、Web页面、Applet, Servlet, JSP等则存储在Web服务器上,无论是开发人员、管理人员还是普通用户,都可以受益于该解决方案。
Java技术的开放性、安全性和庞大的社会生态链以及其跨平台性,使得Java技术成为智能手机软件平台的事实性标准。在未来发展方向上, Java在Web、移动设备以及云计算等方面的应用前景也非常广阔。虽然面对来自网络的类似于Ruby on Rails这类编程平台的挑战,但Java依然还是事实上的企业Web开发标准。随着云计算( Cloud Computing)、移动互联网、大数据(Big Data )的扩张,更多的企业考虑将其应用部署在Java平台上,那么无论是本地主机,还是公共云, Java都是目前最合适的选择之一。Java应用领域之广也势必促使Java开发者的就业市场呈现欣欣向荣的发展态势。
学习Java不仅是学习一门语言,更多的是学习一种思想,一种开发模式。对于从事软件行业的工作人员,掌握了Java语言,可以让自己日后的事业发展得更加顺利。Java语言的内容相对完整,因此Java开发人员可以轻松转入到手机开发、 .NET、PHP等语言的开发上,以后也可以更快地跨入到项目经理的行列之中。
目前, Java人才的需求量旺盛,并且企业提供的薪水也不菲,通常来说,具有3年以上开发经验的丁程师,年薪10万元以上是一个很正常的薪酬水平。但IT企业却很难招聘到合格的Java人才。所以读者朋友如果想让自己成为合格的受企业欢迎的Java程序员,需要做好自己的职业发展规划。
首先,要定位自己的目标,然后再有的放矢地进行自我提升。对于Java工程师来说,大致可以从3个大方向来规划自己的职业蓝图。
(1)继续走技术工作之路
从技术发展方向来看, Java工程师可以由最初的初级软件工程师(即程序员)逐渐晋升至中级软件工程师(高级程序员)、高级软件工程师及架构师等。走这条路,通常可进入电信、银行、保险等相关软件开发公司从事软件设计和开发工作。在信息时代,越来越多的公司重视信息化,而信息化落实起来离不开软件开发,而软件开发中Java当属挑大梁者。如果选择这个方向,程序员要脚踏实地,一步一个脚印地练好Java的基本功。对于初(中)级程序员来说首先掌握Java的基本语法(如类与对象、构造方法、引用传递、内部类、异常、包、Java常用类库、Java I0及Java类集等)。如果读者定位高级程序员以上的目标,那么目标的实现主要依赖三点:一是前期扎实的Java基础,二是后期对软件开发的持续性热爱,三是靠程序员个人的领悟。
(2)定位成为技术类管理人员
此类管理人员通常包括产品研发经理、技术经理、项目经理及技术总监职位等。如果选择管理方向,首先要有一定的“基层经验,即你至少要有几年的Java开发经验。否则,即使偶然因素让你"擢升"至管理层,那么也会因为“外行指导内行"而饱受诟病。所以如果定位管理人员,那么成功的第一步就是至少成为一名中级以上的Java程序员,前面所言的Java基础也是需要掌握的。想成为技术类管理人员,还要深谙Java设计模式及软件工程的思想,从而能把控软件开发的全局。一个好的技术类管理人员,不仅要自身具有很强的技术管理能力,同时也要有很强的技术体系建设和团队管理的能力,对自己所处的行业技术发展趋势和管理现状具有准确的判断。统筹全局、集各个层次的技术人员之合力,高质量完成软件项目,是成为技术类管理人员的挑战。
(3)在其他领域成就大业
Java软件开发发展前景好,运用范围也广具备Java基础的工程师,还可以尝试着在其他领域成就一番大业。例如, Java工程师可以从事JSP网站开发、移动领域应用开发、电子商务开发等工作。如果从事Web开发,那么在此之前一定要熟练掌握HTML, JavaScript, XML, Web开发的核心就是进行数据库的操作,先从JSP (Java Server Pages )学习,并可以使用JSP + JDBC (Java Data Base Connectivity , Java数据库连接)或者是JSP + ADO ( Activex Data Objects )完成操作。JSP技术是以Java语言作为脚本语言的。之后再学习MVC设计模式,它是软件工程中的一种软件架构模式,把软件系统分为3个基本部分:模型
(Model ),视图(View )和控制器( Controller ),掌握了MVC设计,读者也就可以轻松地掌握
AJAX (Asynchronous JavaScript and XML)和Struts技术,AJAX是在不重新加载整个页面的情况下与服务器交换数据并更新部分网页的毛段,Struts是Apache软件基金会(ASF )赞助的一个开源项目。使用Struts机制可以帮助开发人员减少在运用MVC设计模型来开发Web应用的时间。
之后,再学习Hibernate和Spring等轻量级实体层开发方法等。Hibernate是一个开放源代码的Java语言下的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可便利地使用对象编程思维来操纵数据库。Spring Framework是一个开源的Java/Java EE全功能栈,其应用程序框架内包含了一些基于反射机制写的包,有了它以后程序员便可以将类的实例化写到一个配置文件里,由相应的Spring包负责实例化。
以上3条与Java相关的职业发展规划之路,都以夯实Java基础为根本。每一条路要走到顶层,都需要重视基础,一步一个脚印,做事由浅入深,由简入繁,循序渐进。《礼记·中庸》有言:"君子之道,辟如行远必自迩,辟如登高必自卑。"这句话告诉我们,君子行事,就像走远路一样,必定要从近处开始;就像登高山一样,必定要从低处起步。