エンベデッドシステムスペシャリスト(ES)ってどんな職業?

エンベデッドシステムスペシャリスト(ES)はIPAが実施している「知識・技能」が一定以上の水準であることを認定している国家試験の1つである。
なお、エンベデッドシステムという言葉は世間一般にまったく浸透していない。そもそもエンベデッドシステムって何ですか?という話である。

”コンピュータ”と言われてどんなものを想像するだろうか。

  • パーソナルコンピュータ(デスクトップやノートとか)

  • なんちゃらサーバー(タワーやラックマウントとか)

  • スーパーコンピュータ(研究機関や大学とかにあるやつとか)

  • など

コンピュータ然としていなくてもソフトウェアにより電子制御されている”もの”が身の回りや社会インフラに沢山存在する。この”もの”を動かしているソフトウェアがエンベデッド(組込み)システムである。

部屋をぐるっと見渡してエンベデッドシステムが入っているだろうと予想される”もの”を探してみる。

  • テレビ

  • エアコン

  • リモコン

  • 車(窓から見える)

  • などなど

いくらでも見つけられる。エンベデッドシステムが対象としている”もの”は多岐に渡り、裾野はとても広い。

ちなみに、携帯電話はかつて間違いなくエンベデッドシステム領域のものだったが、PDA形状のスマートフォンはもはやエンベデッドシステムとは言えなくなった。
アプライアンス製品といって、ラックマウントサーバー等にあらかじめ特定用途に向けた拡張ハードやアプリケーションをセットアップ済みで販売するものもある。これらもエンベデッドシステムには該当しないかもしれない。

エンベデッドシステムスペシャリストは、エンベデッドシステムのソフトウェア開発工程全般(仕様策定・設計・プログラミング・テスト)を担うエンジニアである。
業務では単にシステムエンジニアやプログラマの肩書となっている。
開発プロジェクトには、アーキテクトやプロジェクトリーダーもいる。
エンベデッドシステムで動作する”もの”は、値付けされて不特定多数の顧客に売られる製品の場合も多いので、プロジェクト全体を仕切るリーダーはプロダクト(製品)リーダーと呼ばれることもある。
彼らはハードウェアの深い知識やプログラムを設計したりコードを書く高いスキルを持っている。
スキルがなければ、難易度の高低に応じてタスクを振り分けたり、計画通りタスクが終わるか予測し対策したり、適したプログラム構造や制御アルゴリズムを設計することができないからである。

エンベデッドシステムの規模はピンキリだ。

第三世代携帯電話に搭載されるシステムはWindows95に匹敵するコード量が実装され、千人以上のエンジニアが参画していると言われていた。
プロダクトリーダーを頂点とするPMOに相当するチームがあり、システムは多数のコンポーネントに分割され、コンポーネント毎に個別の開発プロジェクトを形成する。
コンポーネントの開発プロジェクトにはプロジェクトリーダーがいて数名から数十名のエンジニアが参画する。
製品の機能要件やユーザーインターフェースを専門的に検討・定義したり、テスト専任のプロジェクトチームもある。

一方、たった一人で最初から最後まですべての工程・作業をこなすエンベデッドシステムも珍しくない。

エンベデッドシステムの技術的な特徴や、エンジニアの特有スキルを上げてみるとこんな感じだろうか。

  • プログラミング言語はアセンブラやC言語がほとんど。(関数や変数の物理・論理アドレスを意識しなければならない)

  • リアルタイムOSや軽量化カスタムされた汎用OSが採用される。OSレスの場合もある。

  • 決められた性能を限られたリソースで確実に達成する必要がある。

  • ハードウェア制御方式の知識が必要になることがある。

  • コードはクロス環境でビルドする。

  • デバッグは試験用に作成されたハードウェアとインサーキットエミュレータ(ICE)を使用する。

  • デジタルオシロスコープやロジックアナライザなどの測定器を使うこともある。

多くの場合、エンベデッドシステムはハードウェアと同時進行で設計される。
ある程度工程が進むまで、お試しのようなことはできず、期待した機能や動作は机上の空論状態である。
「これはちゃんと実現できるのか」と疑心暗鬼になる。
ハードウェアやCPUのマニュアルなどはきちんと理解できているのか?性能実現のための調査・想定に間違いはないか?など、不安は尽きない。

ハードウェアも試作され、ソフトウェアもプログラミング(時にはエミュレーション環境などの動作確認)を経て、ついに出会う。
いくつか不具合もあるだろうが、徐々に取り除かれ、ググっと動く時が来る。机上の空論であったものが、仕様・設計どおり動き出し現実になる。

きっと、その瞬間に立ちあった者にしか分からない感動を得られることだろう。
苦労してエンベデッドシステムスペシャリストになった甲斐があった、と感じられるのであればとても素晴らしいことだと思う。

縁の下の力持ちのような役割で、目立たず賞賛もされないかもしれない。辛く、苦しいことも多いのだが、自分は結構いい職業ではないかと思っている。

この記事が気に入ったらサポートをしてみませんか?