自分戦略研究所 | 自分戦略研究室 | キャリア実現研究室 | スキル創造研究室 | コミュニティ活動支援室 | エンジニアライフ | ITトレメ | 転職サーチ | 派遣Plus |

目指せ! 組み込みエンジニア

第2回 組み込みエンジニアに求められる知識と資質

柴原健次(イーソル
2008/2/19

さまざまな分野で活躍する組み込みエンジニア。一般的なシステム開発の分野から、組み込みエンジニアへの転身を図りたい、というエンジニアも多いでしょう。そこで本連載では、組み込みエンジニアの魅力、仕事、スキルなどを伝えていきます。もちろん、組み込み機器は広範にわたり、各分野で求められるスキルやキャリアは異なります。よって、本連載で紹介できるのもその一部にすぎません。とはいえ、組み込み分野に転身を図りたいエンジニアの参考になればと考えています。

 組み込みの世界では、さまざまなCPUが使われます。OSもさまざまものがありますし、OSがないことさえもざらです。1つの製品を開発するには、ソフトウェアの開発だけではなく、CPUの選定から始まり、デジタル回路やアナログ回路などのハードウェアの設計、OSやドライバの開発までも行うことがあります。

■組み込みエンジニアもすべては知らない

 しかし、すべての組み込みエンジニアが、これらのすべての技術を身に付ける必要があるわけではありません。

 確かに以前は、これらのすべてを1人で見渡せる人がいました。いわゆる「匠」(たくみ)と呼ばれるような職人かたぎのすご腕のエンジニアがいて、全体から詳細な部分まですべてを理解し、自らも実装作業の先頭に立っていました。しかし現在の組み込み開発では、ソフトウェアやプロジェクトの規模が大きくなり、分業化が進んでいます。その意味では、こうしたすご腕エンジニアは、ひと昔の姿になりつつあります。

 従って、組み込み開発におけるソフトウェア開発エンジニアは、電子回路設計技術やマイクロプロセッサに関する詳しい知識は、どんな製品を開発するかによって異なりますが、必ずしも必要であるとはいえません。

 実際、デジタル家電などのユーザーインターフェイス部分の設計や開発では、ハードウェアの知識はほとんど不要なことも多いですし、携帯電話へのPCゲームの移植などでは、組み込み開発である意識すら不要かもしれません。

 これらのエンジニアが、組み込みエンジニアと呼ぶべきかどうかは議論はあるでしょう。ただし、ここではその是非の判断を議論することはやめましょう。ただ、組み込みエンジニアというのであれば、ハードウェアとソフトウェアの両方が分かるエンジニアになってほしいとは思います……。

■では、一般にどこまで知れば?

 組み込み機器の開発では、一般的に最低限どのようなハードウェア知識が必要でしょうか。一般的に、とは書きましたが、これは非常に難しい質問です。

 電子回路の設計技術は、その分野の担当をしない限りは不要なことが多いかもしれません。しかし、電子回路図やロジック回路図、さらにタイミングチャートなどは、読めることが望まれます。

 ボードを用いてデバッグするときに、テスターやロジックアナライザを用いることもあり、その際にはそれらの機器の知識が必要となってきます。これらは、どのような製品開発でも生かされる知識であり、その知識やスキルを身に付けていけば、次の開発プロジェクトでも力を発揮できるものと思います。

■組み込み技術は蓄積型

 一般のシステム開発では、ホストコンピュータでの開発から、UNIXを中心としたダウンサイジングが主流となり、さらにクライアント/サーバ型での開発、さらに3階層モデルへと変化しました。また、インターネットを活用したWebサービスなど、次々と新しい技術が開発され進化しています。もちろんプラットフォームだけでなく、個々のテクノロジについてもさまざまな最新技術が生まれ、開発技術者は常にそれらを追いかけていかなければなりません。

 組み込みの世界はというと、もちろん新しいテクノロジがどんどん生まれています。しかし、例えば30年前からいまもそう変わっていない技術も多々あるのです。

 新しい技術が出てくると、以前の技術が古くなって使われなくなることもありますが、使われ続けることも多いのです。つまり、いい換えると、組み込み技術はさまざまな技術がどんどん積み重なっていく蓄積型であり、身に付けた技術やスキルも積み重ねられ、経験が増えれば増えるほど、力が付いていくということになるのです。

■技術知識以外に必要なものは?

 技術知識以外に必要なものは何でしょうか。それは、コミュニケーションスキルです。コミュニケーションスキルは、いまやどの業種どの職種でも必要になってきていますが、組み込み技術者においてもその例に漏れず、どころか特に必要とされてきていると考えられます。

 なぜコミュニケーションスキルが必要かを考えますと、理由は複数あると考えられます。

 まずは、大規模なプロジェクトが増え、きちんとしたプロジェクトマネジメントが必要となってきたことが挙げられるでしょう。

 それぞれの持ち場をそれぞれの匠が少人数でしっかりと把握し開発していた時代はポイントを押さえておけば、それほどコミュニケーションが重視されることはなかったかもしれません。ところが、プロジェクトが大きくなるにつれ、業務指示がきちんと伝わっているのか、進ちょくはどうなのかというような、双方向の情報のやりとりが円滑なプロジェクト進行に重要なポイントになってきました。

 さらに、組み込み開発は、一般的には最終成果物が大量生産される商品であることが多いのですが、いいものを作ればたくさん売れるとは限りません。お客さまやメーカーが要望する機能を実現するために技術者側からさまざまなアイデアや提案などをする機会もあるでしょう。そこには、技術的なバックグラウンドに支えられたヒアリング力やプレゼンテーション力などを含めたコミュニケーション力が必要となってきます。

 また、組み込み開発においては、大小含め、さまざまな問題解決をしながら開発することが多く、その際に、まず自分でしっかり考えることが重要ですが、リーダーや先輩技術者に適度なタイミングで質問をし、適切な説明をすることも必要です。どこまで自分で考え、どこから周囲の人に聞くかという線引きが大事であり、そのコミュニケーションも大変重要なのです。

 ちなみに、若い世代の人たちにおいては、同僚とのコミュニケーションはうまく取れるが、先輩や上司とはうまくできないという人が増えてきているように思います。自分ではコミュニケーションを取るのがうまいと思っている人も、それは同期だけということはありませんか? 上司や先輩とうまくコミュニケーションが取れるというのも重要なスキルなのです。一度再確認してもよさそうですね。

 加えて組み込み開発には、探究心や物事を突き詰めていく気持ちと力が必要です。どうしてなんだろうとか、もっと知りたいというような気持ちは、組み込み開発には絶対に必要なマインドです。組み込みの世界に限らないかもしれませんが、こだわりを持った技術者がよりよい製品作りができる技術者なのです。

■技術とヒューマンスキル、どちらが重要か

 ここまで紹介したコミュニケーション力や探求心などのヒューマンスキルと技術力では、どちらが大事かというと、それは両方としかいいようがありません。ヒューマンスキルだけ高くても肝心の技術力がなければ仕事ができません。ただ、もちろんまったくの素人ではダメですが、オープン系や業務系で経験を積んでいれば、それは必ず組み込み開発でも生かされるものです。

 つまり、コミュニケーション力が高く、オープン系や業務系などで経験を積んでいる人は、あとは組み込み特有の技術を身に付けていけば、組み込みの世界でも活躍できるチャンスが多大に広がっているということです。組み込み業界を甘く見すぎず、かつ恐がらないで門戸をたたくというスタンスがよいのではないでしょうか。

組み込みに関連する@IT自分戦略研究所の記事
学生が知らない組み込み開発の現場
組み込みエンジニア、転職先選びのポイントは?
組み込みエンジニアは何を見るか

自分戦略研究所、フォーラム化のお知らせ

@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。

現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。

これからも、@IT自分戦略研究所をよろしくお願いいたします。