【論述式】エンベデッドシステムスペシャリスト試験【合格体験記】

### 1. はじめに
2024年10月度のエンベデッドシステムスペシャリスト試験(以下ES試験)に合格した者です。
論述式になってからのES試験の勉強法記事がまだまだ少ないので(まだ数年しか経ってないので当然ですが)、備忘録がてらシェアしようと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205815/c3656d6d-284a-86d1-b621-a16874620ded.png)

### 2. 前提となるプロフィール
* 情報系学部卒、社会人4年目
* 組込み系業務を希望して入社
* 社会人1年目は別業務、2年目から現在まで組込み系業務に従事
    + 製品用に以下をカスタマイズ・作成しています
        + ブートローダ
        + Linuxカーネルおよび独自ドライバ
        + systemdなどミドルウェア
        + 独自コマンド
* 社会人1年目に基本情報、3年目に応用情報 & ETECクラス2 グレードB、取得済み
* 去年の秋にもES試験受験、午後2は全く勉強せず見事D判定
    + このときは、論述試験が他高度試験と同じ出題形式であることすら知らなかった

### 3. 勉強期間と内容
勉強した時間を計る宗派ではないので、月ごとにやったことを書いていきます。すべて休日にやっています。
勉強時間よりも、回答のコツを掴むことを重視しています。

#### 2023年の勉強

[情報処理教科書 エンベデッドシステムスペシャリスト 2023年版](https://www.seshop.com/product/detail/25522)(以下、教本)
を一通り読み、
[エンベデッドシステムスペシャリスト過去問対策.com](https://es.ids0.com/)(以下、過去問サイト)
にて、過去問5年分を正解率100%になるまで周回しました。

#### 6月以前
会社のお金で[アイテックのES試験対策(たぶんこれ)](https://www.itec.co.jp/store/products/detail.php?product_id=3209)を申し込みました。論述の添削が主目的です。

あと、気が向いたときに、論述式ES試験の合格体験記をネットサーフィンしていました。
ネットサーフィンしているうちに、ES試験の論述の出題形式が他高度試験と同じこと、対策本が出ていることを知ります。
ということで、以下の本を購入し、おいしい漬物をつくることにしました。
[エンベデッドシステムスペシャリスト 合格論文の書き方・事例集](https://www.itec.co.jp/store/products/detail.php?product_id=3868)(以下、論述対策本)

#### 7月
アイテックのES試験対策書籍が届き、冊子の量に圧倒されます。
中身を軽く確認して、自分にはこの冊子よりも去年買った教本の方が読み慣れていると思い、そっちをメインにしようと判断しました。

試験申し込みと同時に、試験勉強を始めました。当時の勉強方針は以下です。
* 午前2は知識問題かつ過去問が出るので、過去問サイトを繰り返し解く
* 午後1は国語の問題のため対策しない
* 午後2を試験勉強のメインとし、手癖で書けるようになるまで量をこなす
* 午後2で論述するプロジェクトを最初から決める

・
・
・
さて、では本題の午後2対策です。試験本番まで3か月かけて、手癖で書けるレベルにしていきます。

まず論述対策本をはじめから読み始めました。
構成はタイトルの通り、書き方と事例集に分かれています。
書き方の章すべてに目を通し、自分流に書き方をイメトレしました。が、
ここでさっそく論述を書こうとして、何を書いていいのか全く分からないことに気づきました。
論述対策本に書いてある便利フレーズや論述の最初に書く製品情報などだけ確認して、あとは現実逃避で午前2過去問をやっていました。

#### 8月
思い付きで論述の問題文をそのままChaGPTに投げたところ、一般的な、しかし、自分の業務経験と通じる答えが返ってきて、これが論述に使えそうだと思いました。
幸い自分がテーマに決めたプロジェクトの製品情報は少しだけネット上に公表されているため、具体的な製品名を加えて色々と吐かせてみました。
プロンプトエンジニアリングには疎いので、そこら辺はご容赦。

(投げた例)
```
Q.あなたが携わった組込みシステムのソフトウェア構成要素、および運用体制を400字程度で述べよ
xx社の製品ooo
構成要素としては、メインの制御アプリケーション、通信モジュール、そしてエラーログやステータス情報を管理する診断機能が含まれています。
  
A.構成要素としては、(オウム返し略)。
また、リアルタイムOS上で動作するタスクスケジューリングや割り込み処理の管理も重要な要素です。
通信モジュールは、外部デバイスや他のシステムとのシリアル通信やネットワーク通信を担当し、これによりシステム間のデータ連携が行われます。
診断機能は、異常検知や定期的なステータスチェックを行い、問題が発生した際にはエラーログを記録し、運用者に警告を通知します。

運用体制としては、現場でのメンテナンスやトラブルシューティングを容易にするためのツールも用意されており、リモートモニタリング機能も実装されています。
これにより、遠隔地からでもシステムの状態を把握し、異常が発生した場合の迅速な対応が可能となっています。

```
リアルタイムOSではないのでそこはカット。
運用体制についてはまったくインプットがないですが、これを見て自分の製品にもリモートモニタリング機能があることを思い出します。連想して、リモートでログ収集を行えること、リモートでソフトのバージョンアップができることをネタに使えると理解します。

```
Q.上記の内容について、保守要件の評価、保守機能の評価、およびインシデントの原因追究を行いやすくするために設計した仕組みの妥当性の評価を800字程度

A.(略)システムは工業用途に使用されるため、稼働停止による損失を最小限に抑える必要があります。
これを踏まえて設定された保守要件としては、以下の項目が挙げられます。
(略)
これらの要件に基づき設計された保守機能の評価を行うと、診断機能や通信モジュールによって、これらの要件は十分に満たされていると考えられます。具体的には、リアルタイムOSに(略)。
また、エラーログの管理機能により、発生した問題のトラッキングが可能になり、運用者が障害の原因を把握しやすくなっています。
さらに、リモートモニタリングにより、システムが物理的にアクセスできない場合でも、ソフトウェアの状態確認やリセット操作などが可能で、運用効率が高まっています。

インシデントの原因追究を容易にするための仕組みとしては、エラーログ機能やリアルタイムでのステータス監視が重要な役割を果たしています。
具体的には、エラーログには発生日時やエラーの詳細が記録され、問題発生時の前後の状況を把握するのに役立ちます。
また、システムがリアルタイムで異常を検知する機能により、異常発生直後の迅速な対応が可能となり、原因の特定と修正にかかる時間が短縮されます。

妥当性の評価として、これらの機能は組込みシステムに求められる長期間の安定稼働や迅速なトラブルシューティングに対して十分に応えられるものと考えられます。
特に、エラーログの記録やリアルタイムモニタリングは、現場でのメンテナンスや原因分析において欠かせない要素であり、これにより運用コストの削減やシステムの稼働率向上が期待できます。

ただし、運用者のスキルやシステムに依存する部分も残っており、特にリモートモニタリングやログ分析には適切な知識と経験が必要です。
運用体制においても、これらの機能を最大限活用するためのトレーニングやフィードバック体制の強化が課題として残されています。
```
これはまるまる使えますね。
これをもとに、論述対策本の事例に書き方を合わせていきました。

以上のように、ひたすら過去問をChatGPTに吐かせ、連想ゲーム的にネタを出し自分の文章にする、を繰り返します。
並行して、原稿用紙を100均で買い、90°回転させて本番風にして手書きで↑を書く練習をします。
(本番はたしか見開きで25 * 32=800字ですが、一般の原稿用紙は20 * 20=400字であることに注意)
この時点では、まだ時間は計らず、最後まで書ききる練習をします。

やってみるとわかりますが、論述を1回解くともう元気がなくなります。
なので、休日のうち、元気がある日に論述1回、残りの日は午前2を周回していました。
頃合いを見てアイテックの論述添削も提出します。

#### 9月
さて、論述にも慣れてきたでしょうか。
ちょうどアイテックの論述添削が返ってきます。
ChatGPTに吐かせて書いた論述に足りない部分を教えてもらえるので、取り込みます。ここでやっと血の通った論文になることでしょう。

この頃から、時間を計って自力で論述を解き始めます。
最初はギリギリ時間超過くらいになるでしょう。
tipsですが、論述として書きやすいように、矛盾しない程度の嘘をまぜても大丈夫です。
自分の頭の中にあるAI(あったらいいな)に適当なことを言わせて、時間に間に合わせる練習をしましょう。

#### 10月
午前2のラストスパートをかけます。
具体的には、過去問を10年分解きなおします。

#### 試験前々日
勉強のために有給を取りました。
論述の最終確認として、論述対策本に載っていて解いたことがない問題を書ききる練習をしました。
#### 試験前日
論述のプレッシャーに負けて1日ベッドで寝込んでいました。

### 本番
#### 午前1
免除

#### 午前2
全問必答です。
出題のうち、過去問が4割でした。過去問サイトを正解率100%まで周回していれば、ほぼ正解できるはずです。
他の6割は新規に見る問題ですが、過去問周回をしていれば消去法で2-3択に持ち込めます。
これで理論上6割取れます。

★ここで昼休憩ですが、トイレに行っておきましょう。理由は次の休憩時間を有意義に使うためです。

#### 午後1
2問から1問選択します。
両方軽く問題文を眺めて、自分に合っている方を選びます。
このときは野獣侵入検知システムでした。

★早く退出する必要はないと思いますが、午後2が始まるまでの時間で、論述対策本に書いてある便利フレーズや論述の最初に書く製品情報などをおさらいしておきましょう。

#### 午後2
3問から1問選択します。
軽く問題文を眺めて、一番直感的に書きやすいものを選びます。
というのも、時間との勝負だからです。時間がなければ、適当なことでもいいので最後まで書ききりましょう。

### 所感
論述は3問とも筆の乗らない問題だったら・・・というプレッシャーがはんぱないです。
しかし、勉強の過程で身に着けた「それっぽい技術的な文章を手早く書くスキル」は実生活でも活きてきますので、論述を経験するメリットは少しあるとは思います。
レッツチャレンジ！

ここまでお読みいただき、ありがとうございました。