こんにちは。ジンゴロ(@Jingolox)です。
皆さんいかがお過ごしでしょうか。
僕はIT機器メーカに勤めるサラリーマンなのですが、以前はよく情報処理技術者試験にチャレンジしていました。
会社からの報奨金などがあるわけではなく、ただ自分のスキルアップを目的として勉強に取り組んでおりました。
基本情報処理試験から始まり、いろいろな試験区分を受けていたのですが、その中でも手こずったのがエンベデッドシステムという試験区分です。
エンベデッドシステム試験の対象者をIPA(情報処理推進機構)のサイトから引用してみましょう。
スマート家電、自動運転などあらゆるモノがつながるIoTが進展する中で、ハードウェアとソフトウェアを適切に組み合わせて組込みシステムを構築し、求められる機能・性能・品質・セキュリティなどを実現する組込みエンジニアやIoT系エンジニアを目指す方に最適です。
https://www.jitec.ipa.go.jp/1_11seido/es.html
これからのIoT時代を担う組み込み系開発エンジニアがこの試験の対象者なのです。そのため、試験内容としてソフトウェアだけでなくハードウェアの知識も問われる少し異色の試験区分になっています。
そのせいもあってか、IoT時代の本格到来にもかかわらず、受験者数で見ると、エンベデッド試験の人気はいつも最下位近辺。ブログなどでこの試験について言及している人もかなり少ないという印象です。
以下のデータが経済産業省の”デジタル時代の人材政策に関する検討会 試験ワーキンググループ”から公表されています。(引用元:https://www.meti.go.jp/shingikai/mono_info_service/digital_jinzai/pdf/003_s02_00.pdf)
基本情報技術者は毎年18万人。高度試験区分は下の方に固まっていてよく見えませんね。
次のページに高度区分のみフォーカスしたグラフがありました。
エンベデッド試験は...その中でもさらに少なく約5千人!
かつて高度試験区分の多くがテクニカル・エンジニアという名称だったころ、この試験に3回目の受験でなんとか受かった僕としては、このエンベデッド試験がもっと普及して欲しいと常々思っています(ていうか、受験者数が増えてしっかり存続して欲しい)。
そこで、今回の記事では以下について書いてみようと思います。
- エンベデッドスペシャリスト試験とは
- エンベデッド区分をお勧めする理由
- エンベデッドスペシャリスト試験の勉強法
Contents
エンベデッドシステムスペシャリスト試験とは
現在は、エンベデッドシステムスペシャリスト試験(ES)という名称で、秋(10月)に試験が実施されています。
僕が受験した頃は春に実施されていましたね。
他の○○スペシャリスト試験同様、情報処理技術者試験の中では最高位のレベル4にカテゴライズされています。
近年の試験結果データを見てみると、合格率 は16%程度となっているようです。以前は他の高度区分より多少合格率が高いイメージがありましたが、今はそうでもないようですね(若干は高いようですけど)
エンベデッドシステムとは日本語でいえば組み込み装置です。ソフトウェア制御でハードウェアが動くものならば、全て組み込み装置といって差し支えないでしょう。つまり、洗濯機、冷蔵庫、掃除機、エアコン、スマートスピーカ、ドローンなど全て組み込みシステムの一種といえます。
つまり、情報処理技術者試験の中でも、日本が得意としている家電、ロボット、制御機器の開発を担うエンジニアを対象とするのがこのエンベデッドスペシャリスト試験です。
エンベデッド試験をお勧めする理由
通常、ハードウェア開発エンジニアとソフトウェア開発エンジニアが協力して一つの製品を作り上げます。その際、重要なのが、ハードとソフトの仕様をお互いすり合わせて両方の要求事項を満たす仕様を明確に規定することです。
そのためには、ソフト・ハードの垣根を越えて、お互いが話している内容を理解できなければいけません。つまり、組み込み業界で有能なエンジニアになるためには、ハード・ソフト両方の分野の技術をしっかりと押さえて、どちらとも会話できる技術者になることが求められます。
世の中はたくさんの試験がありますが、ソフトとハードにまたがる分野を扱う試験はこのエンベデッドスペシャリストをおいて他にはありません。この試験の学習を通じて、ソフト・ハード両方のスキルを体系的に学ぶことができます。
これが僕がエンベデッド試験をお勧めするいちばんの理由です。
エンベデッドスペシャリスト試験の勉強法
この試験の特徴は前述の通り、ソフトウェアと、ハードウェアの両方の知識が必要になることです。
会社や学校などで両方の開発経験があるのならば、それにこしたことはありませんが、たいていのケースでどちらかの経験しかないのが普通ではないでしょうか。大半の方は、試験まで時間が足りないと思いますので、書籍を活用して勉強していくことになるでしょう。スタート地点にもよりますが、3ヶ月くらいを目処として学習計画を立てるのが良いと思います。
ただし、仕事でがっつり組み込み開発を行っている方ならば、1ヶ月あれば対策可能と思っています。他の区分ですと、様々な最新テクノロジの専門知識が問われる午後問題ですが、エンベデッド試験に関しては新しく覚えなければいけないキーワードがそれほど多くない、というのがその理由です。
市販の組み込みボードで遊んでみる
もし時間があるなら、下記のような、組み込みCPU搭載ボードが市販されているので、これで遊んでみるのが良いでしょう。最低でもLチカ(LED点灯制御)やセンサの読み出しまでやっておけば、十分かと思います。
世の中にはいろいろなキットが販売されていますが、初めてならば定番のRaspberry Piが良いでしょう。僕が2年前に買った以下のキットはRaspberry Pi 3がベースになっていましたが、いまは最新のRaspberry Pi 4をベースとして販売されているようです。
参考書を読んで全体を理解
参考書を通読するのは精神的につらい作業なので、時間が取れるのならば、短期間(2週間程度)で一気に読み込むのが良いと思います。ただ、日中働いている場合はそうもいかないので、期間を決めて、なるべく短期間で読み進めましょう。この時点では、読んだ内容を忘れてしまっても問題ありません。とにかくこの時点では、全体像を把握するだけで十分です。
僕は以下の参考書を使いました。
あと、こちらも合わせて読みました。
その他に、電波新聞社の「エンベデッドシステムスペシャリスト受験マニュアル」という本も読んでいたのですが、今はもう出版されていないようです(受験者数が少ないからに違いない!)
過去問を解いてみる
情報処理技術者試験は試験区分にかかわらず、過去問をしっかり押さえておくことが大変重要です。というかある意味ここに尽きるともいえます。
午前I,IIについては、多くの問題が、過去問とそのまま同じか、似通った類題が繰り返し出題されます。
過去問をしっかり解き、言葉の意味や、計算問題の解き方について理解し、暗記をすすめましょう。3〜5年分くらい解いてみて回答も含めて丸ごと記憶しておけば、テスト中、時間が足りなくなることもありません。一回は内容をしっかり理解する必要がありますが、一旦理解してしまえば、あとは繰り返し解いて記憶の定着度をチェックしてください。
繰り返しになりますが、午前の試験問題については、全く新しい問題というのはほとんど無く、基本的に過去問題がベースになっていますので、できるだけ多くの過去問を解いて覚えておくことがポイントです。
午後Ⅰ、Ⅱ試験は、ハードウェア寄りの問題と ソフトウェア寄りの問題 がありますので、まず自分がどちら寄りの問題で取り組みかを決めて勉強に取り組む必要があります。
問題文の長さに圧倒されますが、会社の同僚の書いたさっぱり意味のわからない仕様書に比べたら大変読みやすいものです。こちらも過去問を解いて、体感的に内容を把握しておくことが重要です。
押さえておくべきことは以下の3点のみだと思っています。
- テスト時間に対するペース配分
- 記述式問題に対する回答パターン
- 計算問題のレベル感
極論申し上げると、エンベデッド試験の問題は毎年、扱われる題材(開発する機器)はかわりますが、問われる中身は一緒なんですね。問われることは、ハードウェアの各要素をソフトウェアがどのように制御するかのみです。
制御されるハードウェアの種類もCPU、メモリ、各種センサ、LED、モーター、ディスプレイ等だいたい決まっていて、全く目新しいデバイスや見たこともないマニアックなハードウェアが登場することはまずありません。
それぞれのハードウェアがどのような特徴があって一般的にどんな制御をする必要があるかを過去問を解いて一通り押さえておくことができれば十分です。
僕が使った過去問本はこちらです。
まとめ
今回の記事では、エンベデッドスペシャリスト試験について書いてみました。
そういえば、合格証書ってまだあるんだっけと思い、本棚を見て見たら、一応保管していたようです。
僕が最後に情報処理技術者試験を受けたのは3年前で、いまは遠ざかっていますが、またチャンスがあれば受けたいと思っています。
また、深夜のファミレスにこもって勉強したいものですね。そんな日常がまた戻ってくると良いのですが。
というわけで、興味を持たれたエンジニアの方、是非エンベデッドスペシャリスト試験を受けてみてください。
それではまた。