🎉

あの悪問から 50,000時間の時を経て 今こそ天誅下す刻 ~ 新卒応援編 ~

2024/04/12に公開

この季節になると皆新卒応援記事を投稿し始めるので、その流行りにちょっぴり乗っかって自分も書いてみる。

あらすじ

昔むかし、ソフトウェア開発技術者試験(旧一種)という現在の応用情報処理試験を受験したことがあった。

若干うろ覚えだが午前の試験の出来はかなり良くて、いよいよ十代最後の合格チャンスという時に午後Iだか午後IIで突如として出題されたのが3相コミットに関する問題だった。

今ではもう問題の詳細は全く思い出せないが、この問題が壊滅的な出来だったせいで後続の問題にまでその影響が及び、そこからはもうひどい有様だったということだけは覚えている。

ちなみにこの問題の何が腹立たしいかといえば、自分がエンジニアになってから現在に至るまで、一度として実務においてこの知識が必要なかったどころか単語すら出てこなかったことである。

(定期的にデータベースの運用も兼務してきたので、ジョブとの兼ね合い的な問題でもない)

結局は試験に落ちてしまい、一度の敗北を引きずる当時の豆腐メンタル故にその後二度と受験することはなかった。

しかしあの日から長い年月を積み重ねてきた今では"一度負けても努力を続け、いつか再戦を挑んで勝てばそれで良い"といった捉え方が出来るまでに成長した。

そう、だからこそ、今がそのときなのだ。

人それぞれで50,000時間後の姿は全く異なるものではあるが、自分の場合はどんなタスクであれ本番ローンチ正答率98%+という形になった。

なお、応用情報処理試験では「応用的知識・技能をもち、高度IT人材として・・・」等とのたまっているが、現場で培ったこの力がある今ならば49-1クラスの圧勝はもはや必然で疑いようがない。

そしてこの勝負は、現場の正解を主張する傲慢な奴と座学の権威の正解がバチバチやり合うと果たしてどうなるかという実験とも捉えることが出来る。

事前準備

勝負に先立って、まずは現在の応用情報処理試験がどのようなものなのか色々と調べる必要がある。

というよりも、この世のあらゆる勝負においてまず真っ先にやらないといけないのはルールブックや契約書の熟読である。

(相手のイカサマを未然に防ぐためにも、自分がルールギリギリを攻めるためにも)

応用情報処理試験について色々と検索してみると、以下のページから必要な情報は大体収集することができた。

試験時間・出題形式・出題数(解答数)

もう遠い過去の話なのでどんな試験か忘れていたが、試験時間は

  • 午前 試験時間 9:30~12:00(150分)
  • 午後 試験時間 13:00~15:30(150分)

らしく、正直これを見て流石に5時間とかフルマラソン以上に拘束されたくないので、DNSしようか割と迷った。

あと午後I、午後IIは午後試験に一本化されたということになる。

午前・午後共に60%以上の得点で合格

一種時代の最初期の合格率は7.7%らしく、後のソフトウェア開発技術者試験時代は14.9%で、現在の応用情報処理試験に至っては20%前後と、こちらは齢を重ねるうちに軟弱になったという印象を受ける。

ゼネラリスト

現在DevOpsなどの単語が広く使用されているが、すべてのXOpsの行き着く先は"全部自分で出来れば何も問題ない"であると信じている。

経営戦略

個人時代含めてこれまで自営を15年間やってきた末に、自分には絶対経営をやらせてはいけないということだけは最近理解出来た。

現在は午後試験は必須解答の情報セキュリティ以外の問題はすべて自由選択制

午前は昔と変わらず4択問題なので特に問題になりそうな点はないが、午後のルールをいまいち理解してないのは懸念材料。

どうやらセキュリティ1問は必須問題として、残りは以下の10問の中から4問を選択して解答すればいいとのこと。

  • ストラテジ分野全般
  • プログラミング
  • システムアーキテクチャ
  • データベース
  • ネットワーク
  • 組込みシステム開発
  • 情報システム開発
  • プロジェクトマネジメント
  • サービスマネジメント
  • システム監査

自分はこの中からであれば、プログラミング、システムアーキテクチャ、データベース、情報システム開発 or ネットワークを選ぼうかと思っている。

もし話が噛み合わなくなってきたら、補欠要因のプロジェクトマネジメント、ストラテジ分野全般に行くことにする。

試験日時

令和6年春季試験の応募〆切は2月までだったらしく、残念ながらエントリーに間に合わなかった。

このままだとこの記事は1年間お蔵入りとなるところだったが、ふとTOEICのように実践仕様の過去問題集があるのではないかと探してみたら、以下の過去問付きの本を見つけることができた。

https://gihyo.jp/book/2023/978-4-297-13847-9

早速購入して、とりあえず問題が目に入らないようにチラチラしながら、IPAのホームページに書いてある問題数とこの本の問題数が一致していることだけは確認。

ただ一点、左のページが問題で右のページが解説という構成となっていて、しかも本であるため問題を解く際にめくりながら解答しないといけないという点がかなり厄介である。

幸い解答用紙は本番仕様のものを切り取れるようにはなっていたので、多少の難に目を瞑れば模擬試験は可能となっている。

もちろん事故で解答が見えてしまう可能性もあるが、自分自身この結果の生データが欲しいので、意図的なカンニングや点数改竄といった不正をすることはないと約束出来る。

以上で全ての準備は整った。

最後に勝負のルールの確認だが、勉強時間ゼロで本番と同じ時間日程でテストを行うこととする。

試験開始

(以下、令和5年度秋季試験のネタバレを含む)

4月6日某所にて、予定通り9:30に試験が開始され15:30に終了した。

午前

正直なところ、午前は試験時間の半分(75分)くらいで終わるのではと考えていたのだが、試験開始から数問を解いただけでそれが無理なことが分かった。

まず第1問目の2進数の問題について、そもそも問題の文章を理解できないという不意打ちを食らうところから始まった。

この一撃を受けて流石に慢心し過ぎも良くないと思い直して、そこからは真面目に問題に取り組み始めた。

序盤は逆ポーランド表記法(問3)、SAN(問12)といった約20年ぶりに再開した旧友たちに苦しめられながらも、20問目を過ぎたあたりからは大分自信と手応えを持って答えられるようになり始めた。

途中、見たことない論理回路記号の問題(問23)が出てきて、とりあえず一番戦えそうな形をしている奴を選んだり、困った時の"イ(2番目)"を駆使して上手くかわしながら、中間地点の40問目を69分で通過することが出来た。

ここまで問題を解いてみて思った(思い出した)のだが、午前は単語の意味を確認してくる暗記問題がかなり多く、事前に対策をしていないと結構辛い。

特に練度不明な素性の知れない外国人が提唱する理論や概念を正しくあらわす解答を選べといった問題(問67、75)は、国家試験の問題としていかがなものかと思いながら解いていた。

後半の40問ではプロジェクトマネジメント、監査、経営、マーケティングに関する知識といった、もはやエンジニアリング力がほとんど関係ないような問題しかなかったが、一般常識に照らし合わせればほぼ二択に絞り込めるタイプの問題がほとんどだったので一応やり過ごすことは出来た。

ちなみに経営に関する問題では、半導体メーカーのファウンドリーサービス(問66)、オープンイノベーション(問70)、サイバーフィジカルシステム(問71)、スマートファクトリーのマシンビジョン(問73)といった、"これ日経新聞でやったところだ!"問題が出てきてちょっと嬉しかった。

そして最後は会計(問77)、著作権(問78)、労働者契約(問80)といった、間違えると弊社の脱税やコンプライアンス意識の欠如が疑われる問題を慎重に解き終えて、合計129分で午前の試験を無事完走した。

午前 解答

午前については思った以上に苦戦したものの、6割(80問中48問正解)であればおそらく安全圏といった感触だった。

そして次は因縁の相手、午後問題である。

午後

午前に予想外の反撃を受けたのと、久しぶりにやってみると意外に面白い試験なので、午後のモチベーションは最初からかなり高かった。

1問目のセキュリティ問題は、メールの誤送信による情報漏洩に対する抜本改善といった、まるで実際の担当者から聞き込みを行ったかのような、よく作り込まれたストーリーが印象的だった。

問題自体は良い出来なのだが、個人的には認証局や鍵の話はなぜかあまり好きではなく、途中で問題を解く意欲が低下してきたので、設問2以降を解かずにその他の選択問題10問を流し読みすることにした。

その中で一番気に入ったのがスマホアプリの改修に関する問題(問8 情報システム開発)で、プロセスやスレッドといった自分の好物に関する内容だったので、まずはそこから始めて約15分程度で問題を解き終えることができた。

これに気を良くして畳み掛けるように問3のプログラミング問題に行こうかと考えたが、問4の二社合併によるシステム統合の方針に関するシステムアーキテクチャ問題も面白そうだったので、まず先にこちらを解くことにした。

この問題はシステム連携図の穴埋め問題で最初は全く分からないが、問題文からヒントを集めて一つ答えを埋めるとその後はクロスワード式に次々と解けていくのが面白かった。

この時点で約半分の問題を解き終えたことになるが、それでもまだ60分程度しか経過しておらず、もはや合格は確定したと思うようになっていた。

それからはこの記事をまとめる際に必要なメモを取り始めたり、当初予定していたデータベース問題(問6)を今日は気分じゃないとの理由で、流し読みで微妙だったネットワーク問題(問5)に変更するなどの余裕を見せ始めるのだが、その驕りによってここから一気に雲行きが怪しくなっていくことになる。

まずネットワーク問題だが、そもそも社内ネットワークを運用したことは一度もないのに、Webサーバ、メールサーバ、DNSサーバの話ならなんとかなるだろうと思って解いてみたら、MXレコードの設定値がどんなものか思い出せない、というかそもそも自分がメールサーバを実際に構築したのは10年以上前に一度きりしかないことを問題を解いている最中に思い出した。

戦況は悪くなる一方で途中でデータベースに戻ろうかと迷ったものの、既にかなりの時間を消費してしまい、退くに退けない状況だったため、結局はネットワーク問題を解き切るという選択を選んだ。

ここからは流石に挽回が必要なので、最後は鉄板問題であるプログラミング問題を解き始めたが、これが二分探索木のアルゴリズムに関する問題という業務ではあまり書かないタイプのプログラムに関するもので、正直自分とは相性がかなり悪いものだった。

負けるのが悔しくてどうにか15分近く粘っていたものの、10問中1問しか解けない上に残り時間があと40分と終了時間が迫ってきている状況だったため、これ以上は無理だと判断して慌ててデータベース問題へ向かうことにした。

そして一度は袖にしたデータベース問題だったが、実際に解いてみるとそれはもう本当に素晴らしい問題だった。

情報システム開発やアーキテクチャ問題も自信はあったのだが、このデータベース問題に関してはそれ以上の自信を持って解けたこともあり、合格した暁にはこの問題をMVPにすると心に決めた。

そして残り約10分で、途中で放り出したセキュリティ問題を出鱈目でもいいのでとにかく埋めて、午後試験はフルタイムとなった。

結果として5問中3問の手応えが確かだったので、合格ラインが60%であることを踏まえると午後についても合格はほぼ確実である。

これで全日程が終了した。

あとはお楽しみの採点を残すのみである。

採点・結果発表

午前は置いといて、まず午後から採点を始めることにする。

一応合格の条件を再確認すると午前・午後ともに60%以上の正解で合格となる。

ちなみに午後は配点が不明だったり、セルフジャッジだと記述式の判定が若干難しいなどの問題があるが、もちろんそれが気にならないだけの点数を取れていれば問題ない話ではある。

ではまず問1のセキュリティ問題だが、これは3/9問正解だった。

設問2以降を慌てて解いたこともあり仕方のない部分はあるが、せめて選択問題を記述式で解答するミスはやめて欲しかった。

午後 問1 解答

(字が汚いと言ってはいけない)

いきなりビハインドの展開になったとはいえ、正直セキュリティとネットワークの問題以外は抜群の手応えであったため、そこまで慌てることはなかった。

事実、問4のアーキテクチャ問題は10問中9問正解だった。

唯一の誤答は問題文を読み間違えたのか、D社と書くべきところをC社と書いてしまっていて、しっかり解けていたにもかかわらず得点無しとなったのは少々悔やまれる。

しかしSaaSで管理されるデータの本質について、完璧な回答を記述した点については素直に自分を褒めたくなる。

午後 問4 解答

次は明らかにイマイチな感触だった問5のネットワーク問題だが、やはり感覚通り3/9問正解とこれまた暫定不合格に逆戻りとなってしまった。

なおこの解答内容によって、自分が素手の状態で社内システムを構築できないということがバレてしまった次第。

一方で問6の偉大なるデータベース問題は10問全問正解で一気に挽回と、まさに一進一退の攻防を繰り広げている。

午後 問5、問6 解答

そして勝負が決する問8 情報システム問題だが、

と8/9問正解で、合計スコア: 33 / 47 = 70% となり無事合格となった。

ちなみに間違った一問についてはソースコードで証拠を見せてほしいと悪あがきをしたくもなったが、最終的には勝ったのだから細かいことは気にしないことにした。







さて、以上で締めの話に入れればどれだけ良いだろうと思うところではあるが、先に宣言した一切の不正は行わないとの約束があるので、仕方なく午前の結果を発表する。

結論から言うと、午前は 合計スコア: 36 / 80 = 45% だった。

採点作業の際に、間違って他の季の答えで採点しているのではないかと本気で疑って再確認したが、しっかり令和5年度秋季の解答で採点しているようだった。

もはや無駄だと分かりつつも、せめて少しでも点数が良くならないかと再度採点を行なってみたが、どうやら採点作業だけはパーフェクトだということが分かった。

何をどう間違えたのかその中身を確認してみると、さらに色々と恐ろしい事実が判明した。

まず2問目の主成分分析の意味の解答を間違えている時点で、MLチームに合計約8年程在籍している身としては非常にまずい。

この件に関しては、本当は余裕で知っていたけど、まだ慢心していて碌に問題や解答を読まずに回答しただけで、そんな日も時にはあるのだと釈明しておく。

あと純粋なエンジニアリング問題でも大概な間違いをしていたり、著作権違反の事例を間違えたりと散々な状態だが、そもそもにおいて実務と座学の力は全く相関しないのだと更なる弁護をしておきたい。

なお、エンジニアという仕事は第一に信用商売であり、このような失態はあまり公にするべきではないので、もうさっさとこの記事を閉じて、あとは時間が解決すると信じて身を潜めることにする。

おわり

以上、応用情報処理試験がいかに高難易度の試験か理解していただけたかと思う。

一度くらい上手くいかないことや挫折があっても、諦めずに努力して再度立ち向かうその姿勢は、これからエンジニアとしてのキャリアが始まる若い人たちに勇気を与え、そして行きべき道を照らすことが出来たと信じている。

あと、あらゆる勝負は事前準備でその全てが決まるという教訓をこの一戦で今一度思い出すことができたかと思う。

p.s. 来週日曜に情報処理技術者試験を受験する方々も、悔いのないよう最後の一週間を過ごしていただきたい。

Discussion