Javaは登場から長年経った今でも人気No.1であり続けているプログラミング言語だ。
仕事へ直結することから、スキルを証明するための資格試験の種類も多くなっている。
このページでは、Javaの資格試験についてまとめてみた。重要な資格はすべて網羅しているので、このページを見れば全体像の把握ができるはずだ。
Javaを勉強して仕事につなげたい人や、もう一歩スキルを上げるために資格を起爆剤にしたいと思っている方はぜひ参考にしてほしい。
目次
Java資格って必要?
そもそもJavaの資格は必要かについて疑問を持っているかもしれない。目的にもよるが取っておいて損はない、というのが結論だ。
未経験からJavaを勉強して就職したいとき
現在学生であったり、IT業界にいない状態からJavaを勉強して、エンジニアになりたいという人は、資格を持っているとてっとり早くスキルを証明できる。
TOEICの点数が高いからと言って英語ができるわけではないという話もあるが、一定の基準となるのは確かだ。TOEIC800点ですと言えば、そこそこ英語ができそうな印象が生まれるだろう。実際、英語ができる基準として資格を設定している企業は多い。
エンジニアリングも同じだ。その場でプログラミングを書いて、という採用試験もあるにはあるが、まだ多くはない。結局は経歴や面接で判断するしかなく、それよりは客観的な資格の方が役に立つ。
転職活動に使いたいと思っているとき
一定のキャリアがあれば、今の日本でエンジニアが転職で困ることはないだろう。ただ、他の言語が得意だったが、今後のためにJavaを扱っている職場に転職したいという人は、資格は有用だ。
資格取得によって、初期の給料が変わる企業もある。常駐案件などで、営業がしやすくなるからだ。
単純にスキルアップのために
長年エンジニアをやっていると、スキルアップのモチベーションがだんだん落ちてくる。何事もモチベーションを長い間高く保ち続けるのは大変だ。
資格試験はいい起爆剤になり得る。エンジニア系の資格も淘汰されてきており、実務で使える要素が格段に増えてきた。資格勉強の中で、新しい技術や詳細の理解が進むことはよくある。
受けるときはなるべく上級資格を目指そう。
Java主要資格の種類まとめ
それでは、Java資格を紹介していこう。まずはメインとなる3種類だ。
Oracle Certified Java Programmer
出典:Oracle
Javaの資格試験として一番はじめに名前が挙がるのが、Oracle社が実施している「Oracle Certified Java Programmer」だ。
Oracleが作成元というのもありもっとも有名な資格で、略してOCJPと呼ばれる。
試験には難易度が設定されており、Brons、Silver、Goldの順で難しくなっていく。
Java SE 7/8 Bronze
まずは入門レベルの資格としてBronzeが設定されている。言語未経験者向けのビギナーレベルの資格だが、Javaプログラミングの基本的な知識をしっかりと押さえていないと合格するのは難しい。
多少プログラムに心得のある人であれば、まずはJavaに関する入門書を読みながら実習的にプログラミングを学び、ある程度慣れてきたら試験対策本を参考にすればそれほど時間をかけずに受かる。
Javaそのものに未習熟な人は、いきなり試験対策に取り組まないほうがいい。
試験内容はJavaプログラミングに関する読解が中心で、処理内容が理解できているかを問う問題や、コードの穴埋めなどが多い。
60問の出題で、60%が合格ラインの目安とされているが、配点等は非公開となっており、合格ラインが変更される事もあるため、余裕を持って得点できるレベルまで十分学習を進めてから、チェレンジして頂くほうがいい。
PCを使った回答形式で、試験会場に空きがあれば、いつでも自由に受験できる。
Java SE 7/8 Silver(Associate)
こちらは、Bronzeの上位資格で、開発初心者向け資格とされているものだ。
さすがにBronzeと比べると格段に難しくなっている。基本的に、自分でJavaプログラムが組める程度の理解度が必要だ。
また、SliverとBronzeの大きな違いは、Bronzeが国内だけで有効な資格であるのに対し、Silverは国際資格とされている点だ。
もともと、米国Oracle社の認定するCertified Java Programmerには、SilverとGoldしかなく、日本では主にビギナー(新卒者など)を対象とした資格として、もう1ランク下げたBronzeを設けたという背景からこのような制度になっている。
国際的に通用する肩書を得るためにも、Bronzeに合格された方は是非ともSilverの合格を目指して頂きたい。
Java SE 7/8 Gold(Professional)
GoldはOCJPの最上位の資格で、Silver同様に国際資格とみなされている。
当然難易度も大幅に上がり、単に構文を理解して組めるだけでなく、各種APIの使い方や並列処理などの高度なプログラミングに関する理解も要求される。
また、デザインパターンと呼ばれるプログラムの設計パターンなどについても理解が必要となる。
そのため、単にプログラミングとしてのJavaを学んだだけの者ではなかなか太刀打ち出来ず、実務経験も積んだ中上級者向けの資格といえる。
Goldは転職市場での評価も高く、十分な経験者として引き合いがある。
これからJavaを学ぼうとする方、又は学び始めた方は、Brons/Silverとステップアップを目指し、3年~4年の中期的な目標としては、Goldの合格を見据えるといいだろう。
Javaプログラミング能力認定試験
続いて、各種能力・技能の認定を行っている株式会社サーティファイが実施している、Javaプログラミング能力認定試験をご紹介する。
この試験は知識の深さを図るのでは無く、あくまでも「能力」を認定するところにあり、出題される問題もより実践的なものになる。
試験は3級~1級まである。試験内容は次の通りだ。
3級試験内容
3級の範囲は次のとおりだ。
Javaの基礎
Javaプログラム、アプリケーションとアプレット、バイトコードとJVM、作成ルールと実行の手順、オブジェクト指向の基本的概念オブジェクト、クラス、メソッド、メンバ変数、メッセージ、インスタンス、継承、カプセル化(private修飾子含む)等
Javaの扱うデータ
基本データ型 byte、short、int、long、float、double、char、boolean、enum
配列
基本データ型の配列、オブジェクトの配列
演算子
算術演算子(+、-、*、/、%)、代入演算子(=、+=、-=、*=、/=、%=)、インクリメント演算子(++)、デクリメント演算子(- -)、関係演算子(<、>、<=、>=)、等値演算子(==、!=)、論理演算子(&&、||、!)、条件演算子(? :)、文字列の連結(+)、new演算子、演算子の優先順位、基本データ型の型変換(キャスト)
制御文
if、switch、for、while、do、break、continue、return、拡張for
クラスとメソッド
クラスの定義、メソッド、定義、戻り値、引数、main()
クラスライブラリ
java.lang(Stringクラス、StringBufferクラス、Mathクラス、Integerクラス等) java.io
2級試験内容
演算子
ビット演算子(&、^、|、?)、シフト演算子(<<、>>、>>>)、代入演算子(&=、^=、|=、<<=、>>=、>>>=)、instanceof演算子
クラスと継承
クラスの修飾子 (省略時)、public、final、abstract、継承とは、extends、コンストラクタ、型変換(キャスト)、thisとsuper、インタフェース implements
変数とメソッド
変数とメソッドの修飾子 (省略時)、public、protected、private、final、static、オーバーライドとは、オーバーロードとは
総称
総称とは、コレクションクラス
パッケージ
パッケージとクラスパス、クラスパス、パッケージの定義package、パッケージの利用import
例外処理
例外の定義、例外処理、try~catch、throw、throws
スレッド
スレッドとは、スレッドの作成
クラスライブラリ
java.lang、java.applet、java.util、java.net、java.awt.event、java.awt.image
アプレット
アプレットとは、ライフサイクル、init、start、stop、destroy、HTMLタグ、<APPLET>、<PARAM>
1級試験内容
最上位の1級では「問題を解く」のでは無く、テーマに沿ったプログラムを作成して提出する方式をとっている。また、提出物はソースコードだけでなく、所定のドキュメントも必要となる。
単に机上で学んだだけでは決して習得できない「能力」を評価するユニークな手法だ。
基本情報技術者試験
こちらはJavaに特化したものでは無いが、独立行政法人情報処理推進機構が国家資格として実施しているもので、プログラムに関する選択問題の中にJavaプログラムに関するものが含まれる。
経済産業省が主管する研究会で、国が育成を目指すべき高度 IT 人材像に即したキャリアと求められるスキルを示した「共通キャリア・スキルフレームワーク」が提言された。
ここに示された7段階のレベルのうち、基本情報技術者試験は下から2番目にあたるもので、プログラマーとしてはまさに登竜門的な試験だ。
基本情報技術者試験では、IT関連の技術や用語、情報処理に関する理論、その他システム開発に関するマネジメント手法や法的な内容など、IT業界で必要とされる様々な知識が問われる。
試験は午前と午後に分けて実施され、午前は用語理解などを中心とした選択問題だが、午後は長文穴埋め形式の問題で、プログラミングに関しても相応の知識が問われる。
これからIT業界での活躍を目指す方には、プログラミングの習得と合わせ、情報処理に関する基礎理論も学んで頂きたい。
その他の資格
ここまで紹介してきたものは、あくまでもJavaプログラマーとして一人前と言われるレベルまでのものを対象としているが、あまり知られていない高度な技術者を認定する資格も存在する。
将来的に、自身の高度なスキルをアピール出来る材料として活用してもらえるよう、少し紹介する。
IBMプロフェッショナル資格認定制度
IBMが、自社の製品群を扱うプロフェッショナルを認定する制度を設けている。
IBMが扱う製品は数多くあるが、その中にJavaととても親和性の深い資格があるので、2つほど紹介しよう。
IBM Certified System Administrator - WebSphere Application Server Network Deployment V8.5.5 and Liberty Profile
WebSphereはWebシステムのサーバープログラムとして利用する製品で、大規模な業務システムなどで利用されている。
この認定試験はWebSphereを利用したシステムの開発者を対象としたもので、ソフトウエアの使い方だけでは無く、サーバープログラムのアーキテクチャ(構築技法)なども出題対象となっている。
WebSphereでは、Javaで作成したプログラムを動かすことが可能で、プログラムアーキテクチャに関する問題は当然Javaの理解を必要とする。
また、Javaを利用したWebシステムの構築に関するプラットフォームであるJava EE(Java Platform, Enterprise Edition)に関する理解も必要となる。
プログラミングだけでなく、Javaの動く仕組みやWebシステムの基本構造など、幅広い知識が必要だ。
尚、WebSphereは高額な製品だが、開発者向けのWebSphere Application Server for Developersが無償で利用する事が出来る。
認定試験とは別に、本格的なWebシステムの構築も試して頂きたい。
http://www-03.ibm.com/certify/certs/01007010.shtml
IBM Certified Solution Designer - Rational Functional Tester for Java
「テスター」と呼ばれる仕事がある。プログラムのテストを専門に行う仕事だ。
初心者の方にはあまり馴染みは無いかも知れないが、優れたソフトウエアを作成する上で非常に重要な役割を担っている。
プログラムがどのような観点で作られており、どのような発想から組み上げられているかを熟知して、プログラムの隅々までを検査する「テスト」を行うためには、やはりプログラミングに関しても精通していなければ到底出来るものでは無い。
この試験は、Javaで作成されたプログラムのテスターとしての知識・技能の習熟度を図るもので、他に類を見ないものである。
http://www-03.ibm.com/certify/certs/38001601.shtml
その他のIBM関連の認定試験
IBMはJavaの開発元であるOracle社と並んで、Javaに関する世界のリーディングカンパニーとして常に前進している。
「IBMプロフェッショナル資格認定制度」の中には、上で挙げた2つ以外にも、Javaに関連した認定試験を実施しており、どれも実務に直結した非常に役立つ資格だ。IT業界で仕事をすると、IBMの製品を扱う事も少なくないので、そんなときはこれらの認定制度も活用してみると良いだろう。
Oracleが実施するプロフェッショナル認定制度
冒頭に挙げたプログラマー向けのBrons/Silver/Goldの他に、プロフェッショナル向けの認定制度がある。一部は英語での試験しか無いが、幾つか紹介しよう。
Oracle Certified Expert, Java EE 6 Web Services Developer
Javaを用いたWebアプリケーションのプラットフォームであるJava EEに関する認定資格。
Expertと呼ばれるだけあって、難易度は先のGoldよりも遥かに難しい。
WebアプリケーションはJavaの活用シーンとして最もメジャーなものであり、そのプラットフォームも交えて理解をすることも重要である。
Oracle Certified Master, Java EE 6 Enterprise Architect
こちらはプログラマーというより設計者向けの認定資格で、難易度としては上記のExperより一つ下で、Goldの一つ上にあたるMasterとなっている。
難度に加え、受験方式が英語のみとなっている点も、日本人にとってはハードルを上げてしまう要因だが、設計技能を向上させることも、プログラミングスキルを上げることと同様に重要である。
その他のOracle認定資格
JavaはSun MicroSystemsが1990年代に考案したオブジェクト指向型プログラミング言語であり、現在はSun MicroSystemsを買収したOracleがその主導権を握りながら進化を続けている。
Oracleでは、Java技術者の育成の為、ここで上げた他にも多くの資格試験を実施しているので、興味のある方は確認しておくと良いだろう。
Android 技術者認定試験制度(ACE)
Javaを語る上で忘れてはならないのが、Androidの存在だ。
Andoroidはスマートフォン等で利用されているオペレーティングシステムで、Javaを利用してアプリを作成する。
認定試験はアプリケーション(ベーシック/プロフェッショナル)とプラットフォームの3つに別れており、いずれも根底にあるプログラム言語であるjavaの理解が必須だ。
まだ新しい資格ではあるが、独立行政法人情報処理推進機構が策定したETSS(組込みスキル標準)とも連動しており、Andoroidの標準的な認定試験として認知度を高めていくだろう。
まとめ
Javaの資格試験についてまとめてきたがいかがだっただろうか?
日本はまだまだ資格社会だ。日本が悪いという訳ではなく、アメリカでもLinkedIn上で資格や取得知識のアピールが活発になっている。
Javaの資格試験には有用なものが多い。どうしても人間は好きな分野ばかりを勉強しがちだ。しかし、資格勉強では業務に必要だと思われる、客観的かつ幅広い分野が設定されている。資格勉強には、スキルを高めるという効果も必ずある。
スキルアップを目指すならば、チャレンジしてみてはいかがだろうか?