だいご
こんにちは!SE歴15年以上、SE転職相談員のだいご(⇒プロフィールはこちら)です。
組み込みエンジニアって実際に働いてみてどうですか?
どんな仕事なんでしょうか?
だいご
色んな現場で組み込みをやって思ったのは、モノづくりの楽しさがあるってことですね。
世の中には色んなシステムエンジニアがありますが、組み込みエンジニアも面白いエンジニアの一つです。
では、組み込みエンジニアって何か、ひと言でいうと、電子機器に組み込まれているプログラムを作るエンジニアのことです。
一言で表現するとこんな感じです。
私自身も、SIerで働いている時に8年くらい、組込みエンジニアとして仕事をしていました。
実際に携わってみて思うのは、自分が開発に携わった製品がお店で販売されて、各家庭で活躍していくところに、非常にやりがいがあります。
さらに、物理的に目に見えて電子機器の動作を変えられるというところが面白く、モノ作りが好きな自分には、たまらない仕事でした。
本記事では、この組み込みエンジニアについて、その仕事内容や、必要とされるスキルについて、実際の経験を元に解説していきます。
この記事を読むことで、組み込みエンジニアの仕事内容が理解できると思いますし、もし、おもしろそうって感じた場合は、組み込みエンジニアの道を選ぶのもいいでしょう。
組み込みエンジニアの仕事内容
では、最初に組み込みエンジニアの仕事内容についてみていきましょう。
冒頭で、組み込みエンジニアとは、「電子機器に組み込まれているプログラムを作るエンジニア」と書きました。
では、具体的に電子機器ってなに?ってことですが、例えば下記のようなものです。
- スマホ
- デジカメ
- ゲーム機
- 家電製品全般(レンジ、冷蔵庫など)
あなたの身の回りにもたくさんありますよね。
これらのアイテムなしでは、生活できないくらい大切で手を離せないものになっています。
だいご
と言っても、20年前はこれらのアイテム無しで生活していた訳ですから、それはそれで昔の自分達はスゴイって関心しますね。。。
これらの電子機器の中にはコンピューターが入っていて、このコンピューター(CPU)が電子機器の動作を制御しています。
例えば、スマホを例にして制御のイメージを説明すると…。
スマホの操作と制御のイメージ
スマホにUSBケーブルを接続 → 接続をUSB制御ICで検出 → 制御ICからの信号をCPUで受信 → CPUではUSBで充電するかファイルの読み込みか表示させる → ユーザーが充電を選択 → CPUが充電するように制御ICに命令 → 制御ICが充電を開始
といった流れで制御を行います。
スマホの中身を簡単に図にすると下記のイメージです。
スマホの中身はこんな風に、中心となるCPUと、USB端子やディスプレイなどのハードウェア部分を制御する制御ICで大まかに構成されています。
さらに、CPUの内部は下記の図のようになっています。
Androidのスマホであれば、最下層にファームウェアが存在していて、その上でOSが動作します。
スマホで動作するアプリ類は、OSからファームウェアを経由して、各ハードウェアを制御したりします。
では、組み込みエンジニアってどの部分を作るのか?というと一般的に下記の部分です。
- ファームウェア
- 各制御IC上のプログラム
- OSの最下層でファームウェアと通信する機能
スマホの場合だと、組み込みエンジニアは日の目を見ない縁の下の力持ちという感じです。
なぜなら、ユーザーが実際に使うのは上位層で動いているアプリケーションであり、その下で動く、ファームウェアなどは目に触れません。
だいご
動いていることさえ、意識してないですよね…。
組込みエンジニアのプログラムが活躍しているのは、スマホだけに限りません。
今の時代、ほとんどの家電製品にCPUが搭載されているので、その中で組込みエンジニアが作るプログラムが動作しています。
このプログラムで、冷蔵庫の温度制御や、電子レンジの時間制御などなど色んな機能が実現されているのです。
かなり色んなところで、電子機器の中に組み込まれてプログラムが動いていることがわかります。
組み込みエンジニアとして必要なスキル
では、組み込みプログラムを開発するエンジニアには、どんな知識やスキルが要求されるんでしょうか。
汎用系やインフラエンジニアやWebエンジニアなど色んなエンジニアとして開発をして来ましたが、組み込みエンジニアは特殊な知識を要求されるエンジニアです。
私が厳選した4つのスキルは下記の通りです。
- ハードの知識
- 図面を読み取るスキル
- 開発言語
- コミュニケーション能力
①ハードの知識
組み込みエンジニアは、電子機器の中で、ハード部分を制御することになります。
ハードとは電子機器の中の物理的な部分を指します。
スマホでいうとディスプレイとか、USB端子とか、ボタン、スピーカー、センサー(温度、明るさ、動き)などです。
ひとつひとつの細かい部分までは、知らなくても大丈夫ですが、それぞれがどんな仕組みで動作しているのかということは、最低でも抑えておく必要があります。
ディスプレイは、バックライト部分と画像表示部分に分かれていていることとか、ボタンってどんな仕組みなのか、スピーカーの音が出る仕組みなど様々です。
電子機器によって、その搭載されているハードも違いますし、センサー類も多種多様です。
人によっては、ハードに全く興味がないという人もいるかと思いますが、ある程度、興味を持てる人は強みを出せます。
だいご
Bluetoothってなんのこっちゃ?とかいまだに言っている人は厳しいかもしれません…。
これらのハードの知識と合わせて必要とされる知識は、電気の知識です。
といっても、そこまで深い知識はいりません。
小学校、中学校で習うレベルのプラスとマイナスの知識とか、電池のつなぎ方がわかっていれば大丈夫です。
組み込みエンジニアは、まれに回路図を読まなければいけないこともあります。
回路図を見ないと、CPUと各制御IC間の接続や、各制御ICと各ハード館の接続がわからず、プログラムでどのように制御すればいいのかわからない場合があるからです。
この時、電気の知識があれば、どこに電圧がかかっていて、対向するICに信号を送れるようになるのか、すんなりわかるようになります。
実際、回路図まで読めると、「こいつやるな!?」となるでしょう。
②図面を読み取るスキル
次に要求されるのは、図面を読み取るスキルです。
前項の電気の知識がベースになるスキルでもあります。
CPUの周りには、周辺の制御ICや制御対象となるハードとの配線がびっしり配置されています。
周辺のICなどを制御するには、そのCPUの周囲の配線を読み解く力が必要です。
CPU周りの配線自体も、ハードウェアエンジニアよって、しっかり回路図として設計されています。
この回路図をすんなり読めるようになると、プログラムを作るうえでもスムーズに作業できます。
③開発言語
やはり、組み込みエンジニアもある程度の開発言語の経験とスキルが求められます。
私が携わっていたプロジェクトでは、C言語や、C++を使っていました。
これらの言語もそれほど難しくない言語ですので、つまづくこともないでしょう。
組み込みくらいの開発規模だと、ポインターや継承などの概念がなくてもなんとかなりますので、開発言語に自信がない人でもなんとかやれます。
④コミュニケーション能力
どの仕事でも要求される能力の一つですが、やはり、組み込みエンジニアも同じです。
もくもくと、制御プログラムを作るだけのように感じますが、そんなことはありません。
例えば、あなたがCPU側のファーウェア開発をしている場合、その制御先になるIC側の開発担当がいます。
組み込みプログラムを作る上で、IC側の担当と密に連絡を取り仕様の調整をする必要があります。
さらに、対向側のIC制御担当だけではありません。
ファームウェアの中でも、電源制御する担当や、ディスプレイ制御担当など、担当が細分化され、それぞれの担当ともコミュニケーションが必要です。
さらにさらに、上位OS側のアプリケーション開発者ともコミュニケーションが必要なんです。
つまり、下のつながりだけでなく、横、上のつながりも重要であるため、色んな部門と円滑なコミュニケーションが必要になります。
組み込みエンジニアまとめ
というわけで、組み込みエンジニアの仕事内容と必要なスキルについて解説しました。
組み込みエンジニアの醍醐味は、自分が開発したものが製品として世に送り出せることです。
その製品を買ってくれた人の生活を便利にして、豊かなものにしてくれるという、やりがいに溢れた仕事になります。
私も、組み込みエンジニアとして仕事をしていた時は、製品の発売日にヨドバシカメラにいってチェックしていました(^^;
他の人が、私の目の前で開発した製品を手に取って、色々チェックして購入していくのを目撃した時は、とにかくうれしかったです。
組み込みエンジニアも非常にやりがいある仕事ですので、ぜひ、興味がある方は検討してみましょう。
転職を検討する場合は、次の記事も参考にしてください。私の転職ノウハウを凝縮しています。
だいご
それでは、楽しいSEライフを!
現状に満足せず、より向上したいと考えることは大切なことですよね。
あなたの希望を叶える最初の一歩として、転職情報を集めましょう。
効率よく転職情報を集めるには、転職エージェントを使うことが必須です。
転職エージェントは、あなたの現在の市場価値を分析したうえで、あなたのスキルとキャリアに合う転職情報を提供してくれます。
しかも、無料でやってくれますので、使わない手はありません。
また、優良な転職情報は、求人を出した瞬間にすぐに決まってしまいます。
常にアンテナを張っておくことで、良い求人が出てくるのを待っている必要があります。
以下は、私自身が、いつも利用している転職エージェントです。
登録する際は、2か所以上に登録することで、世の中にあるSE求人を網羅できます。
※マイナビのプロモーションを含みます。
大手マイナビのITに特化したエージェントです。
20代、30代向けの求人に強く、求人数は1万件以上あります。大手にもかかわらずエージェントの質も完璧で、話が通じやすいところが素晴らしいです。
※レバテックキャリアのプロモーションを含みます。
IT業界に強い転職エージェントといえばレバテックキャリアです。
特化型であるため、エージェントの技術に対する知識も高く、自分の要望を良く理解してくれますし、大手エージェントでも持っていないような求人を持っています。
各社からの情報収集も時間をかけて行っているので、コネクションをしっかり作っていることを求人の内容から感じます。
また、転職成功させるためのアドバイスとサポートを多岐にわたってもらえました。