← Blog シリーズ:35歳エンジニアの学び直し

開発歴10年の33歳が、基本情報技術者試験にどう受かったか

· 5分で読める

先日、基本情報技術者試験を受けて無事に合格できました。

先に結論を書くと、勉強時間はだいたい20時間ほどでした。

全部を完璧にカバーせずに、得意分野や取れるところを確実に取りにいくというギャンブルに近い作戦でしたが、結果として科目Aは650点、科目Bは605点で通過できました。

人様に自慢できる結果ではなく、本当にギリギリではありましたが、

家事育児をしながら会社も営み自ら開発もしながら、1日1時間の勉強時間を確保できるかも怪しい状況で無事通過できたのは奇跡かなと思います。

勉強に使ったもの

使った教材は、いわゆる「出るとこだけ」系のテキストでした。

情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]

ただ、正直に言うと全部は読み切れていません。 試験日の2週間くらい前から読み始めて、70%くらい読んだ程度だったと思います。

優先順位を意識して、ほとんど出題されないであろう分野は後回しにし、アルゴリズムやセキュリティを優先的に読みました。 あとは、ITパスポートを受けたときの記憶だけを頼りに、本番に突入しています。

比較的取りやすそうだと感じていた得意分野(データベース、ネットワーク、セキュリティ、ビジネス・ストラテジ系、マネジメント系)を完璧に仕上げる作戦でしたが、

結果として、科目Aは65%でした。

試験Bは圧倒的に時間が足りない

科目Aは半分くらいの時間で解き終わりましたが、科目Bが余裕で時間が足りなかったです。

科目B対策らしい対策をしておらず、かなり不安な状態で本番に挑みました。

独自言語がややクセ強だったものの本番中になんとか慣れたのと、アルゴリズムとセキュリティが中心だったので、実務経験が多少助けになった感覚はあります。 そのおかげか、最終的には605点で、こちらも本当にギリギリ合格でした。

ただ、完全に時間が足らず、アルゴリズム系の後半6問くらいは適当な選択肢にチェックを付けましたが、それ以外の問題でしっかり点数を拾えたのが今回の勝因だったのかなと思います。

特にセキュリティ系の問題は、日本語をちゃんと読めて小学生レベルの四則演算が出来るレベルであれば解ける内容だったので、科目Bについても、科目Aと同様に、取れる問題をいかに正確に解けるかというところが肝かなと思いました。

勝因は?

今振り返ると、科目Bが受かった一番の要因は、前日くらいにアルゴリズムやデータ構造を軽く読んでいたことだと思います。

これが1週間前だったら、たぶん忘れていました。 短期集中で本番に持ち込んだのが、むしろ良かった気がします。

それに加えて、切り捨てた分野の出題がそこまで多くなかったのも運が良かったです。

つまり今回は、

  • 自分が取れる分野に問題が寄ったこと
  • 前日に見たアルゴリズムがギリギリ効いたこと
  • 実務経験で補えたこと

この3つがうまく噛み合って通ったのだと思います。

やはり実務経験者が強い?

今回あらためて思ったのは、実務経験は強いということです。

たとえば、参考書には絶対に書いていないだろうと思うような、かなりマイナーなアーキテクチャを聞かれる問題がありました。おそらく制作者の意図としては、選択肢を消去法で消していき、最終的に正答へ辿り着けるように作られていたのだと思います。

ただ、自分の場合は、実務でたまたまそのアーキテクチャを扱っていたので、「これだ」と一発で辿り着くことができ、時間の節約にもなりましたし、なにより気持ち良かったです。

こういうところで実務経験がそのまま点数につながったのは奇跡に近いので、 そういう意味でも、やはり実務は正義だと思いました。

これから受ける人へのアドバイス

あくまで自分の感想ですが、これから受ける人にアドバイスするとしたら、やはり「 アルゴリズムとセキュリティは重点的にやった方がいい 」これに尽きますね。

特に試験Bは、暗記系というより処理能力寄りです。 知識を丸暗記してどうにかする試験というより、問題文を読み、処理の流れを追い、落ち着いて判断できるかが重要だと感じました。

実務でコードを書いている人であれば、時間さえかければ解ける問題は多いと思います。 だからこそ本番では、「解けるかどうか」よりも「どれだけ早く解けるか」が点数に直結します。

その意味では、試験Bのアルゴリズム系の過去問を解いて、問題形式に慣れておくのはかなり大事だと思いました。

実務経験がある人なら、短時間でも十分可能性あり?

もちろん今回のやり方が万人向けだとは思いません。

ただ、普段からコードの読み書きやレビューなどをしたり、実務をしている人であれば、基本情報技術者試験はゼロから全部を積み上げなくても戦える試験だとは感じました。

全部を網羅しようとして挫折するくらいであれば、

  • 取れる分野を確実に取ること
  • アルゴリズムとセキュリティを優先すること
  • 試験Bの形式に少しでも慣れておくこと

このあたりに絞った方が、短時間でも合格可能性は上がると思います。