IPAのプロマネ試験の結果と勉強方法＆自分はなぜ試験勉強をするのか

こんにちは。
[株式会社dott](https://thedott.io/)でエンジニャーをしているHALと言います。

自分はIPAの試験を中心にいくつかの試験[^1]を受けていて、今回（2021年秋期試験）はプロジェクトマネージャ試験を受験しました。
昨日（12月17日）結果が出たので、その結果とどんな勉強をしたのかについて書こうと思います。
（と、執筆している時点では結果は出ていないのですが・・・）

# 試験結果
$\huge{合格！！！！}$

![seikou_banzai_man.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571256/f9e4d1fb-dc28-9602-d639-0fe8589678a2.png)

https://twitter.com/HAL1986____/status/1471677710166814721?s=20

（いやー、合格してよかった・・・）

# どんな勉強をしたか
過去の試験についても同様なのですが、自分の試験勉強スタイルは基本的には一つです。

* ただただ参考書[^2]を繰り返し読む

テクノロジ系の試験（データベースとか）でも演習問題などは基本的には無視し、参考書を理解することを優先します。
特にこのとき意識して行っているのが、「**自分の体験・経験に紐付けて考える**」ということです。

## 体験・経験と紐付ける
おそらくどんな人でも、知識を定着化することが重要だということは理解していて、それぞれのやり方を持っているのではないかと思います。
自分の場合は、体験・経験と紐付けて考えることで、定着化することを図っている、というわけです。

例えば今回受験したプロジェクトマネージャ試験であれば、自分ではやったことがなくても、上司や先輩がやっていた進捗管理の作業や会話の内容を思い出し、「あぁ、この本で言っているのはあのとき先輩がやっていたこれのことか」と考えながら読みすすめるわけです。
具体的な例がある方が、書かれている内容のイメージもしやすいですし、記憶と知識が連動してくれるので、後で思い出すときも容易に思い出せるようになります。
脳内でタグ付け、もしくはインデックスを貼っているようなイメージですね。

## 似た経験がない場合
逆に言うと、過去の体験や経験から関連するものが見つからない場合はちょっと困ってしまいます。
その場合も、単独で覚えるために何度も読み込んで、意味は理解するのですが、なかなか定着してくれません。
こういった場合は、「疑似体験」をすることで覚えることをおすすめします。

例えばプロジェクトマネジメントについてなら、色んな人の失敗談や炎上経験の話がそこら中に転がっています。
こういったものを読み漁ることで、なるほどだからこういう管理が重要なのか、と「体験したつもり」になるわけです。

また、テクノロジ系であれば演習問題をやることが役に立つ場面もあるでしょう。
過去にDB設計をしたことがなければ、演習問題を解くことでDB設計を「疑似体験」するわけです。
さらに、それをしながら過去に携わったプロジェクトのテーブルの定義なんかを思い出して、「あぁそういえばあのテーブルはこうなってたけど、すごく開発しづらかったのはこういう点でよくなかったんだな」といったことが見えてくると、過去の経験も繋がるため、より強固に知識を定着させることができます。

## 取得するのに向いている資格
経験・体験を重視しているので、必然的に取得するのに向いている資格、というのが出てきます。
過去にDBを使ったことがないのにデータベーススペシャリストの試験は難しいでしょうし、ネットワークの仕事をしたことがないのにネットワークスペシャリストも難しいでしょう。
（自分は、DBは業務経験もあるので取れましたが、NWは経験がなく、何度か受けて落ちました）

逆に言うと、誰でも多少なり関わったことのある分野は取得しやすいとも言えます。
今回受験したプロジェクトマネージャ試験は、ウォーターフォール開発の経験があれば、比較的受けやすい方だと思います。
また、システムの要件定義や基本設計に近い仕事をしたことがあれば、ITストラテジストやシステムアーキテクトといった資格も勉強しやすい方だと思います。
（ただ、出題範囲も広く、論文もあるので受かるかどうかはまた別の問題ですが・・・）

自分がそのポジションの仕事をしたことがなくても、意外となんとかなるものなので、「自分にはまだ早い」とか思わずに、ステップアップのための挑戦だと思って受けてみてもいいかなと思います。

## とは言え受けるからには受かりたい
さて、自分はどちらかと言うと「受かるために受ける」というよりは「知識を増やすために受ける」感じでいるのですが、とは言え受けるからには受かりたいですよね。
IPAの試験については１つ確実に言える効果的な方法があるのでお伝えしておきます。

それは「過去問を解く」ということです。

何を当たり前なことをというところですが、一つだけポイントが有りまして、それは「午前問題については」という点です。
今回のプロジェクトマネージャ試験でもそうだったんですが、午前問題については過去に出題されたものと全く同じ問題が数問出題されます。
自分は午前1は免除だったため午前2しか受けていませんが、午前2の問題の25問中、11問が過去問から出題されました。
6割取ればいい試験で、半分に近い数の問題が過去問から出題されたわけです。

自分は過去問を集めているWEBサイトで、試験直前に問題と解答を覚えるくらい繰り返しやりました。
（とはいえ、掲載されている選択問題を3周程度です）
これのお陰で午前2試験はかなり余裕を持って解くことができました。

午後問題については、自分は過去問の勉強は必須とは思っていません。
午後問題はどれだけ内容を理解できているか次第なので、前述の参考書を繰り返し読みながら、体験・経験と紐付けるだけで十分だと考えているためです。
ただ、問題文の把握とかが苦手だと思っている場合には、練習目的で勉強するのは良いと思います。
目的意識を持って、勉強するものを選びましょう、ということですね。

# なぜ試験勉強をするのか
最後に、試験勉強をする理由、試験を取得する理由について書いてみようと思います。

Twitterなどで度々話題になる「基本情報・応用情報などの試験は役に立つか」という話にも通じますが、自分は「試験の内容がそのまま役に立つことは、あるけど少ない」と思っています。
今回受験したプロマネ試験も、実際のプロジェクトではそのまま適用できないような話も多く、プロジェクトマネジメントの本当に難しいところはその「適用できないところをどうするか」という話だったりするので、試験の知識は役に立たないわけではないけど、足りてなかったりします。

けれど、知っている人と知らない人では、取り得る選択肢が変わります。
for文しか知らなくても繰り返し処理は書けますが、拡張for文やforEach、mapとかのいろいろなやり方を知っている方が、より簡単に実現できるかもしれません（できないかもしれません）。
結局、知らなくても実現できてしまうために「必要ない」と判断できてしまうわけですが、可能性は広がらないんじゃないかなと思います。

じゃあ、試験勉強でなくても興味のあるものを自己学習すれば良いじゃないか、とも言えますが、興味のあるものや自分で選んだものを勉強すると、どうしても偏りが出てしまいます。
知識の偏りは、やはり可能性を狭めてしまうことに繋がります。
その点、試験勉強であれば、より体系的に万遍なく網羅したものを勉強することになるので、「偏りを減らす」ことができます。

知らないよりは知っている方が良い、そして、知るなら「体系的に万遍なく」知っている方が良い、そう考えているため、自分は試験勉強をしています。
（もちろん、資格を持っていると市場価値が上がるとか、前職にいた頃は取得一時金がもらえた、とかいう理由もあります）

今後も、今やっていることの近くだけど、万遍なく知識を持てていないなと感じる部分について、それに合う資格試験を見つけて、継続的に取得していくようにしたいと思います。

[^1]: IPAでは基本情報、応用情報、データベーススペシャリスト、セキュリティスペシャリスト（現、情報処理安全確保支援士）、システムアーキテクト、ITストラテジストの６つ。あとAI系の試験としてG検定を取得しました。
[^2]: 読むことが大事なので演習問題メインのものではなく、出題範囲の知識を網羅した参考書を探して買っています。