電化製品や機械などのハードウェアを動かすためのシステムを開発する組み込みエンジニア。
近年、身近な家電にも「マイコン」と呼ばれる小さなコンピュータが組み込まれることが増えてきました。
それに伴い、マイコンを開発する組み込みエンジニアへの注目が集まっています。
しかし、インターネット上などでは「組み込みエンジニアはやめとけ」と言われることも多いです。
そのため、組み込みエンジニアに興味を持ったものの、やっていけるか不安に感じている人もいるのではないでしょうか。
そこで本記事では、組み込みエンジニアがやめとけと言われる7つの理由を解説します。
また、向いている人・向いていない人の特徴も合わせて紹介します。
組み込みエンジニアの大変さを理解し、自分に向いているかどうかを見極めたい人は、ぜひ本記事を参考にしてください。
組み込みエンジニアはやめとけと言われる7つの理由
インターネット上の記事やSNSの投稿などで、「組み込みエンジニアはやめとけ」と書かれているのを見たことがある人も多いのではないでしょうか。
そのような書き込みを見ると、本当にやっていけるのか心配になりますよね。
組み込みエンジニアはやめとけと言われる理由は、以下の7つです。
- 慢性的な人手不足
- 急な仕様変更が多い
- 納期のプレッシャーがある
- 残業が多い
- 求められる技術レベルが高い
- 常に勉強する必要がある
- バグの改修が大変
この章では、実際の現場で直面する現実や、組み込みエンジニア特有の事情などもふまえて、その理由を解説します。
なぜ組み込みエンジニアがやめとけと言われるのか、具体的に知りたい人は参考にしてください。
慢性的な人手不足
組み込みエンジニアはやめとけと言われる1つ目の理由は、慢性的に人手が不足しているからです。
組み込みエンジニアの人手が不足している主な原因は2つあります。
- IoT製品が普及してきた
- 人気の高い言語を使わない
近年では、パソコンだけではなくエアコンや掃除機など、さまざまな電化製品がインターネットでつながるようになりました。
こうしたIoT製品を制御するためのマイコンを開発するのは、組み込みエンジニアの仕事です。
IoT製品が普及したことにより、組み込みエンジニアの需要も高まっています。
また、組み込みエンジニアが開発で使用する言語は、主にC・C++・アセンブリ言語です。
しかし、最近はPython・Rubyなどの言語の人気が高まっており、Cやアセンブリ言語を学ぶ人は少なくなっています。
そのため、需要は高まっているのに新しい人材を確保できず、人手が不足しているのです。
急な仕様変更が多い
急な仕様変更が多いことも理由として挙げられます。
組み込みエンジニアの仕事は、機械(ハードウェア)を制御するためのソフトウェアを開発することです。
そのため、ソフトウェアの開発がハードウェアの仕様に影響されることがよくあります。
たとえば、ハードウェア側に何らかの問題があったとしても、それをソフトウェア側で吸収しなければならないという場合もあるでしょう。
また、ソフトウェア単体なら問題はなくても、ハードウェアに組み込むと予想外の動作をしてしまう、という場合もあります。
そのため、組み込みエンジニアの仕事は開発の初期段階で仕様をすべて決定するのが難しく、途中での急な仕様変更が多いのです。
仕様変更の内容によっては、たとえ途中までプログラムを実装していたとしても、また設計から大幅にやり直さなければいけないケースも発生します。
このように、急な仕様変更に対応しなければならないのが、組み込みエンジニアの大変なところです。
納期のプレッシャーがある
3つ目の理由は、納期のプレッシャーがあることです。
ITエンジニア全般に言えることですが、組み込みエンジニアも納期を絶対に守らなければいけません。
納期に遅れることは、次のようなリスクがあるからです。
- 全体のスケジュールが崩れる
- 損害が出る
- 信用を失う
システムの開発には多くの企業が関わるため、どこか1か所が遅れると、全体のスケジュールに影響してしまいます。
また、余分な人件費が損失につながり、信用も失ってしまうでしょう。
しかし先述したとおり、組み込みエンジニアは急な仕様変更が多い仕事です。
仕様変更が発生するぶん納期も後ろ倒しになればまだ対応しやすいのですが、納期は変わらないということもよくあります。
そのため、仕様変更に対応しつつ、納期に間に合わせなければならないので、大きなプレッシャーを感じるでしょう。
残業が多い
組み込みエンジニアはやめとけと言われる理由の4つ目は、残業が多いからです。
厚生労働省の調査によると、全職種での平均残業時間は13.2時間でした。
一方、転職サイト・dodaの調査によると、組み込みエンジニアの平均残業時間は28.3時間です。
全職種の平均の2倍以上という結果になりました。
組み込みエンジニアの残業が多いのは、先にもお伝えした3つのことが原因です。
- 人手不足
- 仕様変更が多い
- 納期は厳守
組み込みエンジニアは人手が不足しているため、1人あたりの業務量がどうしても多くなってしまいがちです。
また、仕様変更で作業が増えることもよくあります。
こうしたなかで納期に間に合わせるために、残業しなければ対応できない状況になってしまうのです。
求められる技術レベルが高い
5つ目の理由は、求められる技術レベルが高いことです。
組み込みエンジニアには、以下のスキル・知識が求められます。
- C・C++・アセンブリ言語のスキル
- ハードウェアの知識
- 回路図の知識
- リアルタイムOSの知識
C系の言語は、ほかの言語と比べても習得が難しいと言われています。
また、開発の対象がハードウェアと深く関わっているため、ハードウェアの知識が求められることが特徴です。
回路図をもとにシステムを設計する場合もあるので、図面から情報を正確に読み取る力も求められるでしょう。
さらに、組み込み開発ではiOS・Androidといった汎用OSではなく、ITRON・T-KernelなどのリアルタイムOSが使用されます。
リアルタイムOSとは、制限時間内に特定の処理を実行するためのOSです。
ハードウェアを制御するためには、さまざまな処理を制限時間内に正しく実行しなければならないので、リアルタイムOSの知識も欠かせません。
このように組み込みエンジニアは、高いレベルの技術が求められるのです。
常に勉強する必要がある
組み込みエンジニアはやめとけと言われる6つ目の理由は、常に勉強する必要があるからです。
IT業界では、新しい技術がどんどん生まれています。
もちろん、組み込みエンジニアも例外ではありません。
たとえば、最近ではAIを搭載したお掃除ロボットやエアコンなどのIoT製品も増えてきています。
最新技術が製品の開発に活用されていくので、常に勉強しておかなければとり残されてしまうのです。
また、開発に使用するOSやCPUなども次々にアップデートされていきます。
そのため、一度スキルや技術を身につければ終わりというわけではなく、最新の情報をつかんで自分自身もアップデートさせる必要があるのです。
バグの改修が大変
7つ目の理由として、バグの改修が大変なことが挙げられます。
システム開発において、バグの発生は避けては通れないものです。
しかし、組み込みエンジニアはほかのITエンジニアと比べて、特にバグの改修に気を遣わなければいけません。
その理由は、以下の2つです。
- 納品後の修正ができない
- 人命に関わる危険がある
たとえばWebエンジニアの場合、アプリケーションのリリース後にバグが見つかったとしても、修正してアップデートすることができます。
一方、組み込みエンジニアの場合、システムが製品のなかに組み込まれるので、納品後の修正はできません。
もしバグを見逃してしまうと、最悪の場合、人命に関わる危険性もあるのです。
例を挙げると、電子レンジに組み込まれたシステムが誤作動を起こし、火災の原因になることなどが考えられます。
そのため、納品するまでに何度もテストをくり返して、バグを徹底的になくしておく必要があるのです。
組み込みエンジニアが向いている人
ここまで、組み込みエンジニアはやめとけと言われる7つの理由を解説しました。
たしかに大変なことも多いですが、実は組み込みエンジニアに向いている人もいます。
組み込みエンジニアに向いている人の特徴はこちらの3つです。
- 心配性で何度も確認を行う人
- コツコツ作業が好きな人
- モノづくりが好きな人
ここからは、どんな人が組み込みエンジニアに向いているのかを解説します。
実際の仕事内容も合わせて確認しながら、こうした特徴が開発の現場でどのように役に立つのか見ていきましょう。
もしかしたら、あなたの個性が組み込みエンジニアの仕事に活かせるかもしれませんよ。
心配性で何度も確認を行う人
心配性で何度も確認を行う人は、組み込みエンジニアに向いています。
先ほど解説したとおり、組み込みエンジニアは納品後のバグが許されない職種です。
そのため、さまざまなケースを想定してテストを行います。
たとえばボタン1つをとっても、以下のように考えられるすべてのケースをくまなくチェックすることが必要です。
- 連続で何度も押す
- 長押しする
- ほかのボタンと同時に押す
- ボタン押下中に電源を切る
- ボタン押下中に電源を入れる
日常生活で使われるテレビやエアコンなどの電化製品用のシステムの場合、ユーザーが思いもよらない操作をすることもあります。
こうした事態に備えてあらゆるテストを行い、誤作動を未然に防ぐのです。
また仕様変更も多いので、仕様どおり実装できているか・修正もれはないかなども、その都度すみずみまで確認しなければなりません。
心配性で何度も確認を行う人なら、いろいろなケースを予測して、こまかくチェックできるでしょう。
コツコツ作業が好きな人
組み込みエンジニアは、コツコツ作業が好きな人にもおすすめできます。
なぜなら、組み込みエンジニアの仕事は以下のように地道な作業が多いからです。
- コーディング
- テストケースの洗い出し
- 全ケースでのテストの実行
- ログ解析
- デバッグ
コーディングでは、0からつくることもありますが、ほかの人がつくったプログラムを解読しながら修正を加えることもあります。
また、大量のテストケースを洗い出し、すべてのテストをクリアすることが必要です。
さらに、バグが発生した場合はログを見ながら、何が原因かを少しずつ探っていきます。
業務以外でも、最新のスキルや技術を身につけるために、日々努力をすることも欠かせません。
そのため、粘り強くコツコツ作業できる人が組み込みエンジニアに向いています。
モノづくりが好きな人
システム開発はモノづくりの一種です。
そのため、組み込みエンジニアは、モノづくりが好きな人にもぴったりだと言えます。
組み込みエンジニアの仕事は、機械やロボットなどのハードウェアを制御するためのソフトウェアを作ることです。
完成したシステムはハードウェアに組み込まれ、実際にその製品が動いている様子を見ることができます。
モノづくりが好きな人なら、やりがいを感じられるでしょう。
また、組み込みエンジニアは企画から運用・保守まで、開発のさまざまな工程に携わります。
自分の得意が発揮できる工程を発見できるのもおもしろさの1つです。
- どういうモノをつくるか考えるのが得意…企画・設計
- 自分の手でモノをつくるのが得意…実装
- モノをよりよく改善するのが得意…運用・保守
組み込みエンジニアは大変なことも多いですが、モノづくりが好きな人ならきっと楽しみを見つけることができますよ。
組み込みエンジニアが向いていない人
組み込みエンジニアを目指すなら、向いている人の特徴だけではなく、向いていない人の特徴も知っておきましょう。
もし向いていないのにその世界へ入ってしまうと、苦労するのはあなただからです。
途中で気がついて方向転換するとしても、余計な労力を使うことになってしまいます。
あらかじめ向いていないことがわかっていれば、始めから別の道を選ぶこともできますよね。
組み込みエンジニアが向いていない人の特徴は、次の3つです。
- 学習意欲がない人
- 機械に興味がない人
- チームでの作業が苦手な人
この章では、上記の特徴を持つ人がどうして向いていないのか実例を交えながら具体的に解説します。
組み込みエンジニアになりたいけど、向いていなかったらどうしようかと不安な人は参考にしてみてください。
学習意欲がない人
学習意欲がない人には、組み込みエンジニアはおすすめできません。
その理由は、以下の3つです。
- 高い技術が求められる
- 幅広い知識が必要
- 最新の技術にも対応する必要がある
先にもお伝えしたとおり、組み込みエンジニアには高い技術が求められます。
開発に使用するC系・アセンブリ言語は、プログラミング言語のなかでも複雑で難しいと言われており、実践で活躍するためには多くの勉強時間が必要になるでしょう。
また、プログラミングスキルだけではなく、ハードウェア・回路図・リアルタイムOSなど、幅広い知識も必要です。
OSやCPUなどは年々アップデートされるので、最新の情報を身につけていなければ実務では使えないこともあります。
さらに、IT業界は技術の進化スピードが速いので、常に学習を続けておかなければなりません。
こうした理由から、学習する習慣がない人には難しい職種であると言えます。
機械に興味がない人
機械に興味がない人にとって、組み込みエンジニアの仕事はつらいと感じてしまうでしょう。
理由としては、以下の2つが挙げられます。
- 機械を制御するシステムを開発する
- ハードウェア・回路図の知識も必要
組み込みエンジニアは、機械(ハードウェア)を制御するためのソフトウェアを開発します。
自分が開発したシステムが機械を動かしていても、機械に興味がなければそれほどやりがいを感じられないかもしれません。
また、ほかのITエンジニアと違って、ハードウェアや回路図の知識も必要です。
ハードウェアの仕様を理解し、回路図を正確に読み取って、それに合わせたシステムを設計しなければなりません。
組み込みエンジニアの仕事はハードウェアの影響を受けやすく、大変なことも多いため、そもそも機械に興味がない人には厳しいでしょう。
チームでの作業が苦手な人
チームでの作業が苦手な人は、組み込みエンジニアに向いていません。
なぜなら、以下のようにチームで協力して仕事を進める必要があるからです。
- 基本的にチームで開発をする
- ほかのチームとも連携する必要がある
組み込みエンジニアは、パソコンに向かって黙々と1人で作業するイメージがあるかもしれませんが、実はそうではありません。
基本的には、チームをつくって開発を進めます。
システムにはさまざまな機能が必要なため、1人で対応するのは難しいからです。
機能や役割ごとにチームをつくり、チーム内でもそれぞれの分担を決めて作業を進めます。
最終的には1つのシステムとして完成させなければならないので、チーム同士での連携は欠かせません。
大規模なプロジェクトの場合、数十人、数百人単位の人が開発に携わることもあります。
このように多くの人と協力して開発する必要があるため、チームでの作業が苦手な人にはおすすめできません。
実はおすすめ!組み込みエンジニアが得られる3つのメリット
組み込みエンジニアはやめとけと言われることも多いですが、悪いことばかりではありません。
実は、組み込みエンジニアだからこそ身につけられる技術や、感じられるやりがいもあるのです。
ここからは、組み込みエンジニアが得られる3つのメリットを紹介します。
- IoTやAIなど最新技術に触れられる
- 人手不足から需要の高い人材になりやすい
- 製品が実際に使われているのを実感できる
組み込みエンジニアの仕事が大変なのは事実ですが、デメリットだけではなく、メリットにも目を向けてみましょう。
IoTやAIなど最新技術に触れられる
組み込みエンジニアのメリットの1つは、最新の技術に触れられることです。
たとえば、以下の技術と深い関わりを持っています。
- IoT
- AI
- ビッグデータ
- 5G
- 自動運転
先にも解説したとおり、IoT製品を制御するためのシステムを開発するのは、組み込みエンジニアの仕事です。
AIはさまざまなIoT製品に搭載されるケースが増えてきており、今後もさらに増加するでしょう。
また組み込みエンジニアは、センサーや通信用のチップ、画像解析システムなどの開発も手がけています。
これらはビッグデータの収集、5G・自動運転技術の開発に欠かせないものです。
IT技術がどんどん進化していくなかで、最新技術の開発を支えているのが組み込みエンジニアであるとも言えます。
人手不足から需要の高い人材になりやすい
組み込みエンジニアは、IoT製品の普及によって需要が高まっている一方で、人手が不足しているのが現状です。
そのため、需要の高い人材になりやすいというメリットもあります。
IPA「2019 年度組込み/IoT に関する動向調査」の報告によると、調査した企業のうち約86%が組み込みエンジニアの人材不足を感じていると回答しました。
組み込みエンジニアは人気の言語を使わないことから、特に20代、30代の若手の不足は深刻だと言われています。
若手のうちから組み込み開発に携わり、将来的にプロジェクトを引っ張っていけるような人材になれば、さまざまな現場で重宝されることでしょう。
ただし、くり返しお伝えしているように組み込みエンジニアは高い技術が求められる職種です。
人手が不足しているからといって、誰でもなれるものではありません。
組み込みエンジニアを目指すなら、まずは最低限のスキルは身につけておきましょう。
製品が実際に使われているのを実感できる
製品が実際に使われているのを実感できることも、組み込みエンジニアのメリットの1つです。
組み込みエンジニアが開発したシステムは、身近な電化製品からロケットや衛星まで、さまざまな製品に使用されています。
たとえば、スマートフォンやエアコン用のシステムなどは、自分が開発に携わった製品が日常生活のなかで多くの人々の役に立っていると感じられるでしょう。
開発するシステムにもよりますが、Webエンジニアなどとは違い、完成した製品を実際に手で触れられることが多いのも魅力です。
自分で製品を使ってみると、「開発したシステムのおかげでこんなに便利になるのか」と、よりその貢献度を実感できますよ。
ロケットや衛星の場合、実際に触れることはできませんが、ニュースなどで多くの注目が集まるので、やりがいを感じるでしょう。
組み込みエンジニアに必要な資格
組み込みエンジニアは、特定の資格がないとできない仕事ではありません。
しかし、高い技術が求められるので、資格を取得することは自分の能力をアピールするのに有効です。
この章では、組み込みエンジニアにおすすめの資格を2つ紹介します。
- ETEC
- エンベデッドシステムスペシャリスト試験
それぞれの資格の概要や取得するメリットを解説するので、参考にしてみてください。
ETEC
ETEC(組込みソフトウェア技術者試験)とは、一般社団法人組込みシステム技術協会が運営している、組み込みソフトウェア技術者向けの認定試験です。
難易度によって、2つの試験があります。
- 組込みソフトウェア技術者試験クラス1
- 組込みソフトウェア技術者試験クラス2
より難易度が高いのは、組込みソフトウェア技術者試験クラス1です。
試験では、主に以下のスキル・知識が問われます。
- 設計・実装・テストなどの開発スキル
- ソフトウェアの知識
- 通信技術の知識
- プロジェクトのマネジメントスキル
合格・不合格の判定はなく、正答率が高い順にA〜Cのグレードに分類されるのが特徴です。
また、800満点中どの分野で何点を獲得できたのか結果が返ってくるので、分野ごとに自分の理解度や弱点などを確認することができます。
一般社団法人組込みシステム技術協会から点数の証明書が発行されるので、組み込みソフトウェアに関するスキルや知識を客観的に証明する手段として有効です。
エンベデッドシステムスペシャリスト試験
エンベデッドシステムスペシャリスト試験は、独立行政法人情報処理推進機構(IPA)が認定する国家資格です。
難易度が高く、合格率は16〜18%前後と言われています。
以下のように出題範囲が非常に幅広いのが特徴です。
- 設計・実装・テストなどの開発スキル
- ソフトウェアの知識
- ハードウェアの知識
- ネットワークの知識
- セキュリティの知識
- 先端のIT技術の知識(IoT、AIなど)
そのため、試験勉強を通じて組み込み開発について体系的に学ぶことができます。
エンベデッドシステムスペシャリスト試験は、組み込み開発に関する幅広い知識を持っていることを証明できる資格なので、就職でも有利に働くでしょう。
また難易度が高く、合格するためには地道な勉強が必要です。
資格を取得することで、学習意欲が高いことをアピールすることにもつながります。
組み込みエンジニアは大変だがやりがいや将来性の高い仕事
今回は、組み込みエンジニアがやめとけと言われる7つの理由を解説しました。
あらためて、その理由を見てみましょう。
- 慢性的な人手不足
- 急な仕様変更が多い
- 納期のプレッシャーがある
- 残業が多い
- 求められる技術レベルが高い
- 常に勉強する必要がある
- バグの改修が大変
たしかに、人手不足のために1人あたりの業務量が多くなり、残業が多くなりがちだというのも事実です。
また、ハードウェアの仕様に大きく影響される・納品後の修正ができないなどの理由から、プレッシャーを感じてしまうでしょう。
しかし、悪いことばかりではありません。
組み込みエンジニアは大変ですが、需要が高まっており将来性のある仕事です。
また、IoTやAIなど先端のIT技術にも触れられます。
さらに、開発したシステムが日常生活で使われている様子を見ることもできるので、やりがいも大きいですよ。
最新の技術を使って日常生活のさまざまなシーンで貢献したい人は、組み込みエンジニアを目指してみましょう。