Javaエンジニアが転職するためのポイント(未経験者・経験者)

Javaの求人は巷に溢れかえっています。

「Javaの技術者いない?」が業界関係者の日常会話です。Javaを採用したシステム開発やアプリ開発はとても多いためJavaエンジニアはいつも足りていません。そしてJavaはプログラミング言語として優れているため(詳細は後ほど)一度Javaで構築したシステムを他のプログラミング言語で構築し直すことはまれで、Javaで作ったシステムは半永久的にJavaで運用され続けます。そのためJava需要は増え続ける一方なので、Javaエンジニアは転職がしやすいと言われています。それは未経験者であっても同様です。やる気さえあればJavaエンジニアには成れるのです。

①Javaが使われているシーン

Javaのことを良く分かってもらうために、Javaが使われているシーンを紹介していきます。おそらく、あなたもJavaで出来たサービスを使ったことがあるはずです。

例1.業務システム

企業が自社内のネットワークで業務用に使うシステムを業務システムと言います。ただ業務システムと一言で言っても分かりづらいので、具体例を出すと、勤怠管理システムや請求システムなどがあります。
今の時代、タイムカードはほとんど過去の産物となっていて、たいてい出社するとパソコンの電源を入れて、自社のシステムで出社時間を入力、退社する際は退社時間を入力します。そして、その情報を総務部が集計して勤怠を管理します。これが勤怠管理システムです。
また、企業が企業活動をするためには経費が発生します。交通費や接待費、備品などなど。そして経費は正しく使わないと経費と認められないので、上長の承認や場合によっては差し戻しなども必要です。このようなシステムが請求システムです。
勤怠管理システムや請求管理システムのように、社員が一般業務で使うシステムを業務システムと言いますが、このシステムのほとんどはJavaで作られています。

例2.アンドロイドアプリ

日本ではIphoneのシェアが高いですが、全世界的には圧倒的にAndroid(アンドロイド)スマートフォンのシェアが高いです。Androidとはgoogleが開発したOSで、Iphone以外の主要なスマートフォンはほとんどがAndroidを搭載しているはずです。そして、Androidスマートフォンで使うAndroidアプリはJavaで書かなくてはいけないルールになっています。全世界で最もシェアの高いAndroidスマートフォンのアプリはJavaで書かないといけないのです。
これは、圧倒的にJavaエンジニアが足りない理由の一つです。

例3.Webサービス

Javaを使っているWebサービスもあります。最も有名なサービスで言うとTwitterがJavaを採用しています。もともとはRubyという言語で書かれていたのですが、スピードやアクセス負荷に耐えられなくなりJavaに書き換えられました。最近、Twitterでシステムが落ちる事例が発生しなくなり、安定稼働している印象ですが、これはJavaに変更したからかもしれません。他にはEverNoteもJavaを採用しています。Javaは、TwitterやEverNoteのようなたくさんのユーザーがいるサービスでも安定的かつスピーディーな動作を実現してくれています。

例4.PCゲーム

PCゲームもJavaで作られることが良くあります。例えばブロックを設置しながら冒険をする「Minecraft」もJavaで書かれたゲームです。Javaでゲーム開発をするための参考書も数多く出ており、PCゲーム開発にはJavaが欠かせません。

例5.組み込みシステム

もともとJavaは組み込み系開発用に作られた言語のため、組み込み系開発にも利用されています。例えばドコモのimode(今は見る機会も少なくなりましたが)はJavaで出来ていますし、Blue-RayプレイヤーもJavaで作られています。Javaはインターネット空間以外の場所でも活躍しています。

②なぜJavaを採用したシステムが多いのか

ざっと紹介しましたが、Javaはこれだけ多くのシーンで用いられています。業務システムからスマートフォンアプリ、組み込み系システムまで幅広く利用されています。このように多様なシーンでJavaが使われる理由はJavaの特徴を知れば、すぐに納得すると思います。

どのOSでも動く

Javaの最大の特徴は、どこでも動くという点です。インターネット空間だろうが、スマートフォンアプリだろうが、デスクトップPCの上だろうが、はたまた家電の中だろうが、どんな環境でも動作します。Write once, run anywhere(一度、プログラムを書いてしまえばどこでも動作する)がJavaのスローガンで、JavaはOSのプラットフォームに依存せず、どのOSでも同一に動作します。他の言語はOS環境に合わせてプログラムを書く必要があるため、その分開発者の負担が大きくなりますが、Javaを使えばJavaコードだけでどこでも動作します。

多くのAPIがある

JavaはAPIが豊富に用意されているので、難しいプログラムもすでに準備されたAPIを使えば、比較的簡単に実装ができます。特にコレクションはとても便利なAPIでHashMap、arrayListなどを使えば、データ操作が随分楽になります。難しいシステムも準備されたAPIを利用すれば簡単にできてしまいます。

多数の実績があるから安心

Javaの歴史は長く、1990年代後半から始まりますが、未だに人気は衰えずJavaを用いたサービスは驚くほどたくさん存在します。そして、その分たくさんのエンジニアが開発を行っているので、多くのノウハウが溜まっています。「○○システムを作るにはどのフレームワークが最適なのか」、「○○の機能を持ったメソッドを作るには、どのようにコードを書けばよいか」などといった疑問は開発中によく出てきますが、Javaは実績が豊富なので、参考書やインターネットを参考にすれば、必要な情報が手に入ります。長い時間をかけて多数の実績があるのは安心です。

ORACLEとの親和性が高い

Javaは世界中で最も使われている有償データベースのORACLEと高い親和性があります。ORACLEは優れた性能と高いセキュリティ性を備えたデータベースですが、JavaはこのORACLEととても相性が良いのです。それもそのはずで、Javaは現在、ORACLE社が管理していて、ORACLEはORACLE社が開発したデータベースなので、セットで使いやすいように作られています。
特に業務システムなどはセキュリティ性が最も大事なためデータベースはORACLEを採用します。となるとそれを操作するために、自ずとプログラミング言語はJavaが採用されることになります。

③javaエンジニアに未経験者が転職するための条件

Javaエンジニアは、需要が高いので、プログラミング経験がなくても採用されると思います。しかし、全く経験がない場合は雇用条件が低いものになってしまうので、そうならないためには以下の経験があった方が良いです。少しでも雇用条件を高めたいなら以下の経験を、働きながら身に付けたいタイプの方はすぐに転職サイトに申し込みましょう。

1.Javaの参考書を1冊やり終える

Javaの基本的な内容(データ型、構文、条件分岐文、オブジェクト指向)が書いてある参考書を1冊やり終えておきましょう。内容を細かく覚える必要はありません。時折出てくる演習問題を解きながら参考書を読み進めてください。大事なポイントとしては、演習問題は実際にコードを書いて解いていくという点です。最初は、コードが実際に動く体験をした方が良いので、必ず演習問題は手を動かして進めてください。

2.Servlet、jspがどういうものか知っている

Javaの開発で良く用いられるプログラムがServletとjspです。これらはJavaで構築されていて、Webサーバ上で動的にWebページを生成するための技術です。サーバーサイドをJava、画面側をjspが担ってそれぞれが連携してWebページを生成します。開発現場では良く使う技術なので、概要は分かっておいた方が良いでしょう。

3.ローカル上でJavaを用いた開発経験がある

Javaを勉強する過程でEclipseなどの開発環境を用いて、ローカル上でWebページサンプルを作っておきたいものです。Javaの参考書の中で実戦が多い参考書であれば、ローカル環境でカンタンなWebサービスを構築する演習が入っていますので、それはぜひやってみてください。
ちなみに、僕のおすすめは「スッキリわかる サーブレット&JSP入門 (スッキリシリーズ)」です。最後の方にServletとjspを用いて、Twitterのようなサービスを構築する演習があります。この演習を行えば、JavaでWebサービスを構築するプロセスがなんとなく分かるようになりますのでぜひ購入してみてください。

4.SQLを知っている

Javaを使ったシステム開発にORACLEデータベースの存在は無視できません。JavaとORACLEの連携、さらにJava側のデータをORACLEデータベースに書き込む処理などは頻繁に出てきます。JavaエンジニアはやはりJavaがメインなのでSQLは二の次でよいのですが、最低限SQLが「データベースを操作するスクリプト」であることは理解しておきましょう。

Javaエンジニアの需要は常に高いため、プログラミングさえ全く知らない未経験者であっても転職はできますが、少しでも条件を良くするためには上記4つを1つでも多くクリアしておくことをオススメします。ただ、勉強に集中しすぎて転職活動が遅れるようでは本末転倒なので先に転職サイトには登録しておきましょう。

④Javaエンジニアが高収入で転職するための条件

Javaエンジニアの供給が需要に追い付いていない現状を考えると、すでにJavaエンジニアで活躍している方々の転職はいとも簡単に実現します。しかしながら、経験者の転職は転職条件が一番重要です。現在の雇用条件より高い雇用条件を引き出すためにはいくつかクリアしておきたい条件があります。

フレームワークを人に聞かずに扱える

Javaをそのままプログラミングして構築するWebシステムはほぼなく、たいていがフレームワークを用います。Seasar2やSpringが代表的なフレームワークですが、フレームワークは触った経験がないとJava構文を完全にマスターしている方でも最初は理解が難しいと思います。特にxml定義などは慣れないと分かりづらいです。フレームワーク登場でJava開発はスピーディーになりましたし、開発スケジュールはフレームワーク開発を前提にスケジュールが組まれるため、フレームワークを扱えないとスケジュール通り開発が進みません。(遅延します。)

ORACLEを人に聞かずに扱える

上述した通り、ORACLEとJavaはセットで開発が行われます。Java側からはORACLEデータベースを呼び出しやすく、またORACLEに格納されているデータはJava側で操作しやすいよう定義されています。そのため高収入の転職を実現するためには、人に聞くことなく自力でORACLEを扱えることは重要な条件になります。ORACLEと言ってもSQLの基本的なDML(SELECT、UPDATE、DELETE、INSERT)に留まらず、CREATEやALTER、チューニング、マテビュー、シノニムなども扱えなければいけません。業務システムの場合、開発当初はハードウェア的にもソフトウェア的にも性能は高いですが、年月が経つにつれてハードウェアの性能が弱り、さらに徐々にデータが蓄積されることでソフトウェアの性能も劣化し始めます。そんな時にはチューニングが必要になり、SQLの幅広い知識が求められます。SQLを完全に扱えれば、Javaの現場で困ることはないと思います。

設計ができる

設計はシステムの品質に大きく影響します。良い設計は、ムダなプログラムを省き、最小限のコードで望み通りのシステムを完成させます。プログラマを悩ますこともありません。しかし悪い設計は、プログラマにプログラミングやアルゴリズムを悩ませ、プログラムソースも結果的に冗長になってしまいます。また悪い設計は、開発途中で変更が入るためプログラムを大幅に変更する必要が出てきます。結果的にムダな作業を増やし、コストを増やした挙句、品質の悪いシステムが完成してしまいます。良い設計ができるシステムエンジニアはコスト減と高品質のシステム開発に寄与しますので、当然高収入の転職が可能になります。

プロジェクトリーダー経験がある

Javaは大規模なシステムを構築するケースが多いため、単独で開発することはまれです。たいていプロジェクトチームを作り、リーダーのもと数名のSEやプログラマが集まり、システム開発を行います。この時、スケジュールに合わせてプロジェクトを進められるかは、プロジェクトリーダーがカギとなります。プロジェクトリーダーは自ら開発をしつつも経験の浅いエンジニアのサポートをしながら、納期に間に合わせなければなりません。責任が大きいので、Javaで高収入の転職をしたいならプロジェクトリーダー経験は重要です。

Javaで高待遇転職をするために4つの条件を提示しました。しかしながら4つすべてを満たさなくとも1つでも当てはまれば、年収面やキャリア面でステップアップできる可能性が大いにあります。転職は準備が大事です。高収入で転職できるように自分のキャリアを棚卸して、4つの条件にあてはまる経験が過去にあったか思い出してみましょう。小さな経験でも良いのです。一度、整理してみてください。また、転職サイトに登録して企業からのスカウトで自分の価値を把握するのも1つの方法です。やはり価値が高い方には企業はバンバンとスカウトを出しますから。

⑤採用側が見るポイント

では、最後に採用担当者が面接時に見るポイントをご紹介します。どのような視点で選考を行うのかを把握したうえで面接に挑みましょう。

なぜ当社を望むのか

これはJavaエンジニアに限った話ではないのですが、志望動機は明確に答えられるようにしておきましょう。使いまわせるような志望動機ではいけません。例えば、「御社のAndroidアプリゲーム○○は人々の娯楽ゲームとして世に浸透しています。○○をさらに広めて○○でユーザーに仕事をリフレッシュする機会を与えたい。」などのように具体的な理由を考えましょう。自分の中でその企業を希望する明確な理由があるはずです。時間をかけて、頭を整理して明確を洗い出しましょう。表面的な志望動機はすぐに採用担当者に見抜かれてしまいます。

なぜJavaエンジニアを望むのか

エンジニアはPHPやRuby、インフラなど様々な職種がありますが、その中でJavaを望む理由を考えましょう。例えば「業務システム開発によってお客様(企業)の生産性を上げてコスト削減に貢献したいから」などです。もちろん、キャリアパスは複数あってもいいと思いますが、答えられないという事態は避けましょう。

コミュニケーション

Javaの開発で単独のシステム開発はほぼありません。ほとんどがプロジェクトチームを組んで複数名で開発を行いますので、チームメンバーとコミュニケーションを取る機会は頻繁に発生します。採用ではコミュニケーション能力の高さは技術力と同じくらい重要です。コミュニケーションがしっかりとれないと、仕様モレやプログラムミスが発生するからです。積極的にコミュニケーションが取れる姿勢を面接の場でもアピールしましょう。

勉強する意欲

エンジニアは一生涯に渡って勉強をし続ける職業です。技術は日々凄まじいスピードで変化し、新しく画期的な技術が続々と発表されています。昔の技術を習得していたとしても、それは将来的に使えない技術になってしまうかもしれません。Javaは使いやすさや実績から考えると、将来的になくなる可能性は極めて低いですが、それでも将来は分かりません。新しい技術を積極的に学ぶ人材だと思ってもらえるように面接に取り組みましょう。

まとめ

Javaの需要はここ数年高いままです。市場調査を見ても、必要とされる言語でいつも1,2位を取っています。そのためJavaの求人はかなり多いです。転職者としても選びやすい環境にありますので、今すぐにでも転職サイトに登録して、気になる企業はチェックしておきましょう。転職の準備は早いに越したことはありません。

経験がない方でIT・WEB・ソーシャルゲーム業界を志望する方はこちらの転職サイトがオススメです。
facebook、GitHub、Googleアカウントでサクッと登録が可能です。


企業に属さないフリーランスエンジニアにはこちらのフリーランスサイトが熱いです。
登録内容は、名前、メールアドレス、電話番号の3つ!


1 個のコメント

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です