非エンジニアが基本情報技術者試験に挑戦!さぁどうなる?

開発チームに属しながらもエンジニアには程遠い人間が、 IT系国家資格の王道、基本情報技術者試験に挑戦してみたお話。

きっかけ

ことの始まりは新しいシステムを作るためプロジェクトチームに合流していわゆるエンジニアと呼ばれる人たちに囲まれる環境になったこと。

元々サービス出身で企画業務自体の経験も浅かったことに加え、これまでは「ブリッジエンジニア」の方々が仲介してくれていたのでそんなにシステムに寄った話をすることも必要性もなかったのです。(ということに今さらながら気づく。ありがたや…)

しかし新しい場所には中間通訳的な人間もおらず技術者たちと直接対話することに。例えたら 英語はわかるけどフランス語がわからないのに独りでフランスにインターン来ちゃった、どうしよう的な状態です。

そんなフランス人たち(※エンジニア)の会話を横目に「こんなところまで考えて作らないといけないんだなぁ」と思ったり、「自分がもっとシステム知識があれば判断もスムーズにできて業務も進むのに」とへこんだり、そして純粋に「この人たちの頭ってどうなってるんだろ」と未知の世界に興味を持ったのでした。

郷に入っては郷に従え、コミュニケーションの第一歩としてまずはフランス語アルファベットを読めるくらいにはなろうと…。知識をつけるには何が良いかな?と調べたり聞いたりした結果が、基本情報技術者試験でした。「システム作るひとってどうゆう知識が必要なんだろう」と漠然とした疑問を消化するのにちょうど良かったですし、どうせなら本読むだけより試験の方が理解度を計れますからね。

学習開始

そんなことから学習開始したのが5月頃。久々の資格試験勉強にモチベーションが上がり揚々とテキストを買ったものの、待ち受けていたのは「基本理論」や「アルゴリズム」などこれまで馴染みがない「THE・理系!」なものたち。全く頭に入らず数ページ読むのに1時間。先の長そうな分厚いテキストに早くも心が折れ、数週間放置するはめに。(わからないことよりも、興味を持てなかったことが問題)

ここで幸いしたのが、「試験受けます」と上司に公言していたこと。普段なら絶対試験終わって受かるまで公言しないんですけどね。公言した手前、やらなきゃ!という気持ちが勝り、その後再始動。

少しやり方を変え、多少解る分野から読み進め苦手意識を解消していく方法に。消化項目が増え、わからない箇所が30%くらいまでになってくると気持ちも楽になりやる気も出てきます。

他の分野を学習していくと最初に躓いた「基礎理論」や「アルゴリズム」がどのように使われるのかも解り、興味が湧いてきます。(学生の頃数学で「こんなの将来使うことないじゃん…」と思っていたことが使うときがきました。学生時代の自分に使うときが来るよって言いたい。)

テキストを一通り読んだ後はひたすら問題を解き、間違えた箇所は解説やテキストを見て不明点を潰していきます。過去問道場というサイトがあったのでそれを利用し、通勤電車の中でも問題を解くなどして問題の回数を重ねていきました。(一問一答形式なので移動中でも解きやすい)

最後の難関。

概ね問題が解けるようになったところで応用となる午後問題に着手。このとき9月初旬で試験まであと1ヶ月半ほど。「1ヶ月半あれば練習問題繰り返せるからなんとかなるだろう」と思っていたのですが、甘かったです。

内容としては午前問題を習得すれば解けることの寄せ集めなのですが難易度が高い。まず1つの問題を読み解き、解説を読んで理解するのに思った以上に時間がかかる。そしてアルゴリズム問題の理解度が著しく低く、ここでも前に進めない。アルゴリズム問題は初心者向けの試験用テキストも購入したのですがどうにも理解が及びません…。しかし幸いにしてここはプロエンジニアに囲まれた環境、優秀なチームメイトに助けてもらいなんとか基本的な考え方は習得することができました。(本当に感謝!)

振り返り

午後試験の勉強時間が足りなすぎたことがまず一番の反省点。勉強開始や基本の理解度が遅かった影響もありますが過去問題を通して解いたのも1回程度で、想定していた模擬テストを繰り返すこなして慣れるというレベルには全く到達できませんでした。

ともあれ、開始当初は数ページでフリーズしていたことを考えると試験本番で「受かるかな、大丈夫かな」と心配するレベルにまで達したことだけでもかなりの進歩なんじゃないかと感じています。

そして先日、無事合格通知を確認しました!!ヨカッターー。決して簡単な内容ではないですし、試験に合格したからと言って何か即戦力になれるわけではないですが(笑)その分基本を万遍なく網羅している試験とも言えるので、全体像を理解するには十分に受ける価値があったと思います。ネットワークや情報セキュリティの分野などは一般的にも知っていて損はない内容だと思うので、エンジニアではない方でも興味があれば挑戦してみてはいかがでしょうか。