如何在动荡的职场中存活

  • Ian Roughley
  • 沙晓兰

2008 年 2 月 28 日

话题:Java语言 & 开发架构

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

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

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

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

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

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

表格一:核心技术

关键字 / 技术

点击数

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。

表格二:应用服务器

关键字/技术

点击数

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 框架

关键字/技术

点击数

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)

RIFE

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

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

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

表格四:持久化技术

关键字/技术

点击数

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 的学习上。学习这些技术不是什么小事情,而需要做好合理的学习计划,挑选基本好书,然后使用每一项技术编写一个范例。简单来说,如果你可以把这 些技术添加到你的简历上,那么你找工作的时候应该不会有什么问题了。

查看原文:How To Survive in a Turbulent Job Market

Java语言 & 开发架构