こんにちは、組み込みエンジニアのtomozoです。
今回は組み込みエンジニアの具体的な仕事内容について解説します。
- 組み込みエンジニアを目指している人
- 組み込みエンジニアの忙しさを知りたい人
- プログラマー系の仕事を探している人
向けの記事です。
周りに組み込みエンジニアとして働いている人がいて、
どんな仕事か聞くことができればいいのですが、
いない人が大半なので全然分からないものです。
tomozo
この記事を見てくださった方には、私のようにならないために
できる限り詳しく解説します。
分かった状態で仕事を始めれば、落ち着いてスタートすることができ
早くキャリアアップの道を進むことができます。
就職面接などでもよく勉強している!って一目置かれるかもしれません。
この記事を読めば
組み込みエンジニアの業務内容
が分かるようになります。
それでは、解説を始めます。
目次
組み込み機器開発と組み込みエンジニアの業務
組み込み機器開発において組み込みエンジニアが
どのようにかかわっていくのか解説します。
組み込みシステム開発の流れ
組み込みシステムの開発は大別すると次の1~6の流れで行います。
- 機器に搭載する仕様の決定
- システム設計
- ハードウェア・ソフトウェア設計
- プログラミング
- テスト
- 保守・市場対応
1.機器に搭載する仕様の決定
まず最初に開発する機器の仕様(スペック)を決めます。
ユーザーの声やニーズを調査し、
営業や商品企画の担当者が中心となって
こういった製品を作るという商品像を考えます。
この商品像に対して組み込みエンジニアは、
どういった技術的アプローチをすれば実現できるか、
予想開発期間などもアドバイスして
実現の可能性を高めて企画・仕様を決定します。
そして、会社の上層部に企画書のプレゼンを行い、
妥当性が認められると試作段階へと進んでいきます。
2.システム設計
まず、1で出来上がった企画の商品に対し、
メカエンジニアが機械の形・構成を設計します。
その後、メカのモデルをベースにシステムエンジニアや
ベテラン組み込みエンジニアがシステム設計を行います。
まだここでは具体的な設計ではなく、
どういったCPUを使うかなどのハードウェアの構成であったり、
ソフトウェアの資源の設計を行います。
例えば、このメカ機構はこういう風に制御する、
この制御にはこのハードウェアデバイスが必要など
メカ・ハード・ソフトウェアの全体的な構想を考えて
プロトタイプモデルのシステム設計書を作成します。
3.ハードウェア・ソフトウェア設計
システム設計書からベテランや中堅のエンジニアが
ハードウェア担当とソフトウェア担当に分かれて
詳細設計に落としこんで設計書を作っていきます。
ソフトウェアの設計書には、
- 何をどう動かすかといった言葉や絵で書いた制御仕様書
- タイミングチャートやフローチャートの図
を中心に作成します。
ちなみに設計書は、
マークダウンやUMLといった表記方法を使って書いたりする
エンジニアが多いです。
ここでしっかりと設計書を書いておかないと
次のプログラム作成時に
考え直さないといけなくなったりします。
設計書についてはこちらの記事に詳しく書いています。

4.プログラミング
ここでようやくプログラミングが出てきます。
3で作ったソフトウェアの制御仕様書などをベースに、
プログラムを書いていきます。
プログラミングはコーディングとも言ったりします。
tomozo
確かに主な仕事なのですが、実は組み込みシステム開発の一部に過ぎず
実際にプログラムを書いてる時間は思ったより長くないんですよね。
アルゴリズムを考えたり評価したりと他の仕事をしている時間のほうが長い
ことも良くあります。
ベテランになるほどプログラミング以外の仕事時間が長くなります。
実際のメカやハードウェアが用意できていれば、
プログラミングしながら部分確認も並行して進めて行きます。
WEB系などはパソコンがあれば色々確認しながら進められるのですが、
組み込み系の確認はハードウェアが必要なのでここが大きく違います。
組み込みエンジニアはC/C++でプログラミングをするのが大半です。
CPUの性能が低かったころは、速度を要求する部分を
アセンブリ言語でプログラミングしたりしていましたが今はほとんど使いません。
CPUのスタートアップという起動時の設定部分で使ったりする程度です。
最近の若い組み込みエンジニアはほとんど見ることもないし、
理解するのに手間と時間がかかるのでアセンブリ言語って聞いただけで
嫌悪感を感じる人もいます。
複雑な不具合(バグ)はアセンブリ言語を見て原因調査することもあります。
5.テスト
ここにきてようやく自分で作ったプログラムで
組み込みシステム機器を動かします。
組み込みエンジニアがモノに命を吹き込む感じで
いつになっても一番わくわくして楽しい時です。
組み込みエンジニアのテストは、デバッグや評価という言葉を使います。
このテストとプログラム修正を繰り返しながら品質を高めて商品となっていきます。
開発が進めば進むほど、「楽しさ<しんどさ・忙しさ」
の関係になってきます。
テストは仕様書や設計書をもとにその通り動いているか
確認を進めます。
普通に使って、仕様通り動くテストはやりやすいですが、
組み込み機器の場合、異常操作やハードウェアの故障など
予期しないことが発生した時も想定して設計、プログラミング
しないといけません。
仕様書でも初めから網羅することが難しく
経験の差が大きく出るところです。
組み込みソフトウェアは仕様通り動いて当たり前なので、
つらい立場です。
tomozo
6.保守・市場対応
商品をリリースしたらひと段落しますが、それで終わりではありません。
保守や市場対応といったユーザーへのサポートも
組み込みエンジニアの仕事です。
例えば、車であれば毎年のように機能を追加して
マイナーチェンジをするメーカーもありますよね。
また、何か不具合が見つかった時は当然早期解消しなけばいけないので
時には現在開発中の業務を中断して対応にあたります。
以上のように組み込みエンジニアの仕事内容は多岐に渡ります。
tomozo
- 読者に喜んでもらえるどんな記事を書くか構想設計
- ライバルリサーチや情報を集めてサイトに書く記事を詳細設計
- 記事作成
- 推敲
- アクセスチェック、リライト
ブログもいきなり自分の書きたい記事を書いて、
公開はしても読んでもらえないし読者の役に立つ記事は難しいですからね。
組み込みエンジニアの開発の流れはこちらの記事でも紹介しています。

組み込みエンジニアの忙しさ
ここでは組み込みエンジニアの忙しさについて紹介します。
組み込みエンジニアの一日
組み込みエンジニアは経験年数を重ねるほど、
プログラミングだけをする時間が減ってきます。
ベテランだと一日のうち60~80%位時間が取れたらいいほうです。
若いうちは任せられる業務も少ないので、
この期間にしっかりとプログラミング技術・知識を
習得し自分のものにしておきましょう。
残りの20~40%の時間は、
- 打ち合わせや会議、その場で使用する資料作成
- メールや電話など社内外の問い合わせ対応
- 部署運営のための業務や管理業務
などを行います。
具体的な業務例としては
- 競合の情報収集、関連技術の調査
- 技術共有をしたり他の開発チームのサポート
- 品質管理、購買、製造など関連部署との調整・連絡
などがあります。
今日ここまでやったら終わりと決められた仕事ではないので、
その日やることを自分でしっかり決めておかないと
何時だから終わりという働き方になってしまいがちです。
エンジニアの残業が増える原因ですね。
tomozo
組み込みエンジニアの一年
季節に応じた仕事の忙しさに波のある仕事をしている人から
「組み込みエンジニアに繁忙期ってあるの?」って
聞かれることがたまにありますが、
組み込みエンジニアに閑散期と繁忙期はありません。
基本的に暇なときはないといったほうがいいですね。
組み込み系企業・エンジニアは、
競争に勝ち抜くために次々と新しい製品開発を早く
続けていく必要があるからです。
組み込みエンジニアは常にやることがある状態で、
最近暇だなとかいうことはありません。
特に機器のリリース前になると仕上げで一番忙しいです。
他の仕事をしている人のことを聞いていると、
うらやましいと感じる時もあります。
以上のように組み込みエンジニアは一年中
忙しい状態です。
tomozo
会社の規模によって業務範囲は異なる
組み込みエンジニアの業務や普段を説明しましたが、
会社規模によって業務範囲は異なります。
中小企業
- 一つの製品に対し数人、時には一人の組み込みエンジニアで設計からテストまで担当
大手企業
- 設計:システムエンジニア
- プログラミング:プログラマー
- テスト:テストエンジニア
と担当が分かれています。
中小企業は、そもそも人が少ないから
限られた人数でやらざるを得ないのが理由です。
大企業は、人数をかけて製品開発をしますので
もし同じものをつくるのであれば早く、高品質・高機能なものが作れます。
ただし、中小企業の場合は小回りが利くので
途中で開発を中止し、すぐに違う製品に方向転換なんてこともできますが、
大企業の場合なかなか方向転換しにくいというデメリットがあります。
このように中小企業のほうが大手とは違い一人で多くのことをするので
幅広い経験を積むことができます。
そのためやる気のある人であれば、やりがいを持てますし
早く成長することもできるでしょう。
それでも大企業は給料や待遇がいいですし、悩ましいところですね。
外部委託開発
組み込み系の仕事は外部委託することもあります。
アウトソーシングといいます。
会社によって委託する側、委託される側の両方があります。
委託する側の場合は、こういったものを作ってほしいという
きっちりとした仕様を作り、委託される側は、
提供される要求仕様に従いその通りのものを作ります。
外部委託すると進捗管理や打ち合わせなどの業務が頻繁に行われます。
組み込みエンジニアをしていると、外部委託をすることもあるので
しっかり仕様を書いたり、要求されるものを正確に
プログラミングするという経験を通じてより成長することができます。
まとめ
組み込み機器開発と組み込みエンジニアの業務
- 機器に搭載する仕様の決定
- システム設計
- ハードウェア・ソフトウェア設計
- プログラミング
- テスト
- 保守・市場対応
組み込みエンジニアは年中忙しい職業
中小企業の組み込みエンジニアは幅広い業務経験が積める
こちらの記事で組み込みエンジニアについてまとめています。
もしよければ読んでみてください。

組み込みエンジニアについてこんなことが知りたいとか
ここが良く分からないなどコメントもしくはお問い合わせ
いただけると励みになります。