車載組み込みソフトをひとことで言うと、「クルマを動かすために、クルマの“中”で動くソフト」です。エンジンやブレーキ、ハンドルといった機能を、目に見えないところで制御しているのがこのソフトです。

この記事を読むと分かること

  • 車載組込みソフトと一般的な組込みソフトの違い
  • 仕事内容と、覚えることの全体像(マイコン・製品固有・車載標準)
  • 激務なのかという実情(残業時間は前職と比べてどうか)

前職 機械系のテストエンジニア転職 プログラミングほぼゼロから残業 年300500時間


だいき
現役の車載組み込みソフトエンジニア
前職では機械系のテストエンジニア(製品の不具合解析や評価方法の検討)として働いていました。その後、プログラミングはほぼゼロ知識の状態から車載組込みソフトのエンジニアへ転職し、現在も現役で開発しています。

車載組込みソフトとは?まず結論から

車載組込みソフトとは、自動車に搭載されたECU(電子制御ユニット)の中で動くソフトウェアのことです。

車載組込みソフトの定義(クルマの中で動くソフト)

組込み(エンベデッド)ソフトとは、特定の機能を実現するために、機械やモノの“中”に組み込まれたコンピュータを動かすソフトのことです。そのなかでもクルマに搭載されるものが「車載組み込みソフト」です。

スマホアプリやWebサービスのように画面の中で完結するのではなく、エンジン・ブレーキ・ハンドル(EPS)といった現実のモノを実際に動かすのが車載組込みソフトの特徴です。アクセルを踏めば加速し、ボタンひとつでドアミラーがたたまれる。
その裏側を制御しているのがこのソフトです。

ECUとは?ソフトが動く「車の中のコンピュータ」

車載組込みソフトは、ECUと呼ばれる小さなコンピュータの中で動きます。1台のクルマには、エンジン用・ブレーキ用・ハンドル用…と、用途ごとに数十〜100個以上のECUが載っていることも珍しくありません。

ECU(Electronic Control Unit/電子制御ユニット)
クルマの各機能を制御する小さなコンピュータ。車載組込みソフトはこの中で動く。
マイコン
「マイクロコントローラ」の略。ECUの“頭脳”にあたる1チップのコンピュータ部品。
1台のクルマに載る主なECUの配置図。前方にエンジンECU、運転席にハンドルECU、四輪側にブレーキECU、後方にボディECUがあり、すべてが1本のCANバスでつながっている
図:ECUは機能ごとにクルマの各所へ分かれて載っている。1台に数十〜100個以上あることも珍しくなく、それらが1本のCANバスでつながってデータをやり取りする。

いま増えているのは運転支援・電動化・情報系

車載ソフトが扱う範囲は、エンジンやブレーキだけではありません。ADAS(先進運転支援システム)は、前方の障害物を検知して自動で減速します。電動化まわりの制御は、モーターの回転数やバッテリーの状態を管理します。カーナビやスマートフォン連携を担う情報系(インフォテインメント)もあります。これらがいずれも1台のクルマの中で動いています。ソフトで実現する機能が増えたぶん、ECUの数も開発の規模も大きくなりました。

一般的な組込みソフトと何が違うのか

車載ソフトは人の命に関わるため、一般的な組込みより品質・安全への要求が厳しく設定されています。

同じ組み込みでも、車載は品質・安全への要求の厳しさが大きく違います。

比較表:車載 vs 一般的な組込み

家電などの一般的な組込みソフトと比べると、車載は次のような違いがあります。

比較項目 車載組込みソフト 一般的な組込みソフト(家電など)
不具合の影響 人の命に直結しうる 多くは製品の故障・不便にとどまる
安全・品質要求 非常に厳しい(国際規格・OEM要求) 製品による(比較的ゆるいものも多い)
開発規模 大規模(多人数・多数のECU) 小〜中規模が多い
納期 毎年の新車に合わせて厳しい 製品サイクルによる
機能 車載特有の機能あり(CAN通信・故障診断など) 製品による

※OEM…自動車メーカー(完成車メーカー)のこと。部品メーカーはOEMからの要求に沿って開発します。

【体験談】人の命に関わるから要求が桁違いに厳しい

クルマは人の命に関わる製品。そのため安全に対する要求が桁違いに厳しく設けられており、求められる要求は何層にもなります。具体的には、OEM(自動車メーカー)からの要求、社内の安全要求、そしてISO 26262のような国際規格の要求です。これらが積み重なり、あらゆる業界の中でもトップレベルの品質・安全基準が課されます。

機能安全
故障が起きても危険な状態に陥らないよう、あらかじめ設計で安全を作り込む考え方。
FMEA(故障モード影響解析)
部品や機能が壊れたとき、どんな影響が出るかを一つずつ洗い出す手法。
FTA(故障の木解析)
好ましくない事象から原因をさかのぼって木構造で分析する手法。
機能安全の対応をしたときのこと
私自身も、業務の中で機能安全の対応をしたことがあります。なかでも大変だったのが、製品全体の機能に対して故障モードをすべて解析する作業です。あるときは5人がかりで約3か月、毎日9時から22時までかかりきりになりました。正直、めちゃくちゃ苦しかったです。
ただ、こうした要求の厳しさが日本のクルマの信頼性を支えています。大変さと品質は表裏一体だと実感しています。

機能安全の国際規格について、公式情報はISO 26262(Road vehicles — Functional safety/ISO公式)で確認できます。

つながるクルマで増えたもう1つの要求|サイバーセキュリティ

クルマが外部ネットワークにつながったことで、サイバーセキュリティ対策が保安基準に加わりました。

パソコンがセキュリティの脅威にさらされるようになったのは、インターネットにつながってからです。クルマも同じで、外部のネットワークに常時つながり、無線でソフトウェアを更新(OTA)できるようになったことで、攻撃される入り口が生まれました

これは会社ごとの方針ではなく、保安基準として決まっています。国連WP29で、UN-R155(サイバーセキュリティ)とUN-R156(プログラム等改変システム)が新規則として採択されました。これを受けて日本でも、保安基準の細目を定める告示の別添120「サイバーセキュリティシステムの技術基準」に取り込まれています。適用時期は車両によって分かれます。

OTA対応無線でソフト更新できる車両新型は令和4年7月1日から、継続生産車は令和6年7月1日から。
OTA非対応無線更新に対応しない車両新型は令和6年1月1日から、継続生産車は令和8年5月1日から。

求められるのは3つです。リスクアセスメント(リスクの特定・分析・評価)とその対処。対策が有効かどうかを確かめる試験。そして、危険なアップデートを防ぐ仕組みです(国土交通省「サイバーセキュリティ及びプログラム等改変システムに係る基準(UN-R155及びUN-R156)」)。

機能安全が「壊れたときに危なくしない」なら、こちらは「攻撃されたときに危なくしない」です。守る対象が増えたぶん、確認することも増えました。ソフトを書く側から見ると、通信の入り口をどう塞ぐか、書き換えを誰に許すかといった観点が、レビューの項目として増えていきます。

車載組込みエンジニアの仕事内容と必要な知識

車載組込みエンジニアに必要な知識は、マイコン・製品固有の機能・車載特有の標準機能の3つです。

開発の流れ(仕様→設計→実装→テスト)

車載組込みソフトの開発は、おおまかに次の流れで進みます。

  1. 仕様の理解・要求分析:この機能で何を実現したいかを読み解く
  2. 設計:処理の構造や状態遷移を設計書にまとめる
  3. 実装(コーディング):主にC言語でマイコンを動かすプログラムを書く
  4. テスト・デバッグ:実機やシミュレータで動作と安全性を検証する

とくに車載では、この流れを丁寧に進める「V字開発」という進め方が一般的です。コードを書く以外に、仕様を読む・設計する・検証する作業が想像以上に多いのが特徴です。
V字開発では、左側で決めたことを右側の同じ高さで確かめます。要求分析で決めたことは車両で、ソフト設計で決めたことは結合テストで確認する、という対応があらかじめ決まっています。

V字開発の図。左が要求分析・システム設計・ソフト設計・実装と下り、右が単体テスト・結合テスト・システムテスト・車両での確認と上がる。左右の同じ高さが対応している
図:左で決めた1段ごとに、右の同じ高さで確かめる相手が決まっている。そのため「何を確認すればよいか」が設計の時点で決まる。

【体験談】とにかく覚えることが膨大だった

車載組込みに転職して一番苦労したのが、業務知識の量です。前職の機械系テストエンジニア時代と比べて、求められる知識量は体感で10倍以上に感じました。具体的には、次のような知識が必要になります。

  • マイコンの知識:マイコンには膨大な機能があり、動かすだけでも「どう設定するか」をマイコンのマニュアル(データシート)から読み取ってソフトに反映する必要がある
  • 製品固有の機能:エンジン系、ハンドル系(EPS)、ブレーキなど、担当する製品ごとの制御知識
  • 車載特有の標準機能:各ECUに必ず搭載されるCAN通信ダイアグ(故障診断)の知識


// CAN通信を先に知る
CAN通信のフレーム構造とプロトコル|どこまでがCANで、どこからが違う規格か

マイコンを触りはじめた1〜2年目のこと
「マニュアルを見ればできそうじゃん」と思われがちですが、実際にやると本当に難しいです。私が1〜2年目のころは、そもそもデータシートの読み方が分からず、レジスタ(設定用のスイッチのようなもの)の機能を理解するだけでも苦しみました。マニュアルどおりに設定したつもりでも動かず、原因を探して何日も悩む。そんなことの連続でした。
大変な分やりがいはありますし、技術力を伸ばしやすい業界でもあります。意欲が高い人や、クルマ好きな人に向いています。
マイコン① マイコンの知識

  • データシートの読み方
  • レジスタ設定
  • 周辺機能の使い方
製品固有② 製品固有の機能

  • エンジン系の制御
  • ハンドル系(EPS)
  • ブレーキの制御
車載標準③ 車載特有の標準機能

  • CAN通信
  • ダイアグ(故障診断)
図:車載組込みエンジニアが習得する知識の全体像。前職と比べて覚えることは体感10倍だった

車載開発は激務?「鬼のように短い」開発サイクルの現実

筆者の残業時間は、前職の年間300時間から車載組込みでは年間500時間に増えました。

タイトルにも入れた「激務なの?」という疑問ですが、結論は「ラクではありません」です。

自動車は毎年、新しいモデルがたくさん登場します。これはエンジニアの努力の賜物で、現場は基本的に毎回ギリギリの納期の中で開発しています。しかも年々、要求される機能は増えるのに、開発に使える期間はどんどん短くなる傾向があります。

前職と今の残業時間
忙しさを具体的な数字にすると私の場合、残業は前職(機械系(車載)の評価職)で年間300時間ほどでした。それが車載組込みに来てからは年間500時間ほど(月平均で40時間強)に増えています。あくまで私個人の例で、会社・部署・時期によって差はありますが、楽になったとは言えません。
ただ、業務量が多いぶん、技術やノウハウを身につける機会はとても多いのも事実です。「ワークライフバランス最優先」よりも「まずは手に職をつけたい」という人には、むしろ合っている業界だと感じます。

未経験から車載組込みを目指す人へ

車載組込みの未経験採用では、入社前に高いプログラミング力は求められません。

「大変そうだけど、未経験から目指せるの?」という質問への答えは「目指せます」です。ただし、入社前に知っておいてほしいことがあります。

【体験談】ゼロ知識で飛び込んで苦労した話

私は、組込みの知識がほぼゼロの状態でこの業界に転職しました。未経験・ゼロ知識でも転職自体はできます。

ただし入社後はかなり苦労しました。マイコン・製品固有の機能・車載標準機能と覚えることが膨大なので、ゼロ知識で入ると最初は頭がパンクします。「入社までの間に、ある程度勉強しておけばよかった」というのが、当時の一番の反省です。

入社前・入社直後にやっておくとよいこと

未経験から目指すなら、入社前に次の2つへ触れておくと入社後の立ち上がりが変わります。

  • C言語の基礎:車載組込みの実装はC言語が中心。文法だけでも先に触れておくと入社後がぐっと楽になる
  • 実物のマイコンで手を動かす学習:Arduinoなど安価なマイコンで「ソフトでモノを動かす」感覚をつかんでおく

よくある質問(FAQ)

未経験でも車載組込みエンジニアになれる?

なれます。筆者自身、組込みほぼゼロ知識から転職しました。組込み業界は慢性的な人手不足で、未経験歓迎・ポテンシャル採用の求人も一定数あります。ただし入社後に覚えることが多いので、C言語など基礎を少しでも先に触れておくと、立ち上がりがぐっと楽になります。

プログラミング未経験・文系でも大丈夫?

未経験からでも目指せます。筆者もプログラミングはほぼ未経験でした。ただ、マイコンや回路を扱う場面で理系の知識があると有利なのは事実です。文系だから無理ということはありませんが、技術を学び続ける姿勢は必要になります。

車載ソフトで使う言語は?

C言語が中心で、一部C++も使われます。マイコンを直接制御するため、ハードウェアに近い処理を細かく書けることが求められるからです。まず学ぶならC言語から始めてください。

車載組込みの将来性は?

あると考えています。自動運転や電動化(いわゆるCASEの流れ)で、クルマに載るソフトの量はむしろ増え続けています。クルマがある限り車載組込みの需要はなくならず、人手不足も続いているため、未経験者にとっては追い風の状況です。

やっぱり激務?残業は多い?

ラクではありません。納期が厳しく、年々要求機能も増えるため、忙しい時期はあります。筆者の場合、残業は前職より増えて年間500時間ほど(月平均40時間強)でした。あくまで個人の例で会社や時期によりますが、その分、技術が身につくスピードは速い業界です。「手に職をつけたい」人には向いています。

まとめ|車載組込みソフトは大変だが伸びる業界

  • 車載組込みソフトは「クルマを動かすために、ECU(車の中のコンピュータ)で動くソフト」
  • 一般の組込みと違い、人の命に関わるため品質・安全要求が桁違いに厳しい
  • マイコン・製品固有機能・CAN・ダイアグなど覚えることが膨大
  • 納期は厳しく忙しい(筆者は残業が前職より増加)。ただし技術が伸びやすい
  • 未経験でも目指せる。入社前にC言語や実マイコン学習に触れておくと楽

大変な業界ですが、その分やりがいも技術の伸びも大きいのが車載組み込みです。車載の求人に応募するときの志望動機の書き方は車載・自動車の組込み求人に出す志望動機にまとめました。

// あわせて読みたい
組込みエンジニアの年収はいくら?公的データの分析と現役エンジニアの私の給料を公開


// あわせて読みたい
未経験から組み込みエンジニアになるには?50社応募でわかった準備の全部


// あわせて読みたい
組込みエンジニアの将来性は?現役が需給データと現場の実感で回答


// あわせて読みたい
組み込みエンジニアとは?仕事内容を現役エンジニアが解説【未経験・就活生向け】

車載を目指すと決めたら、次は順番です

何をどの順番で学び、どう転職活動を進めるのか。私が実際にたどった道のりを一枚のロードマップにまとめました。入社前にC言語と実物のマイコンへ触れておくと、立ち上がりが変わります。

学習ロードマップを読む