はじめに
2024年10月13日にIPA主催のエンベデッドシステムスペシャリスト試験(ES試験)を受験しました。
初めてのES試験でしたが、無事合格しました。
目次
試験を受けた目的
- 目的1:20代の内に高度情報処理技術者試験の資格を1つは取っておきたかった
- 目的2:自分自身の技術力の見える化をしたかった
- 目的3:若手で実開発の経験がある内に資格を取る
目的1:20代の内に高度情報処理技術者試験の資格を1つは取っておきたかった
高度情報処理技術者試験の資格を何も持っていなかったので、1つぐらい取っておきたいと考えたのがスタートでした。
最後に情報処理技術者試験に合格したのは、学生時代に取得した応用情報技術者でした。
ソフトウェアエンジニアとして、企業の研究開発部門にて4年半勤務してきました。
学生時代と比較して、技術力が上がったのは間違いなく、資格も合わせてアップグレードしたいと考えました。
特に、この数年はAIアプリケーション構築をする場面が多かったため、
組み込みエンジニア向けの資格であるエンベデッドシステムスペシャリストを受験することとしました。
論文試験が採用されて、よりビジネス寄りな素養が求められたことも、良い学びだと考えました。
目的2:自分自身の技術力の見える化
自分自身の技術力の向上を、資格という1つの手段で見える化しておきたいと考えました。
プログラミングやソフトウェア開発に関する知見に関して、
インプット/アウトプットを行ってきました。
ただし、これらは何等か見える形で残しておくことは難しいです。
例えば、読書歴などを残すなどがありますが、インプット歴でしかなく、あまりしっくり来ていません。
一方で、仕事での技術力の見える化は、非常に難しいです。
今なら高度情報処理技術者試験を受かる知見・経験もついてきただろうと考え、受験することにしました。
目的3:若手で実開発の経験がある内に資格を取る
エンベデッドシステムでは午後2に関して、従来は記述式でしたが、論文式に2023年秋開催から変更となりました。
主な出題内容は組み込みシステムの開発に関連するものです。
若手のうちは、システムを実際に手を動かして開発する側であり、実経験があります。
実経験を基に論文を書き上げることができれば、午後2試験を有利に運ぶことができます。
一方、マネジメント層にあがると、実開発からは離れてしまい、論文ネタも忘れてしまいます。
そのため、若手の方がエンベデッドシステムには有利という仮説のもと、受験することにしました。
試験受験時のプロファイル
- 新卒5年目、ソフトウェア・AIアプリケーション開発に取り組む
- シングルボードコンピュータにAIを組み込んだシステムの開発経験有
- 応用情報技術者試験は合格済み、高度情報処理技術者試験は無し
試験対策
試験対策には、以下のリソースを活用しました。
study plusの導入
2024年7月14日に試験申し込みを行い、試験勉強を開始しました。
今回、初めてstudy plusを導入して、勉強量の見える化を行いました。
勉強量を記録して、可視化することで、モチベーションを高めることを狙いました。
しかし、運用方法が悪かったのか、特段studyplusを見返しての勉強量管理はしていませんでした。
後々、勉強量を振り返ることはできたのは良かったのかもしれません。
結論、全然勉強できていなかったですね...
参考にしないでください...
午前1対策:応用情報技術者過去問道場
主に電車の中で行っていました。
過去5年分に絞って、繰り返し行っていました。
間違った問題を繰り返し解く設定にしていたので、最後の方は回答を暗記状態でした。
午前2対策:情報処理教科書 エンベデッドシステムスペシャリスト
土日にまとまった時間を取って、勉強していました。
初めに、午前2・午後1対策として、分野別解説の内容を3周程度繰り返し読み、頭に叩き込みました。
結果的には、午後1の対策にはあまりならなかったので、午前2対策と割り切るのが良さそうです。
午前2の選択式はこの書籍でやり切りました。
間違えたところを反復学習で抑えていきました。
午後1対策:情報処理教科書 エンベデッドシステムスペシャリスト
午後1の記述式も、この書籍で勉強をしました。
正直、午後1の試験内容は、対象が幅が広すぎるので、試験問題のすべてのユースケースを抑えることは不可能です。
そこで、午後1の問題は解き慣れることに注力しました。
解き進めていくなかで、2つのポイントを意識するようになりました。
- ポイント1:出題者の問題出題意図を読む、問題文理解なのか・技術知見を聞いているのか
- ポイント2:ハードとソフト問題の選択で、適正や業務経験から選ぶ、私はハード
ポイント1に関しては、出題者の問題出題意図を読む事が中であると考えました。
午後1の問題は大きく分けて、以下の2つがあるのではと考えました。
ここを正しく理解をすると、問題作成者の意図から逸れずに、適切に回答ができると学びました。
- 問題文を読解して、技術的な構成を理解して、回答する設問(例:機能Aが不全になったら、機能Bへの影響は?)
- 単純な技術的知見を持っているかを解いている設問(例:センサーフュージョンで重要な要素は?)
ポイント2に関しては、ハードとソフト問題の選択で、適正や業務経験から選んで、自分な得意な方を選択する事が重要であると考えました。
ハードの問題は、たくさんのセンサーにて構築された機器に関する問題が典型的な例です。
私は、ハードの問題のほうが、ソフトと比較して、機能的な関連の広がりが限定的(ハードの中に収まっている)なため、ハードの問題が好きでした。
一方で、ハードの問題は現実世界では単センサーでは推定したいものがうまく取れないなどの、
勘所を持っておく必要性があるため、その場合はソフトの方が良いかなと考えていました。
午後2対策:エンベデッドシステムスペシャリスト 合格論文の書き方・事例集
こちらも、試験2か月前の土日にまとまった時間を取って、勉強していました。
論文試験が初めてであったので、論文の書き方のセオリーから、学びました。
手を動かすことをやらずに、先にお作法を抑えることを優先しました。
前日には論文を一本、手を動かしてみて書き上げることをしました。
IPAのHPにサンプル答案が掲載されているため、こちらを印刷して、練習しました。
論文のネタは、実際の業務のネタ2関連するものを用意しておきました。
実体験で進めてきたことなので、ある程度の問題の振れ幅には対応できるかなと身構えていました。
こちらの書籍は、エンベデッドシステムスペシャリストの資格を取る意義などやモチベーションも、
コラムとして解説されており、純粋な参考書以上に、書籍として面白かったです。
試験当日
午前1当日
一番、感触がしっくりこなかったです。
過去問道場と50%は同じような問題、あと残りは新規の問題のぐらいの感触でした。
午前2当日
午前1と比較して、こちらは感触がありました。
情報処理教科書 エンベデッドシステムスペシャリスト での午前2対策が有効だったと思います。
午後1当日
試験開始後、数分問題を見たあとに、ハードウェアの問題を選択しました。
問題内容は、eVTOLに関する内容でした。
見慣れない乗り物で、拒否反応を示しそうになりましたが、問題文を軽く読むと、結局は車体制御などとあまり変わらなさそうだったので、こちらを選びました。
(eVTOLと受験者を驚かせにかかっているが、実はこちらの方が簡単なのではと裏読みをしていました)
ソフトウェアの問題も軽く読みましたが、
関連する機能の範囲が広そうで、頭の中で関係性を整理するのが大変そうだったので、選択しませんでした。
午後2当日
問2を選択しました。
準備していた論文ネタを少し変形させれば、論文記述できるなと考えました。
問2は、「組み込みシステム製品の設計における実現性の検証・事前検証」に関する設問でした。
組み込みシステムの開発では、機能や要求の複雑化から、一気に作り上げるのではなく、PoC等の事前検証を通して、実現性を検証しながら、進める必要があります。
その際の、ハードウェア・ソフトウェアのアーキテクチャや他部署連携を問う設問でした。
私は設問に近い経験があったため、少し内容をアレンジしながら、記述しました。
設問アでは、「組み込みシステムの技術的特徴、事前検証の対象と目的」でした。
私は、AIを搭載した組み込みシステムをネタとして、回答しました。
AIでは、モデル選定やデータの学習などのソフトウェア的な改善で、性能を向上させることができます。
その一方、AIはGPUリソース等を多く使用するため、組み込みシステムではハードウェアへの負荷を考慮する必要があります。
そのため、事前検証の対象はAIソフトウェアとAI動作可能なハードウェアのトレードオフ成立性としました。
設問イでは、「事前検証の適用方法・理由、および他部門との連携」でした。
事前検証の方法としては、最低限の機能に絞ったAI機能搭載のPoC開発を行い、早期に現場でのAI性能とハードウェア成立性の検証としました。
理由としては、最低限の機能に絞ったMVP開発にて、リリース納期に間に合わせるための事前検証期間の確保、
AIは学習により性能改善が期待できるので、早期に苦手シーンを抽出し、ソフトウェアによる改善を図ることとしました。
また、早期の検証を実現すべく、営業部門と連携し、データ収集や初期導入費用低減の交渉を行うなどの内容を記載しました。
このあたりは当日にアイデアを膨らましながら、記載しました。
設問ウでは、「事前検証の妥当性と評価、検証で得られた課題」でした。
事前検証の方法で適切にAIソフトウェアの課題を抽出し、学習プロセスで改善を確認した内容を記載しました。
最後に、論文大元のお題である、製品の実現性に言及し、締めました。
試験時間を16時(1時間半経過時点)までと勘違いしてしまい、急いで16時までに書き上げました。
結果、本当の試験終了時間は16時半であったため、残り30分は誤字脱字の訂正2時間を費やしました。
試験当日考察
午後2>午後1>午前2>午前1、の順で手応えがあるけっかとなりました。
午前1が一番怪しく、もっと真面目に勉強しておけばよかったなと思っていました。
試験結果
結果は、約2ヶ月後の12/26の正午に発表されました。
無事、合格しました!
応募者1,949名、受験者数1,365名、合格者231名、合格率16.9%という結果でした。
合格率は例年通り、受験者数は午後2論文化以降若干低下傾向となりました。
午前1・2結果
午前1は21/30(71.40%)、午前2は17/25(68%)となりました。
午前問題は勉強不足で、少しギリギリ目の合格となってしまいました。
午前1は過去問道場で出題されていた問題はすべて正答していました。
DNSやエクスプロイトコードなど、セキュリティやネットワーク関連の間違いが目立っていました。
業務から少し離れている範囲を間違っている傾向でした。
労働者派遣法の問題も誤っていました。コンプラ的に良くないですね...
午前2もNTPとDDos攻撃などの、ハードxセキュリティの問題を間違っていました。
午後1結果
午後1は、少しギリギリの67点となりました。
設問1は、大方正答していました。文中からの抜粋であったので、捻った問題ではありませんでした。
設問2(1)は「回転量の積分誤差補正」を解答すべきでしたが、間違ってしまいました。
文中に記載はなかったので、移動体の特性から答えるべきでした。
設問2(2)はデータの遅延経路もしくはCANの信頼性が正答でした。私は文中の「情報をできるだけ早く処理する」という文言から、回答しました。
設問2(3)は「小数第1位を四捨五入して整数で」と記載されていましたが、小数第1位まで記述するケアレスミスをしていました。
どこまでお情けがあったかは、採点官のみが知ることです。
設問3は全体的に文中の言葉をつかうというよりも、システム挙動を自分で考えたうえで、回答するものが多かったです。
設問3(1)(c)は、「複数の飛行計画」をキーポイントに、何かしらのバックアップ体制と読み取り、回答しました。
午後2結果
採点結果はAでした。
採点詳細についてはわかりかねますが、回答例と照らし合わせても、おおよそ記述の方針はあっていたと考えています。
試験結果考察
午前1・2は、幅広い範囲から出題されるため、過去問だけでなく、普段から技術情報に触れ合っておくことが重要だと考えました。
技術だけでなく、マネジメント層を意識しているのか、開発手法・法律関連も少なからず出題されているので、対応が必要だと考えました。
午後1は全体を通して、以下の3点の対策が必要だと思いました。
- ハードウェア・ソフトウェアのどちらを選択するかを方針立てておく
- 設問1・2は文中、設問3は自分で考えて答えさせる、などの大枠での対策方法を身につける
- 全く同じ問題が出ることはないので、過去問では解き方を学ぶことに焦点を当てる
特に、ハードウェアの場合は、センサ+移動体の問題が頻出するので、特性を抑えることが重要だと感じました。
午後2は「論文書き上げの手法」と「汎用性の高いネタ」さえ用意しておけば、
すべての問題の中で、最も確度高く合格ラインを突破できると感じました。
振り返ってみれば、一番不安がなかったのが、午後2でした。
エンベデッドシステムの論文は、若手エンジニアが実際に関われる機会が多い、実装ベースの開発の話を書きやすいので、若いときに受けるほうが有利だと思います。
まとめ
以上、エンベデッドシステムスペシャリストの合格体験記でした。
目標であった、「20代の内に高度情報処理技術者試験の資格」を無事達成できてよかったです。
個人的に、午後2は論文に書くネタが有り、書き方のコツをつかめれば、論文形式のほうが確実にパスできるのではと感じました。
むしろ、午後1のような、要求される前提知識が幅広い上に、各組み込みシステムの特性把握、当日考える内容が多いパートの方が苦しいと思いました。
今後に関して、
午前1の2年間免除をゲットできたこともあり、引き続き仕事に役立ちそうな高度情報処理技術者試験は受けたいと考えています。
次の令和7年度春期では、システムアーキテクト試験を受験する予定です。。
AIアプリケーションを構築する中で、アルゴリズムだけでなく、それらをまとめ上げていくシステムを考える機会が増えてきました。
そこで、アーキテクトを設計できるように、実開発と試験受験の両輪を回していく所存です。