プログラマが資格を取得するにあたり、どのような資格があるのか、オススメはどういったものなのかを紹介していこう。
目次
プログラマとして資格試験を活用する
プログラマが資格を必要とするどんな場面があるだろうか。例えば初めて会う人に自分の技術レベルを知ってもらうような就職活動をあげることができる。何ができるかについてあれこれ説明するよりも資格があればより正確に自分のスキルを先方に伝えることができる。一方、相手がある一定のレベルの技術を最初から要求する場合もある。また、プログラマとして特定の分野のプログラミングに深く入っていく前に情報処理に関する基礎的な知識を身に付けてから特定のプログラミング言語を学んだ方よいだろう。その際に資格試験取得を目指して勉強するなら広く一般的な基礎知識を身につけることができる。
さらに、すでにスペシャリストとして認められていると思い込んでいる技術者でも、自分の技術力が狭い世界の偏ったものかどうかを知るために資格試験を受けてみるのもよいだろう。
では、最初にプログラミングの分野の資格から見てみよう。
プログラミングの資格
Java SE 11 認定資格
Javaプログラミング言語は、組込みシステムから情報処理システムまで非常に幅広いシステム開発の分野で用いられている。Javaは一度コードを書けばどこでも同じコードで動作させることができる。そして、バージョンアップとともに様々な改善がなされて来た。このため、現在でも求人の多い言語として上位にある。
この「Java SE 11 認定資格」には3つの段階がある。プログラミングは初めてという入門者向けのBronze、基本的な知識を持っていて上級者の下で指導を受けて開発を行う開発入門者向けのSilver、上級者向けのGoldである。
非常に広い分野において長い間使われて来たJavaである。開発されたシステムはたくさんあり、今でも増え続けている。代表的なものとして、企業の情報処理システム、Webサービス、Androidアプリケーションなどがある。この資格を持っていれば自分のプログラミング資格をアピールする機会は多いだろう。
C言語プログラミング能力認定試験
C言語は装置を直接制御するための組込みシステムの開発では必須の言語である。情報処理の分野では必須ではないが、処理スピードを限界まで追求する必要がある場面は一般的に使われる言語と組み合わせて使われる。
この「C言語プログラミング能力認定試験」はC言語の知識とその知識を応用した実際のプログラミング能力を、1級から3級の3つの段階に分けて認定している。1級の資格を持つプログラマはC言語を駆使してプログラムが書ける。2級ならアルゴリズムを使って小さなプログラムが書ける。3級なら基礎的な知識を使って簡単なプログラムが書けるというものだ。
2級と3級はマークシートによる試験だが、1級はパソコンを使って事前に用意された仕様書とそのプログラムを学習しておいて、実際の試験ではそのプログラムを要求される仕様に基づいて修正変更するというものである。
自動車などに組み込まれた制御システムを開発するプログラマを目指しているならば取っておきたい資格である。また、情報処理でもデータの処理スピードを要求されるような分野、データベースの開発やビッグデータの解析なの分野でプログラマとしてスペシャリストを目指している人ならば、C言語プログラミング能力認定試験は是非とも取得しておきたい資格である。
Ruby技術者認定試験
Rubyは日本で開発されたプログラミング言語であり、その開発環境Ruby on Railsも含め、素早くWebアプリケーションを開発できることから非常に高い人気がある。
Ruby技術者認定試験はRubyによるシステム開発において必要な基礎的な知識と応用する力を持っていることが認定される試験である。この認定資格には、Silver、Goldの2つのレベルがある。SilverはRubyの基本的な知識を持っていること、GoldはRubyによるプログラム設計ができることを認定する。
Webアプリケーション開発の分野に進むのであれば、他の開発環境にも影響を与え、国際規格ともなっているRubyの資格を取得しておくのはよい。
分野別の資格
基本情報技術者試験
情報処理技術は非常に広い分野をカバーしている。ITサービス管理、プロジェクト管理、セキュリティー管理、ネットワークなど様々な分野があって、それぞれスペシャリストがいる。この資格はどのスペシャリストであっても必要とする基礎知識である。
この試験では、一般的な業務内容を理解しており、情報技術によって戦略的な提案を行えるかどうか、また、提案したシステムを上級者の指導のもとに設計・開発・運用できるかが問われる。システム開発の広い範囲を網羅した試験内容になっている。基本情報技術者試験で問われるのは上級者の指導のもとに開発が行える基礎的な技術レベルである。
直接プログラミングに関係する技術ではないが、優秀なプログラマであるためには業務に関するある程度の基礎知識と情報処理技術を応用してシステムを提案し問題を解決する能力も必要である。この試験はそのような技術を身につけさせてくれる。
応用情報技術者試験
基本情報技術者試験が上級者の指導のもとに開発が行える基礎的な技術レベルであるのに対して、応用情報技術者試験は独自に開発が行える技術レベルであることを認定する。つまり、基礎技術を応用して他の技術者に頼ることなくプロジェクトで割り当てられた責任を果たせるということである。
そのような技術者を目指しているのなら挑戦してみるのは価値がある。また、すでにそのような技術を持っていると思っている人でも、実際の技術力を確かめるために試してみるのもよい。
組込み技術者試験制度(ETEC)
ETEC(Embedded Technology Engineer Certification:組込み技術者試験制度)は、組込み技術者向け試験制度である。この試験に合格か不合格かの判定はなくその技術者のレベルを判定するものである。ふたつのレベルがあり、ひとつはプログラミング経験のない入門者向けの「組込みソフトウェア技術者試験クラス2(エントリレベル)」、もうひとつは中級者向けの「組込みソフトウェア技術者試験クラス1(ミドルレベル)」である。
将来組込の分野で活躍したいプログラマなら、ハードウエアを直接制御するために必要なC言語の資格:C言語プログラミング能力認定試験とあわせて、様々な機器にソフトウェアを組込む技術レベルを示す資格も持っておくことを勧めたい。
Android 技術者認定試験制度(ACE)
iOSと並んでAndroidも日々新たなスマートフォン・アプリケーションが開発されリリースされている。それとともにOSそのものも日々新たな機能が追加されている。このアプリケーション開発を担っているのがAndroid技術者である。
この認定試験制度には分野別に「アプリケーション技術者認定試験」と「プラットフォーム技術者認定試験」の2つがある。それぞれの分野ごとに「ベーシック」と「プロフェッショナル」の2つのレベルがある。また、この資格は組込み技術者試験制度(ETEC)とも連携している。
Androidに関連した開発にこれから携わろうとする技術者に勧めたい資格である。さらに、日々新しい機能が追加されているAndroid、日々の問題解決に追われ、持っている技術が偏りがちな技術者のスキルチェックにも役立ててほしい。
Java EE 6 Web Component Developer Certified Expert
Webアプリケーションを開発しようとするとプログラミング言語を学習するだけでなく、 GUI、プログラムの実行環境、データベースへの接続、セキュリティーなど学ばなければならいことはたくさんある。
この資格はJavaを使ってWebアプリケーション開発を行うコンポーネント開発者のためのものである。試験によりJavaのサーブレット、JSP、MVC、JDBCによるデータベースの接続、セキュリティーに関する問題が試験の範囲となる。試験に合格すれば、Webアプリケーションを開発し運用する技術を持っていることが認定される。
試験がOracle社のJavaに特化しているとはいえ、Webアプリケーション開発に必要な基本的な技術を網羅している。これからWebアプリケーションの分野へ進もうとしているプログラマには必要な技術を一通り身につけるという意味でも勧めたい資格である。
コミュニケーションのための資格
プログラミングに加えて、優秀なプログラマになるためにはコミュニケーションのための資格も重要である。
OCUP:OMG認定UML技術者資格試験プログラム
プログラマがプログラムを書くためにはコミュニケーション能力が必要である。それは、一方通行のものではない。ユーザの要求を聞いてプログラマとしてどんなものを作ろうとしているかが説明できなければならない。この時、UMLについての基本的な知識があればユーザとのコミュニケーションを言葉だけでなく直感的な図を用いて行うことができる。
OCUP:OMG認定UML技術者資格試験プログラムには3つのレベルがある。限られたUMLモデルについての基礎知識が必要とされるファンダメンタル、全てのUMLモデルの理解が必要とされるインターメディエイト、UMLモデルそのものを記述するメタモデルまでの深い知識を必要とするアドバンスドである。
これらの中のファンダメンタルの資格を持っていれば、コミュニケーションは世界共通のUML図を用いて理解しやすいものになるだろう。また、OCUPと比較されるのがUMLモデリング技能試験(UMTP)だが、コミュニケーション能力を高めるという目的なら国際標準のOCUPを勧めたい。
TOEIC:国際コミュニケーション英語能力テスト
外国の企業に勤めるプログラマでなくてもプログラムを書くために英語の読み書きはある程度必要である。なぜならプログラムを書く時、新たに定義されたものを使うのは別としてかなりの部分を英語表現で書かなければならないからである。特にオブジェクト間のコミュニケーションのコードは英会話のようなものである。また、時に翻訳されていない言語仕様書やサンプルコードなどがある。深い問題を解決するためにWeb検索すると解決策が英文の場合も多い。このため、プログラマの英語の学習は欠かせない。
そこで、TOEICだ。TOEICは、英語のコミュニケーション能力を評価する世界共通のテストである。このテストの結果は国際的に通用する。
英語の能力を高めれば、クラスの名前やメソッドの名前などをあまり悩まないで分かりやすく書くことができるだろう。また、直接英文を読めるようになれば問題解決の時間も早い。日々の学習の中に組込むのはどうだろうか。
まとめ
プログラマが資格を取得するにあたり、ざっと代表的なものを紹介した。各資格の詳細、出題範囲や日程などについては実際に公式サイトの情報を参照していただきたい。
TOEIC
いつもご愛読いただきありががとうございます。
また、ご指摘いただきありががとうございます。
こちら、修正いたしました。
引き続き、何卒よろしくお願いいたします。