技术开发 频道

如何在动荡的职场中存活

【IT168 业界新闻】

    Steven Haines平时经常撰写关于Java新技术的文章在开发员工作中提供帮助,然而这个星期,他把注意力转到了帮助你找到下一份工作的技术上来。

    尽管美国可能并不处于技术方面的萧条,但至少处在股市大跌的阶段。股市从2008年年初就开始一直在下滑,公司收购率正不断得上升。今年,Oracle已经收购了BEA,Sun收购了MySQL,在我写这份报告的时候,微软正试图收购雅虎。很多人在这些收购中存活下来,但必然有一 部分人没有顺利渡过难关。无论你所工作的是什么企业,也无论你的职务是多么得保险,关注目前企业招聘关注的技术仍然很有必要,或许有一天你不得不需要重新 寻找一份新工作。

    另外也要指出的是,这里提供的信息并不完全。Steven说:

    在开始前,我首先申明:我所作的研究不是科学研究,没有对所有的工作职务做调查,也没有通过联系招聘员来了解究竟什么是最稀缺的技术。我所做的,只是通过 Dice和Monster统计一些关键字和这些关键字被点击得次数。大部分结构来源于Dice,因为在Monster上,我没能找到Dice那样清楚地搜索接口(Dice很不错的一点是它拥有一个“技术”参数,这对最后结果的归类很有帮助)。在Dice上搜索到超过8000个Java职位得结果,足以反映当前的Java市场。并且,根据你所居住的地理位置,得到的结果可能会有所不同。

    另外,本章并不是对未来趋势的报道,而是对目前职业所需技能的一个掠影。


    我们将要呈现的结果主要是这几个方面:核心技术、应用服务器、Web框架和持久化技术。除此以外,原文中还列出了其他一些更细更专的类别。

表格一:核心技术

表格1

关键字/技术 点击数
J2EE 7520
Java 6389
JSP 2228
Java/J2EE 1733
EJB 1271
JDBC 1079
JMS 926
Servlet 409
J2ME 146

    第一类别-核心技术的统计表,只是给大家展现一下当前的主要形势。极大的可能是很多关键字/技术(尤其是Java/J2EE)出现很多职位的技术要求中。作者肯定了这个事实,同时指出:

    如果仔细查看Java编程的相关范畴的话,你会发现Java企业应用和Web技术占据了大部分职位。10-15%的职位描述中提到了JMS,而仅仅2%左右的职位提到了J2ME。

表格二:应用服务器

表格2

关键字/技术 点击数
WebSphere 2155
WebLogic 1561 + 624 (BEA)
Tomcat 1587
JBoss 882
Jetty 22
Glassfish 17

     考虑到市场份额的下降,应用服务器方向的现状相应就不会太令人惊讶。WebSphere以超过25%的表现占据首位,紧接其后的是WebLogic,略微不到25%(包括在使用搜索关键字“WebLogic”和“BEA”是的重复职位),然后是分别占20%的Tomcat和占11%的JBoss。

    在过去的几年中,由于Spring逐渐变得热门,结果有点让我吃惊。为了能够对未来趋势作出更好的分析,于是我寻求了http://www.indeed.com的帮助,得到这鳌居首位的四个应用服务器的发展趋向图表。这让我得出这样的结论:尽管WebSphere和WebLogic目前还占据领先位置,但是他们的受欢迎程度在不停的下降。同时,Tomcat和JBoss的普及率在逐渐上升,因此,学习这几个应用服务器技术在将来可能会给你带来更多的机会。

    作者也注意到了Tomcat占有率的上升,他提到:

    对我来说,最有趣的可能是,在Dice上发布的Java职位中,几乎有20%同时在它们的职位描述中提到了Tomcat。这正说明很多公司正在尽量躲避Java EE栈,而选择标准Web技术(Servlets/JSP/JSF)或者其他可选的类似于Spring那样的框架。

    为了肯定他的观察结果以及EJB应用服务器与servlet容器的趋势的比较结果,我将EJB和Spring发展趋势的比较也用图表来表示。正如大部分开发者可能期望的那样,Spring的使用率一直在上升。

表格三:Web框架

表格3

关键字/技术 点击数
Struts 1745
Spring MVC 290
Velocity (and Java) 133
Tapestry 85
WebWork 31
Grails (Groovy) 18
Wicket 14
Stripes (+ J2EE) 8
Cocoon 3
Turbine (and Java) 0
RIFE 0

     关于什么是最好的Web框架这个问题可能是Java社区最沉重最受争议的话题:就像讨论政治或宗教问题那样。但是数据是不会说谎的:很多人都说Struts已是一摊死灰,事实却不是这样的。Dice上所有关于Java的工作中,几乎有22%的工作在它们的职位描述中列出了 Struts,这几乎是其最有力的竞争者的六倍。如果你是做Java Web开发的话,如果你想要得到最高的市场适应力能分的话,那么你最好还是了解一下Struts,尽管可能其它技术本身要来的更优秀或能够更好地解决你的问题。

    作者提出的论点是有道理的,但是,随着Struts2的发布,问题还在于公司是否会决定升级他们的Struts到2.0版本,或者说他们也可能会因此决定这是他们转移到另外的Java Web框架或彻底替换使用另一个Web框架的时机。当然,由于无数的应用程序早已采用该框架完成代码编写,因为市场对Struts开发人员的需求不会立即下降。

    从Indeed再次审视发展趋势(不包括Struts),从Indeed得到的结果和作者的表格似乎有一些微小的出入。各种框架的使用都呈上升趋势,Spring MVC显示了其重要的平滑上升的状态。

表格四:持久化技术

表格4

关键字/技术 点击数
Hibernate 1750
iBatis 99
Toplink 80
EJB3 37

    这儿,Hibernate毫无意外地在持久化技术领域占强大的领先地位。图表显示的趋势(除了Hibernate以外的所有持久化技术,以及采用JPA代替EJB3)却让我们看到一些令人惊讶的结果。JPA不仅开始有能力和Hibernate一较高下(尽管Hibernate确实实现了JPA规格,因而造成两者有所重复),而且它在iBatis的使用中也呈稳定增长趋势。

结论

    总之,作者提出了几个非常好的观点:

    在你开发你的企业应用时,你应该熟悉怎样在WebSphere、WebLogic、JBoss和Tomcat中部署和管理它们。 你可以不花费一分钱下载所有这些应用服务器(商业版本拥有开发许可,可以利用它们帮助你学习)。不要因为你知道怎样编写企业应用就以为所有的应用服务器都一样。你也不想声称熟悉一样其实并不熟悉的应用服务器,然后在工作中痛苦地挣扎摸索其如何工作。那么,还是现在花一点时间先把它学会吧。

    他也提到说:

    对于技术,你的时间最好花在Struts、Spring、Hibernate、AJAX框架和JavaServer Faces的学习上。学习这些技术不是什么小事情,而需要做好合理的学习计划,挑选基本好书,然后使用每一项技术编写一个范例。简单来说,如果你可以把这些技术添加到你的简历上,那么你找工作的时候应该不会有什么问题了。

0
相关文章