バナー画像

オフコン時代全盛期の1990年代、オープンシステムの草分けとして登場したJava。未だにその勢いは衰えていません。本記事では、Javaを「求人における希望要件の1つ」としてみたときに、Javaは他言語とは何が異なるのか、Javaができると何がオイシイのかをご紹介します。

すでにJavaプログラマーの方、他言語のプログラマーでJavaへの転向をお考えの方、ぜひ最後までお付き合いください!

Javaエンジニアの需要はどれくらい?

Javaのできる人は、どの程度需要があるのでしょうか?プログラマ求人全体に占めるJavaの傾向を解説します。

Java求人の数

Java求人の数を、他言語と比較してみましょう。ポテパンを含む複数サイトで、言語を指定して検索結果を見てみました。

まずはフルタイム系(つまり週5日常駐が基本)の求人サイトで検索した結果です。

ポテパンを含む複数サイトで傾向が一致しており、Java/PHP/Ruby/Pythonの順番になっています。

ちょっと見方を変えて、副業やフリーランス系をメインターゲットとするサイトでの傾向を見てみましょう。

今度はPHP/Java/Ruby/Pythonの順になり、PHPの需要が一番高いのです。

求人におけるJavaの傾向

前述からどんなことが分かるでしょうか。他言語の方はJavaに乗り換えた方が良いのでしょうか。Java特有の事情について解説をします。

伝統のある言語だからこその悩み

フルタイム系の求人はおのずと大企業や既存企業(近年立ち上がったスタートアップではないという意味で)、またはそれらに人材を派遣するSIerが多くなります。そいういった分野ではJavaの方がPHPよりわずかに強いようです。

冒頭でもお伝えしたとおり、Javaはオープンシステムの黎明期から一貫して人気が高いです。人気が高いというより、昔はJavaしか選択肢がなかったともいえます。

他にも言語の選択肢はあるにはありましたが、Javaと同時代に育った開発ツールであるVisualBasicやDelphiは、独自の世界観かつ開発ツールが1ライセンス2〜30万もするものでした。小さな規模の企業などは開発費的に購入するのがつらかったのです。

その点Javaは基本的に無償です。Webシステムを構築するときに使うフレームワーク「Struts」も無償です。企業がWebシステムを開発するとき、Java+Strutsを選択すれば無償で済むので大助かりでした。

そんな状況だったので、一時はJava+Strutsの組み合わせが爆発的に普及しました。力のある企業はさらに、Strutsをベースにして独自仕様を組み込んだ独自フレームワークを開発しました。

この状況が、結果として今の状況につながります。

Java+Struts等のJavaベースで開発された超巨大システムが、今なお多く稼働しています。規模が大きいとそう簡単には再構築できません。Javaのバージョンも5〜6(現在は10)という古いバージョンのまま使い続けなくてはなりません。重大なセキュリティ欠陥が何度も発見されたStrutsをベースとしたシステムは未だに健在です。

規模が大きくない企業の中にも、Strutsで構築されたシステムは、未だに稼働しています。

Strutsはセキュリティ欠陥の指摘を受けることが多いとはいえ、クローズドな環境で動かす分にはあまり心配がありません。これも大企業がシステムの刷新をしない理由にもなります。「イントラの中にあって、使う分には中身なんてどうでもいいし、刷新したって何か利益が上がるわけじゃないし」となるのです。

Javaの求人はその影響を受けて、未だにJava5〜6やStrutsといった古いアーキテクチャの求人が多いのです。好奇心旺盛なエンジニアにとっては、Strutsはできれば避けたい選択肢です。

最近の動向

Javaは古い、アーキテクチャ的に面白くないといったイメージを持ってしまいそうなら、それは決して正しくありません。

現在もJavaは改良を加えてバージョンアップされており、最新では10まで上がっています。Android系の開発はJavaベースですし、最近ではKotlinやScalaといった従来のJavaの改良ともいえる言語が登場して、さらにJavaがクローズアップされています。

組み込みにもJavaが採用されることが多く、汎用性が高いJavaができると幅広く活動できることは間違いありません。

ちなみにKotlinはジェットブレインズ社が開発した言語で、コトリンと呼びます。小鳥とは何も関係がなく、フィンランド語でやかんを意味する単語です。

副業・フリーランサーの世界でJavaとは

では、副業・フリーランサー向けサイトでJavaがPHPに負けているのは何を意味するのでしょうか?

副業・フリーランサー向けサイトに人材を求める企業は、いわゆるスタートアップ企業が多いのです。人を雇うほどの経営的余力や社内スペースもないスタートアップ企業だからこそ、すぐにサイトを作れるフレームワークを求めるのです。需要とPHPの特性が一致していますよね。

副業・フリーランサーから見た場合はどうでしょうか?

Javaは、伝統があるがゆえに何かにつけて手間がかかることが多いのです。同じことをするにも他言語よりコードの記述量が多いのです。環境設定も他言語より複雑で、さらに一番よく使われるIDE(統合開発環境)であるEclipseの設定項目の多さが複雑さに拍車をかけています。

また前述のように企業の独自仕様を含んだ開発フレームワークだと、副業家やフリーランスへの教育コストも無視できません。エンジニアからしても、特定企業の独自仕様を学んだところで、そこでしか使えない技術に過ぎません。エンジニアとしてのスキルパスを考えてみると、そういった独自仕様にどうしても手を出したくないのです。

これらが、副業家やフリーランサーはJavaを好まない理由なのです。

未経験でもJavaエンジニアとして転職できる?

Javaに限らず、そもそも未経験としてプログラマーの案件を獲得できるかという問題があります。残念ですが、完全未経験でも可という案件はありません。ですが、それはあくまで「普通のプログラマーレベルの労力がほしい」という要望に対しての話です。

副業紹介サイトでは、「テストだけでもよい」「学習しながらでもよい」といった募集要件を見ることがあります。こういった案件を活用しましょう!いきなりプログラマーとしてデビューするのでは無く、テスターから徐々に上流フェーズへ上がっていけばよいでしょう。

初心者がJavaを学ぶ場合の注意

現在大企業で使われているJavaはバージョンが5〜6のものが多いです。バージョンが7以降になると変更点がかなりあります。よって学習する際はバージョンの大きいものでしか使えない機能は、とりあえず必要に応じて追加で勉強するというくらいで大丈夫です。

ある程度学習して思うものが作れるようになって案件に応募するときも、自分が使えるJavaのバージョンを明確にしておきましょう

他言語での開発経験がある方

では、他言語で経験をお持ちの方ならどうでしょうか?

他言語であるようなものはJavaでも普通に存在しているので、コードの表記上の不慣れやJavaにしかない概念さえ克服すれば問題ありません。

JavaでもWebフレームワークが存在する

Javaにおいても、他言語と同じようにWebフレームワークが存在します。少しだけ触れておきましょう。初心者でも他言語経験者でも気にしておく必要があるでしょう。

Spring Framework

Springは、事実上定番とも言えるフレームワークです。一枚板的なフレームワークではなく、Spring Boot/Spring Cloud/Spring Batchといった複数のライブラリから構成されています。その数も膨大で、何かしようと思えばすでにライブラリが存在しているといっても過言ではありません。

DIやAOPといった理解が難しい概念もありますが、一度理解してしまえばWebシステムだけでなくバッチ処理やデータアクセスもSpringでできるというメリットがあります。

play Framework

play Frameworkは、Webシステムを開発するために作られたフレームワークです。バージョン2.0から内部的にScalaによって書き換えられました。playはモダンなWebアプリやモバイルアプリ開発にもバッチリ対応しています。

Apache Struts

昔はこれしかなかったといっても過言ではないStrutsです。トップページを見るとRestAPIやAjaxに対応と書かれていますが、現代のフレームワークでは特に目新しい機能ではありません。それ以外に前述の2つのフレームワークにはない特色というのは、ページを見た上では残念ながら見当たりませんでした。近年においてStrutsが新規開発に採用されたという声もあまり聞かれません。

ただし、既存のシステムでStrutsにて構築されたシステムは未だ多数稼働しており、案件によっては古いバージョンのStrutsの開発もあります。

Java EE

JavaEEそのものは実際のフレームワークではなく、「こういった仕様です」という決め事です。Oracleが権利を有しているものの、コミュニティ「Java Community Process(JCP)」が主体となって仕様を策定しています。

Oracle自身がWebサーバーであるGlassfishや開発ツールのNetBeansを担いでいることもあり、JavaEEの関連情報もこれらに関連した情報にかたよっている印象があります。またフロントの実装であるJSFもイマイチ勢いに乗れていません。

JCPに対するOracleの反応が鈍く、今まで両者間でいろいろとトラブルがありました。結局、OracleはJavaEEを手放すことにしたようです。Eclipse Foundationへの移管が決まっています。名称もJakarta EEと変更になります。

今後どのように変化していくかが不透明なので、勉強するかどうかは少し待ったほうが良いでしょう。

Javaエンジニアのリモート案件はある?

前述のように、Javaは大企業や既存企業で使われていることが多いので、そういった企業は一概に社外で作業するのを嫌います。よってリモート案件は他の言語と比較して少ないと言わざるをえません。

もちろんゼロではなく、Androidアプリの開発でリモート案件をまれに見ることがあります。

Javaエンジニアの年収・単価相場

フリーランス プログラマー 年収

ポテパンよりJavaエンジニアの単価相場を見てみましょう。

販売管理系システム再構築の案件・お仕事
~700,000円/月

住宅メーカーの基幹システム再構築案件の案件・お仕事
~650,000円/月

iOS/Androidエンジニアの案件・お仕事
~800,000円/月

だいたい60万〜80万のレンジが多いようです。ただし、フリーランスとして請けた場合の1人月の単価です。

Javaエンジニアの今後の需要は?

大企業や既存企業では、今後もJavaで構築したシステムを使うはずなので、需要は安定しているといえます。また多少バージョンやアーキテクチャが古くても構わないので、特定の分野の知識やスキルを得たいという方は、大企業のJavaを使ったシステムの開発を狙うとよいでしょう。

最新のJava技術を使った案件にアサインしたいという方も、Javaは注目に値します。スタートアップ企業などの身軽な企業が、前述したKotlinやScalaを採用し始めれば、Javaベースの最新技術を使った案件が増えるかもしれません。今後の傾向には注目です。

Java求人情報の探し方

意外と簡単に見つけられます。フルタイム向け、フリーランス向け、副業向けと、サイトによって特色がありますが、検索機能はどこでも付いています。そこで「Java」と入力して検索すれば探せます。金額や特色、Java以外に何を求められるのかが一目瞭然です。

ポテパンをはじめとして、ITエンジニア向けの案件紹介サイトでは、検索機能の選択肢の中に言語を選択できる機能があるのが普通です。それらを利用して効率的に検索してください。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。