基本情報技術者試験、応用情報技術者試験 合格体験記

昨年(2015年)の春、秋にそれぞれ基本情報技術者試験(FE)、応用情報技術者試験(AP)を合格したので、備忘録的に書いておきます。

そもそもキッカケは?

システムアーキテクト(SA)を取得したいと思ったからです。私も会社では立場的に中堅になりかけてますし、部署の先輩がSAを持っていたので願わくば昇進のために取っておこうかなと。
但し、情報処理資格は何ひとつ持っていなかったため、SA受ける以前に最低でもFE、APは取っておかんといけんやろ…と思い、腕試し的に(?)FE、APに挑みました。

いつから勉強始めたの?

FE、APどちらも試験日の4、5ヶ月前ぐらいから始めました。

いつ勉強したの?

毎日勉強しました。但しいくつか工夫しました。
午前問題と午後問題、どのように学習の時間配分をするか考えました。
午後問題は休日である土日それぞれ2~3時間充てました。学習にある程度まとまった時間が必要であったためです。
午前問題は平日を充てました。ひとつの設問が小さく、学習時間を結構フレキシブルに変更可能なためです。但し仕事から帰ってきてからはほとんど頭が働かないため、普段より1時間程早く起床して、会社に行く前の朝の1時間を午前問題の学習に充てました。

どうやって勉強したの? -午前問題-

もっぱらここの過去問Webアプリを利用しました。
www.fe-siken.com
www.ap-siken.com
出題年度やジャンルを設定できて、更に成績も記録できるので非常に便利です。
但し、何点か工夫しながら学習しました。

★出題年度を直近過去4年分(8回分)に絞った

過去問を解いてみて分かったことは、古すぎる年度の問題は近年ほとんど出題されない、ということでした。
後述するように出題パターンはだいたい何パターンかに決まっており、それらパターンを網羅するには直近過去4年分で十分だと判断しました。

★全分野満遍なくでなく、分野ごとに集中した

ある年度の過去問を全て満遍なく解いていくやり方ではなく、
分野ごとに(ネットワーク、システム開発技術など)直近過去4年分集中して取り組む方法でいきました。これには理由があります。

まず、全分野いっぺんに網羅しようとすると、覚える量が多すぎてほとんど記憶に定着しません。
特定分野に関し直近過去4年分の過去問をひたすら解きました。
上記のサイトでは過去問が分野ごとにまとめられており、便利です。
分野別過去問題 テクノロジ系|応用情報技術者試験.com
似たような問題にひたすら取り組むことになるので、繰り返し効果により記憶に定着しやすかったです。

正答率が8割ほどになったら次の分野を学習します。
というのも、どうやっても苦手な問題が出てくるので、解けずにこだわっていたら次の分野に進めなくなります。
苦手問題は後で集中的に対策するとして、さっさと次の分野へ進めます。

分野は、自分の得意なものから順に学習するのが良いと思います。
私は得意とするシステム開発技術から始めました。
こうして、ひとつの分野がだいたいできるようになってきて、「この分野だけは大丈夫!」と自信がついてきました。

★理解はテストファースト 正解に必要な知識だけを持ってくる

上記のようなやり方で、まずいきなり過去問へ挑みます。間違ってもいいです。
間違うことで、正解にどんな知識がどれぐらい必要なのかが把握できます。
正解に必要な知識について、上記Webアプリの解説なり、Google先生で調べるなりします。
半分ぐらいはこの2つの方法で十分でしたが、中にはそれでもよく分からないものがあったので、さすがに市販の教科書を参考にしました。
どれでも良いですが、僕が使ったのは技術評論社の教科書です。

図説もあるので分かりやすいです。
が、あくまで過去問が先です。
教科書からスタートするのは全然オススメできません。教科書には、正直問題を解くには不要とも思えるような詳細な記述が莫大にあります。教科書から始めても解き方はほとんど身につきませんし、まして全部覚えるのは時間の無駄です。

過去問を解く
 ↓
不正解だった/分からなかった
 ↓
正解に必要な知識を教科書から得る

まさにテストファーストですね。
この手順が短時間で効果を上げる王道だと思います。

出題形式にはパターンがある

過去問を何度も解いてると分かりますが、各分野ごとの出題形式は数パターンに限られています。いわゆる頻出問題というヤツですね。
低頻度の問題もある程度おさえておく必要はありますが、まずは頻出問題をおさえておくだけで8割カバーできると思います。
何度も解いて慣れてくれば、問題文の始めを読んだだけで答えが分かるようになってきます。
このように答えが即分かるレベルにまで昇華させるのがひとつの指標だと思います。
実際本番試験でもかなり時間的に余裕が持てました。午前問題で時間が足りない、ということはありませんでした。

午前問題 学習仕上げ

以上のように分野単位で順番に制覇したした後に、苦手問題に集中的に取り組みました。
全分野制覇後、今度は覚えたことを忘れないように年度単位で過去問を解いていきました。午前問題に関しては試験本番までこれを繰り返しました。
午前問題の学習方法に関しては以上です。

どうやって勉強したの? -午後問題-

午後に関してはiTECの参考書を使いました。
午前問題を解けるだけの基礎知識があれば、午後問題ははっきり言って国語の問題だと思います。
詳細な対策方法はiTECの参考書に譲るとして、これも基本的にテストファーストで、まずは設問を先に読んで、設問に必要な解を問題文から探してくる、という作業になります。
午前問題とは異なり出題パターンあるというわけではないので、こればかりは参考書のヒントを頼りに慣れていくしかないなという感触でした。実のところ過去問を解いても最後まで正答率が安定しませんでしたし、不安といえば不安でした。

そして結果は

こうなりました。
f:id:minodriven:20160522165240p:plain
f:id:minodriven:20160522165232p:plain

うーん午前は我ながらと思いますが両方とも午後は最後まで安定しませんでしたね、ちょっと危なかったですけどなんとか合格です。

合格して何か変わった?

知識としては、ソフト開発に関して不足分を少し補えたかな、だいたい広く浅くカバーできたかな、という印象です。ITエンジニアのくせしてネットワークやDBが苦手だったので、そのへん補えた感触。

「資格取ったら激烈に仕事ができるようになった!!」というのはないです。
「資格取ったらソフト開発スキルが上がって開発中のソフトウェアの品質がめちゃめちゃ上がった!!」というのももちろんないです。ソフトウェア技術は、やはり資格とは別にリファクタリング手法や設計手法等身に付ける必要があります。それに関しては私が制作したゲーム「Bug Hunter」をやって頂ければ、少しは体験できる(?)かと思います。是非やってみて下さい。
minodriven.hatenablog.com

社内立場的にも何も変わりませんでした。昇進昇給もなし。資格も結局仕事の成果を出すための材料のひとつに過ぎないわけですね。
一応受験料だけは支給されましたが。

最後に

こんなかんじでシステムアーキテクト取得の下準備は整いました。
SAも同様に効率を考えしっかり計画を立てて挑みたいと思います。