InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

厳しいジョブマーケットで生き抜くには

作者 Ian Roughley , 翻訳者 編集部 投稿日 2008年3月7日

セクション
デベロップメント,
設計/アーキテクチャ
トピック
キャリア ,
Java
タグ
Trends

普段、Steven Haines氏はデベロッパのジョブに役立つ新しいJava技術の執筆に時間を費やす。しかし先日は、次のジョブ探し(source)役立つ技術に注意を向けていた。

アメリカは技術的な不況には陥っていませんが、少なくとも、強い修正の時期にきています。株式市場は2008年のはじめから下降し、企業買収が増えています。今年既にOracleがBEAを買収し、SunはMySQLを買収し、これを書いている時点でMicrosoftはYahooを買収しようとしています。多くの人がこれらの買収で生き残る一方、一部は確実に生き残れません。自分の業界や自分のジョブの安定性に関係なく、新しい仕事を探す必要がある場合に企業が求める技術を知っていることが一番良いことです。

また、提示された情報は不完全であることを指摘する必要もある。Steven氏によれば次のとおりである。

話を始める前に、お断りをしておきます。私の研究は科学的ではないし、私はすべてのジョブを研究していたわけではありません。最も需要が高い技術を探るために求人担当者と会ったこともありません。代わりに、DiceとMonsterをキーワードでレビューし、検索したヒット数を記録しました。結果の大半はDiceによるものでした。MonsterはDiceと同じように公開されていますが検索結果を見つけられませんでした(Diceは「スキル」パラメータを含んでおり、結果を分類するのに役立ちました)。しかし、8000以上のJava関連のジョブをDiceで見つけ、私の結果が現在のJava市場を表していることを主張します。また、住んでいる場所によって結果は異なります。 

さらに、この記事では傾向はレポートしていないが、現在のジョブの技術の寸評を掲載している。 

レビューする結果は、コアテクノロジー、アプリケーションサーバ、Webフレームワーク、永続化テクノロジーから生じている。元の記事(source)にはいくつかのカテゴリが別にあり、実際はより専門的である。 

表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技術では最も多いジョブが検索されます。JMSはジョブ検索結果の10~15%、J2MEはジョブの約2%のみでした。

表2 アプリケーションサーバ

キーワード/スキル

ヒット件数

WebSphere

2155

WebLogic

1561 + 624 (BEA)

Tomcat

1587

JBoss

882

Jetty

22

Glassfish

17

アプリケーションサーバのジョブ市場は、マーケットシェアが著しく落ちたことからも、あまり驚くものではありません。WebSphereは25%以上でトップ、その後をWebLogicがわずか25%弱(検索用語「WebLogic」と「BEA」で重複するジョブ)で続き、Tomcatが20%、JBossが11%で続きます。

ここ数年間でSpringの人気が上昇したことは私にとってちょっとした驚きであった。この動向への洞察を深めるために、http://www.indeed.com (英語) に進み、上位のアプリケーションサーバ4台をグラフ化し、次のように結論づけた。現在、WebSphereおよびWebLogicがトップでも人気は落ちている。同時にTomcatおよびJBossの人気は上昇しており、これらのアプリケーションサーバを習得すると今後の機会が増えることになる。

websphere, weblogic, tomcat, jboss Job Trends graph
websphere、weblogic、tomcat、jbossのジョブ傾向(source) Websphereのジョブ(source) - weblogicのジョブ(source) - tomcatのジョブ(source) - jbossのジョブ(source)

また著者はTomcatの増加に注目した。:

私にとって最も興味深いことはおそらく、DiceのJavaジョブの検索結果のほぼ20%にTomcatが含まれていることです。これは、多くの企業が標準Web技術(Servlets/JSP/JSF)またはSpringなどの他のフレームワークを支持して、Java EEスタックをバイパスしていることを示します。

この所見とEJB対応アプリケーションサーバとservletコンテナの傾向を確認するため、EJBとSpringの傾向を次にグラフ化した。多くのデベロッパが期待したように、Springの使用はまだ増え続けている。

ejb, spring Job Trends graph
ejb、springのジョブ傾向(source) ejbのジョブ(source) - springのジョブ(source)

表3 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)

0

RIFE

0

Webフレームワークの最高のトピックはおそらく、Javaコミュニティで最も白熱した討論のトピックとなります。これは、政治や宗教について話すのと似ています。しかし、数字は嘘をつきません。Strutsはもう時代遅れと言われても、そうではありません。DiceでのJavaジョブ全体の検索結果のほぼ22%でStrutsを掲載し、この数は次の競合者の6倍になります。もしあなたがJava Webデベロッパで、高い水準の市場性を希望する場合、たとえ優れている技術が他にあっても、より素晴らしい問題解決方法があるとしても、Strutsについて知っておいたほうが良いと思います。

著者の議論は有効であるが、Struts2リリースでは、企業がStrutsのバージョン2への移行を決定するか、または異なるJava Webフレームワークや別のWebフレームワークに完全に移行する時期が来たと判断するかが問題である。どちらにしても、フレームワークを使用して書き込まれたアプリケーションの多さにより、Strutsデベロッパのニーズはすぐには落ち込まない。

Indeed(Strutsは含まれない)の傾向をレビューすると、著者の表とはわずかに異なる表現が現れる。長期にわたり最高の改善をもたらすSpring MVCがあれば、フレームワーク全体の使用率が伸びる。

spring mvc, tapestry, grails, wicket, stripes, velocity Job Trends graph
spring mvc、tapestry、grails、wicket、stripes、velocityのジョブ傾向(source) spring mvcのジョブ(source) - tapestryのジョブ(source) - grailsのジョブ(source) - wicketのジョブ(source) - stripesのジョブ(source) - velocityのジョブ(source)

表4 永続化テクノロジー

キーワード/スキル

ヒット件数

Hibernate

1750

iBatis

99

Toplink

80

EJB3

37

Hibernateが永続化テクノロジーで強力なトップであることは驚くことではない。傾向をグラフ化(Hibernate以外のすべてと、EJB3ではなくJPAを使用)すると、驚く結果が出た。JPAがHibernateに対して完成度を高めている(HibernateはJPA仕様を実装しているが、これはオーバーラップする)だけでなく、iBatisの使用が着実に伸びている。 

ibatis, toplink, JPA Job Trends graph
ibatis、toplink、JPAのジョブ傾向(source) ibatisのジョブ(source) - toplinkのジョブ(source) - JPAのジョブ(source)

結論

結論では、著者は説得力のある説明をしている。

企業アプリケーションを開発する場合、アプリケーションをWebSphere、WebLogic、JBoss、およびTomcatで展開し、管理する方法に精通している必要があります。これらのアプリケーションサーバのすべてを無料でダウンロードできます(学習のため商品を使用できるように、商品には開発ライセンスがあります)。企業アプリケーションには書き込めるので、すべてのアプリケーションサーバが同じだとは思わないでください。あなたがよく知らないアプリケーションサーバを使っている、そのサーバに精通していると主張したくない、と思っていると、ジョブで苦労します。今からこれを学習する時間を作りましょう。

また同様に、次のようにも述べている。

技術に関する限り、Struts、Spring、Hibernate、AJAXフレームワーク、JavaServer Facesを学習するのに時間を費やすのが一番です。各技術を習得するのは簡単ではありませんが、スケジュールを作り、本を数冊選び出し、それぞれについてサンプルアプリケーションを構築してください。要するに、これらの技術を自分の履歴書に加えることができれば、ジョブを探すのに問題はなくなるはずです。
原文はこちらです:http://www.infoq.com/news/2008/02/turbulent-job-market

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。