如何在动荡的职场中存活

  • 2008-02-27
  • 本文字数:2563 字

    阅读完需:约 8 分钟

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 的普及率在逐渐上升,因此,学习这几个应用服务器技术在将来可能会给你带来更多的机会。

websphere, weblogic, tomcat, jboss Job Trends graph

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

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

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

ejb, spring Job Trends graph

表格三: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 显示了其重要的平滑上升的状态。

spring mvc, tapestry, grails, wicket, stripes, velocity Job Trends graph

表格四:持久化技术

关键字/技术

点击数

Hibernate

1750

iBatis

99

Toplink

80

EJB3

37

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

ibatis, toplink, JPA Job Trends graph

结论

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

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

他也提到说:

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

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