このページの本文へ

2008年01月24日更新

第1回 「開発エンジニア」で一歩先行くためには

組込み一直線

経済産業省の調べによると、組込み系エンジニアは毎年10万人単位で人材が不足しているとのこと。詳しくみると現場では各フェーズをまとめるリーダーの不足が深刻になっているようです。実際に組込み系エンジニアとして働く者の視点で言えば、各部署でリーダーを目指すことが、多くのエンジニアが望むキャリアアップでしょう。そこでこの連載では、組込み系エンジニアの職種を「開発エンジニア」「テストエンジニア」「プロジェクトマネージャー」の3つに大別し、それぞれの現場で成果を上げるためのポイントや必要なスキルを紹介します。第1回目の今回は、開発エンジニアの解説です。

ハード上での開発ができない「組込み系開発」

 組込み系開発エンジニアの仕事について、解説する前に今一度「組込み系」とは何かについて確認しておく必要があります。組込み系とは、ある特定の目的や用途のために作られたハードウェア(携帯電話やデジタルカメラなどの専用装置)専用のソフトウェアのことを指します。

組込み一直線
(株)富士通ラーニングメディア 研修事業部 増田晃章さん         1984年から約20年、主にネットワーク機器のソフトウェア開発に従事。現在、組込みソフトウェア開発における教育を担当。

 オープン系システムのソフトウェア開発との大きな違いとして、ソフトウェアを動作させる装置(ターゲット)での開発(スタンドアロン開発)ができないため、PCなど他のもので開発し、できたソフトウェアをターゲットに組込むことがあげられます(クロス開発)。最終的に組込まれるハードウェア(ターゲット)も同時に開発されていく「コンカレント開発」も特徴の1つです。開発が同時進行であるため、ハードウェアの仕様が安定してない場合もあります。そういう状況なのでハードウェアのこと、開発の進め方、開発ツールやソフトウェア部品のトレンドなどもよく知っておくべきです。

仕様どおりに動かない部品に注意!

 組込み系開発エンジニアの仕事では、いろいろなLSI(Large Scale Integration)部品やデバイスドライバ、ミドルウェアなどの部品を駆使して作り上げていきます。そこで必要になるのが、それら部品についての知識です。各部品の特性や相性などを理解していないと、性能を引き出すことができませんし、それ以前に稼働させられないことも考えられます。新たに仕事をするときに、部品の仕様書などの理解にも大きく影響します。組込み系開発エンジニアの仕事をするなら、ハードウェアであるターゲットが属する分野のある程度の知識や情報は持っておくべきでしょう。

 しかし、ただ情報を持っていればうまくいくのかというと、そうでもありません。実はそれらの部品やミドルウェアは、ドキュメントが不十分であることが多く、また仕様書どおりに動かないものも珍しくありません。私が経験したことでこんなことがありました。

 組込み系の開発では、OSの処理速度の即時性(リアルタイム性)が求められることが多く、そのスピードはたとえば、μs(マイクロセコンド:1/1,000,000秒)・パー・オーダーのレベルを実現しなければならないこともあります。しかし、ある制御信号に関する処理が間欠的にうまく動かない。プログラム・バグや回路のバグ、ハードウェア部品の不具合の可能性を考えながら、ロジアナ(ロジックアナライザー)などの測定器で原因を調査しました。すると、即時性を実現するための組込み用OS(リアルタイムOS)を使って開発を進めていたのですが、その即時性が実現できていないことが原因であることが判明しました。 そこでOSのメーカー担当者に現場に来てもらい詳しく話を聞くと「その速度は、ある特定のCPUを使うときだけに実現される速度で、それ以外は適用されない」と、当たり前のように言うのです。私たちは違うCPUを使っていたので、その速度は出なかったというわけです。しかし、そのことは仕様書には書かれていません。

 つまり、組込み系開発では、ドキュメントや仕様書に書かれていることをすべて頭から信じるのではなく、使う前に情報を収集する、あるいは、自分たちで実際に確かめる検証作業を大切にするといったリスクヘッジが必要と言えるでしょう。よい言い方ではありませんが、ある程度疑ってかかるということも時としては必要なわけです。ただし、何でも疑えばいいというのではありません。すべてを検証していたら時間がかかりすぎます。まず知識と情報があって、その上で実際に使ったり測定をしたりなど自分で確かめた上でのことです。そのためにはソフト、ハード、測定など、組込み系開発の仕事に関わる広く深い知識が必要ですし、メーカーの人との十分なコミュニケーションも必要不可欠です。

次ページへつづく

■関連スキルアップコース(富士通ラーニングメディア)
・組込みソフトウェア開発初心者のための組込みシステムの基礎
・組込みソフトウェア開発初心者のためのC言語プログラミング

1 2
キャリア連載バックナンバー
採用を勝ち取る転職必勝マニュアルバナー

おすすめ連載

組み込み系エンジニア特集

今さら聞けないIT英語

エンジニアライフ

資格試験対策

プロマネ・スキル

ビジネススキル

独立起業事例集

キャリア・コーナー紹介