システムアーキテクト合格体験記

春季試験で応用情報を取って、秋期試験で高度情報のシステムアーキテクトを取ったので、特に後者について、これから取り組もうと思っている人に向けて、私の合格体験記と使った教材、勉強法をまとめておきます。

私のプロフィール

はじめに、私がどんな人なのかについて書いておきます。

標準的なSIerの人間だと思っていますので、似たような経歴の方であれば、同じようにして受かると思います。

私は、ゲームが作りたくて高校に入ったぐらいからプログラミングを勉強し始めて、大学在学中にはCodeZineというWeb雑誌にC#の多言語化関係の記事を投稿していたぐらいに、プログラミングには馴染みのある人間でした。

ただ、勉強はできない方だったので、受験では底辺私大学の工学系に進み、そこで計算工学を学びました。そこを出た後は、液晶の生産設備製造メーカーへ就職しました。

ちなみに、物理系の学科だったこともあり、在学中のプログラミングと言えばFortranとかCとかを使った数値シミュレーションだったのを覚えています。

そんなわけで大学を出る頃にはすっかり物理系の人になっていて、研究室で流体を扱っていたことから、流体を扱う企業に入った…つもりだったのですが、業務ではVB 6.0や、Cを使った生産設備向けのプログラムを書いたり、PLCのラダーを組んだりしながら2年ぐらい過ごしました。

その後、国内液晶業界再編の煽りを受けて派遣プログラマに転職し、大手遊園地のチケット管理システムを開発する現場で働きましたここから、本格的なプログラマとしてのキャリアをスタートさせました。

プロジェクト完了に伴ってリリースされ、大学時代にUNIXを触った経験と数値計算の基礎知識があるという理由で、コンピュータシミュレーションの管理ソフトを作っている大手SIerに派遣されました。

とても働きやすい職場で、やっている内容もシミュレーションだったので、大学時代の専門を活かして、可視化や自動化、効率化の取り組みをどんどん提案できたのは良かったです。(今回のシステムアーキテクト試験の午後IIの論文試験で記述した論文も、この時の経験を元にした論文で受かりました)

3年弱ほどいて、最後の方FortranのソフトをCに移植するという仕事をやったのが一番大きな仕事だったと思います。

その後、派遣として働き続ける事による裁量の狭さに窮屈を感じて、大手製造業のグループ会社に当たるSI企業に転職し、今に至ります。丸っと社会人7年ぐらいの経験です。

現在の仕事はプログラミングから随分離れていてSQLを使う仕事ばかりですが、趣味でPythonやらClojureやらでプログラムを書いています。
プライベートでは(馴染みこそありますが)OSSの開発に参加したり、毎月勉強会に参加したりという事は無く、休日はもっぱら動物園に出かけているような人間です。

システムアーキテクトを受けようと思った動機

良い転職をしたいと考えているからです。

年齢的なこともあって、(今度の転職が最後かな…)と思い、今の職場に転職したのですが、人間安定して来ると欲が出て来るもので、もっと良い条件で雇ってもらえる、納得のいく職場はないものかと思った時に、選択肢を広げるには高度情報を持っておくのが良いだろうと思ったのがひとつの理由です。

もうひとつは、自分のキャリアを考えたときに「プログラミングをしながら生き続けたい」という思いが強く、自分にその道のキャリアで食べて行くだけの素養があるのかを確かめたいという理由がありました。

システムアーキテクトの勉強に費やした期間

試験に申し込んだのは8月のお盆前頃で下が、勉強を始めたのが8月末頃でした。
(この年の春に応用情報を取っていて、午前Iは免除だったため、午前Iの勉強はしていません。)

今日から勉強始めるぞ!と決めてから、最初は午前IIの試験問題をやりました。
IPAのサイトに過去問が出ているので、2回分の問題をダウンロードして取り組み、答え合わせをします。
(同年春季に応用情報に受かっただけ(しかも60点のギリギリ合格)では、この時点で概ね40点ぐらいの成績でした。)

高度情報は、どの試験も午前I→午前II→午後I→午Iと足切りされていってしまうので、順序よくこなさない事には先の問題がいくらできても無駄になってしまいます。
そういう訳で、現状を鑑みて午前IIの試験勉強から始めました。

午前IIは、ひたすら過去問を解く

教科書ベースの勉強をしても良いと思いますが、午前問題は選択式で、かつ過去問題の類題が非常に多いというのを聞いていたので、ひたすら過去問題をこなす事にしました。

ただ、IPAのサイトの過去問の回答には解説がないため、IPAのサイトの過去問だけを解いていっても、過去問の焼き直し問題では点数を取れますが、類題には弱くなります。

特に専門用語や略語の意味を理解していれば一発で正解を導き出せるようなタイプの類題に弱くなり、簡単な問題で点数の底上げが狙えるチャンスを失ってしまうのは勿体無いので、過去問題集を買って取り組むことにしました。

過去問なら何でも良かったのですが、私は近所のジュンク堂書店でたまた一冊だけあった、iTECのシステムアーキテクト本試験問題を購入しました。

この問題集の良かったところは、午前Iから午後IIまでの全ての過去問が解説付きの回答を付して収録されている所です。

この手の参考書にありがちな、大した根拠のない「頻出」とか「ワンポイント」などという寄り道もなく、各回答の解説も手短に要点だけを解説してくれていたのが良かったです。(これは後述すもう一冊の参考書を買ってやってみたときにわかりました)

この過去問には3期分の問題が収録されているので、まずはこの3期の午前II問題をひたすらやって、90点台を取れるようにしました。

その後、IPAのサイトに行ってそれよりもさらに古い過去問を取ってきて取り組み、答え合わせをして、そちらでも常に80点台を取れるように繰り返し取り組みました。

4択の選択問題だったので、勉強は大体通勤時間に電車の中で、毎日20分ぐらいやったんじゃないかと思います。

試験ギリギリで、午後Iの対策をする

そんな調子で午前IIの対策ばかりやっていたら、それですっかり満足してしまって、午後の試験勉強に着手したのは9月15日を過ぎたあたりでした。

早速、先述の過去問題集を使って午後の試験勉強に取り組んでみましたが、先述の問題集は午前IIに比べると午後問題の解説がクドく、頭に入ってこなかったので、もう少しライトな過去問題集を書いました。

それがTAC出版の「システムアーキテクト合格トレーニング」です。

既に書いたとおりですが、午前IIに関してはこちらの方が解説がクドく、わかりづらいと思います。

その反面、午後Iの解説は要点がまとまっていて、大事なところは太字で強調されているので、太字だけ拾い読みする形で利用しました。

読みやすさの点では、明朝体フォントでつらつらと解説を書いている先述の問題集よりも、頭に入ってきやすかったように感じます。(後で読み返してみましたが、書いてある内容には大差ありません。楽して拾い読みできるかどうかという違いだけだったようなので、文章を苦無く読める人であれば、こちらの問題集は必要ないと思います。)

午後問題については、問題文の中からいかに答えを見つけられるかが重要という事だったので、それを頭に入れて、過去問を2-3題解きました。
(試験本番でも、基本的には本文中から答えを探すという事を頭に入れて取り組みました。)

本文中から答えを見つけだして、それを解答欄に書き写すという戦略で、結果として73点取れましたので、戦略としては間違っていないのだと思います。

ちなみに、独自の予想問題なるものが付いていますが、これはゴミです。こんなのに時間をかける必要はないので、それは全く無視してしまって良いと思います。

午後IIは試験前日に解答例を2例読みました

なんだかんだと忙しく、各週末に1時間程度午後Iの問題に取り組んでいた事もあって、あれよあれよと試験日が近づいてきました。

最後の1週間は、週頭の日曜日に午後Iの問題に取り組み、電車の中ではIPAの過去問を使って、午前II問題を解いて過ごしました。

論文試験については対策しようがないだろうと思っていたので、土曜日に過去問についてきた例をそれぞれの過去問から1例ずつ読みました。

結果として、論文として記述するべきフォーマットがわかったのは大きかったと思います。

どんな問題が来るかはわからなかったので、試験当日の電車の中や昼ごはんの時間に、これまで関わったプロジェクトの事をひたすら思い出して、頭の中で道筋を立ててまとめる形で対策(?)しました。

試験当日

雨の降る試験日で、印象深いものになりました。

教室はひとつの講義机の両端に1名ずつ座る列が6列ぐらいあって、大体80人ぐらいの人が収容されていたと思います。
(合格率から言えば、この教室からは合格者が10名ぐらいしか出ない訳で、事前に調べた合格率の数字が頭をよぎったときは背筋が凍りました)

ペンと消しゴム、それから定規を机の上に出して臨みます。

午前II試験は自分で完璧と思える問題の数が8割を下回っていたら、そこで諦めて帰ろうと思っていましたが、午前IIが終わった段階で8割の問題に自信が持てていたので、そのまま午後試験も受けることにしました。

(ちなみに、午前試験については、昼休みの時間にはTwitter上等に誰かの回答が出ていることが多いので、問題用紙に答えをメモしておけば、それを見て自分の自信度の裏付けを取ることができると思います。)

午後Iは、先の戦略通り、問題文の中から答えにマッチする回答を探す方法を取って取り組みました。
問題は、今関わっている生産管理のシステムに関する問題が出て、「おっ!有利かも」と思って選択してみたものの、業務知識は全く活かせなかったので、業界だけで問題を選ぶのはやめておいた方が良いです。

午後試験の回答は余裕がなくて控えていなかったのですが、自分の中では相当できたつもりでいました。
(午後Iを自信を持って乗り切れたのは、午後IIの余裕につながったかもしれません。)

午後IIは、問2の「柔軟性を持たせた設計について」に取り組むことにしました。

もうここまで来ると国語力の問題なので、普段文章を書くときと同じように問題用紙にアウトラインを書き、それぞれ何文字ぐらい書けば目的の字数に足りるのかを割り振って、ひたすら書いていきました。

あの短時間で文章を書き上げるケースでは、普段文章を書く時に起こりがちな「多く書いて削る」という文章記述の作法では無く、むしろ字数が足りない事を考慮して、少し多めに書くぐらいの気持ちで取り組むのがコツだと思いました。

また、今回合格できたのは、具体例や具体的な名詞を出したのが大きかったのではないかと考えています。

使ったテクノロジー(製品名や、規格名、開発言語の名前など)を具体的に書いたり、顧客が困っている内容が何かを明確にしたり、曖昧な言葉遣いをせずに、的確に問題点を挙げて、それに対してどういうソリューションを提案したのか、技術的な内容を組み込みながら記述するという手法を取ったのが成功の鍵だったのではないかと感じています。

ただ、どの問題集でも例文に掲載されていた、最後の「以上」を入れ忘れてしまった事を帰りの電車で気づいて、そういうフォーマットにうるさい試験だったらどうしようと不安に感じました(結果受かったので、内容がきちんと書けていれば、そんなものはどうでも良かったわけですが)

まとめ

今回の試験は、統計を見ると5500人ぐらいが受けて700人ぐらいが受かっていたので、合格率13%を下回る程度だったようです。

この合格率の試験に一発合格できたという所はすごく自信になりましたし、これからさらにキャリアアップしていくに当たって重要なマイルストーンになることは間違いないと思いますが、とても難しい試験だと聞いていた割に大した勉強もせずに合格してしまって、合格証を受領した今も「本当に受かったのか?」という気がしてしまっています。

実際に受かった身として、システムアーキテクト試験に合格するためには、

  • 午前は過去問をこなせ
  • 午後Iは本文の中に答えが眠っている
  • 午後IIは曖昧な表現を避けて、具体例を使って勝負しろ

という三本柱が重要だと思います。

試験会場には、スクールに通って作成した、論文の下書きと思しき原稿を抱えている人が大勢いましたが、私と同じぐらいのキャリアの人であれば、問題集2冊(だいたい6,000円ぐらい)の出費で、難しく考えなくても十分合格可能な試験だと思います。

これから受ける人の参考になれば幸いです。