エンジニア育成における情報処理技術者試験の位置付け
情報処理技術者試験の受験理由と、受けてよかったことの続きです。
前回の内容を踏まえ、新人のITエンジニア育成・指導において、情報処理技術者試験をどのように活用すべきかをまとめます。
試験ごとの合格目標
新人さんに指導する際は、以下の年次までに合格することを目指すよう勧めています。
この基準は「おおよそこのくらいの時期に資格を保有できる程度であれば、エンジニアとして市場で通用するだろう」という見込みによります。
- 基本情報技術者試験:〜2年目
- 応用情報技術者試験:〜3年目
- 高度情報処理技術者試験:〜5年目までに1つ以上
- 特に希望や業務に合うものがなければ、情報処理安全確保支援士がオススメ
なお、実際には個人に合わせて時期は多少調整しています。
飲み込みが早い人はもっと早く受験を勧めますし、専攻が異なる人には1〜2年程度遅らせる場合もあります。
この辺りは全員一律というよりも、きちんと個人に向き合って現実的な目標を定めるべきだと思います。
エンジニア育成に情報処理技術者試験を活用すべき理由
活用すべき理由としては、以下の理由が挙げられます。
- 体系的に技術を理解してもらうため
- 設計における重要な観点やツールを知ってもらうため
- 自身のスキルを把握し、課題を認識してもらうため
- 用語に慣れて「聞いたことのある言葉」にしてもらうため
- 市場で通用する能力を身に付けてもらうため
- 数年では陳腐化しない基礎知識や観点を身に付けるため
一言でまとめると「中長期的に世の中で通用する知識を身に付けるため」といったところでしょうか。
1. 体系的に技術を理解してもらうため
情報処理技術者試験を保有していなくても、業務を回すことはできるようになります。
しかし、それだけでは業務で必要な知識しか身に付かない可能性があります。
1〜2年目のエンジニアは指示された作業ができれば十分な場面も多いかもしれませんが、その後はリードしていくことが求められるようになり、そのためにはより広範な知識が必要となります。
具体的には「ITにはどのような技術が存在し、会社ではどういった理由でどの技術を使っているのか」を説明できるほどに理解している必要があります。
これができなければ適切に技術を選定できませんし、後輩を指導することもできません。
体系的な知識と実践的な知識はどちらも必要です。
実践的な知識は実業務やOJTでも習得しやすいですが、体系的な知識を実業務やOJTでカバーすることは困難です。
そのため、体系的な知識は情報処理技術者試験で身に付けるのが良いと思います。
2. 設計における重要な観点やツールを知ってもらうため
情報処理技術者試験には、設計における重要な観点やツールが多く含まれています。
例えばシステムの稼働率、アルゴリズムの計算量、スループットといった基本的な観点は網羅されていますし、直交表、決定表(デシジョンテーブル)、状態遷移表などの設計に効果的なツールも多くあります。
これらを知っているのと知らないのとでは、設計品質に大きな差が出ます。
試験後に忘れてしまっても、必要になったときに「あんなのあったな」と思い出して検索し、使いこなせれば問題ありません。
知らないものは検索できないし使うこともできませんが、存在を知っていれば必要になったときに使うことができます。
3. 自身のスキルを把握し、課題を認識してもらうため
勉強中や試験中に分からなかった所は、自分が弱い分野なのだと自覚することができます。
課題意識が芽生えれば今後意識的に伸ばすこともできますし、業務中に助けを求めることもできます。
大学の専攻が情報工学以外の人はITに関する体系的な知識が弱い可能性があるので、こういった人には早めに課題意識をもってもらうことが重要になります。
もし試験に合格できなかったとしてもそれ自体は無駄にはなりません。
課題として認識していなければ課題を克服することはできないので、まずは課題意識を持ってもらうだけで十分効果があります。
4. 用語に慣れて「聞いたことのある言葉」にしてもらうため
人が知らない用語を理解するときは、以下のような3段階があります。
- 知らない、聞いたこともない
- 聞いたことはあるが、まだよくわかっていない
- 聞いたことがあり、きちんと理解している
一気に1.から3.の状態に持っていければベストですが、これは現実的には難しいです。
したがって、まずは1.から2.の状態へ持っていき、その後に様々な経験を通じて徐々に2.から3.の状態へ移ることになります。
このためには、まずは一通り用語に慣れることで「聞いたことのある言葉」にすることが重要になります。
「聞いたことのある言葉」にすることで、2つの効果があります。
1つは、用語への心理的な抵抗が減ることです。
知らない言葉よりも聞いたことのある言葉のほうが心理的な抵抗は小さく、その用語に遭遇したときにその場で調べ直したり、理解を深めたりするハードルが下がります。
その結果、実務の中で理解を深める機会の増加に繋がります。
もう1つの効果は、用語を理解することについての課題意識が生まれることです。
試験中や勉強中に出てきた用語は、自分が知らなければいけない言葉として認識され、自然とアンテナを張るようになります。
その結果、日常のどこかでその用語に遭遇した時にも「あ、この言葉また出てきたな」と認識できるようになります。
逆に、アンテナを張っていない状態ではその用語を見かけてもスルーしてしまう可能性が高くなり、学習の機会が失われます。
5. 市場で通用する能力を身に付けてもらうため
新人さんを育てるときの向き合い方でも書いたように、社内外で通用する人材になってもらうことを目指して指導します。
この方針に基づくと、情報処理技術者試験は以下の点で合理的です。
- 業界の標準語で話せること
- 業界の標準的な知識を身に付けられること
どの会社にも少なからず、社内方言や自社でしか通用しないような知識があると思います。
そういった社内外の違いをきちんと理解してもらうことは、市場で通用する人材になる上で必要不可欠です。
6. 数年では陳腐化しない基礎知識や観点を身に付けるため
情報処理技術者試験の試験要綱は何度か改訂されていますが、試験内容の劇的な変化は起きていません。
これは、試験範囲がすぐに陳腐化するような内容ではなく、長く通用する基礎知識や観点を重視しているためです。
経験上、「すぐに役に立つものほど本質的ではなく、すぐに役に立たなくなる」という印象があります。
情報処理技術者試験は「すぐに役に立つ」という実感は湧きづらいかもしれませんが、その内容は本質的に重要な項目が多く、エンジニアの人生において中長期的には大きくプラスになると考えています。
おすすめしない受験理由
以下のような理由での情報処理技術者試験の受験は、個人的にあまりおすすめしません。
- 試験に合格することだけを目的にすること
- 転職だけを目的に受験すること
- 奨励金のためだけに受験すること
試験に合格することだけを目的にすること
試験に合格することは目標として重要ですが、本質的に重要な点ではありません。
本質的に重要なのは、その試験や勉強を通じて自身の成長に繋げられることです。
仮に不合格だったとしても、自身の力不足な領域が理解できれば、それは今後のスキルアップに繋がります。
転職だけを目的に受験すること
転職に有利だから…というのはよく書かれていますが、あまりおすすめしません。
というか経験的にも、私はかなり早い時期に合格したと思いますが、就職にも転職にも有利だったという実感はありません。
受験するからには、目的を明確にすることが重要だと思います。
そしてそれは表面的・即物的でなく、本質的に価値のあることに目を向けるのが良いと思います。
奨励金のためだけに受験すること
奨励金のためだけに受験するのはおすすめしません。なぜなら時間やリスクの割に合わないからです。
奨励金については会社によって大きく差がありますが、聞いたことがあるのは基本情報で1万円、応用情報で3万円、高度試験では5万円〜15万円程度のようです。
高度試験であればなんとか元は取れるかもしれませんが、それ以外で元を取るのは厳しいです。
試しに、ざっくり1時間を1500円程度で計算すると以下のようになります。
- 参考書:一冊購入したとして、3000円程度
- 勉強:参考書を一通り読んだり、問題を解いたりするのに15時間程度(2万円相当の時間)1
- 受験当日:丸一日かかるため、1万円相当の時間を消費する
この上、合格しなければ奨励金は支給されません。
単にお金がほしいだけであれば、副業でバイトでもしたほうがプラスになりますし、確実です。
「スキルアップのついでに奨励金まで貰えるなんてラッキー」程度に捉えるのが良いと思います。
情報処理技術者試験で補えないこと、期待できないこと
以下のような点は、情報処理技術者試験ではカバーされません。
- 実践的な知識の習得
- ベンダー製品に特化した知識の習得
実践的な知識の習得
フレームワークの使い方のような、実践的な知識についてはほとんど出題されません。
なお、最近はWebアプリケーションの開発案件が大半だと思うので、Web系の技術についてもあまりカバーされていません。
もう少し出題されても良いと思うのですが、おそらく言語やフレームワークの選択肢が多すぎることや、流行り廃りが激しいため、試験へ反映することが難しいのだと思われます。
ベンダー製品に特化した知識の習得
ベンダー製品に特化した内容は出題されません。
例えばRDBであればスキーマ設計やデータベースの正規化に関しては出題されますが、Oracle, Microsoft SQL Server, MySQLなどに特化した内容はデータベーススペシャリスト試験では出題されません。
特定のRDBに関する試験は主にベンダーによって行われているため、より実践的で特化した内容の資格を受験したい場合は、そちらを受験することになります。
所感
最後に、個人的な所感を書いておきます。
完全に主観ですが、メーカーやSIerは情報処理技術者試験を重視しすぎて、実践的な知識を疎かにしている印象があります。
一方、Web系の企業は実践的な知識を重視しすぎて、情報処理技術者試験などを軽視している印象があります。
私も以前は「情報処理技術者試験だけ持ってても、実践が弱かったら駄目だよね…」という考えが強かったですが、別の職場に行った所、考え方が大きく変わりました。
その結果、情報処理技術者試験はエンジニアの共通言語として、大きな価値があると思うようになりました。
保有資格者が多いことは業務を標準化しやすく、属人化を防いでくれますし、設計における重要な観点やツールを網羅してくれるので、最低限の品質を担保しやすくなります。
うまく情報処理試験を活用し、体系的な知識と実践的な知識の双方をバランスよく備えたエンジニアが増えてほしいなぁと思うばかりです。
-
実際には15時間では終わらないと思いますが… ↩︎