組み込みソフトウェアエンジニアとは?仕事内容・必要なスキル・キャリアパスを解説!

宇宙機に搭載されるコンピュータで動作する組み込みソフトウェアの設計・開発・テスト・保守を担う職種です。
ソフトウェア開発者として経験を積みながら、ソフトウェアシステム全体を設計するシステムエンジニアへとキャリアを広げていきます。
※推定年収は、関連職種の公的統計および宇宙業界の直近の求人市場データに基づく推計値です。経験やスキル等により実際の金額は異なります。
記事のまとめ
  • 組み込みソフトウェアエンジニアとは、宇宙機搭載コンピュータの組み込みソフトウェアを設計・開発する職種です。
  • 組み込みソフトウェアエンジニアに求められるスキルは、ソフトウェアエンジニアリングとプログラミングです。
  • 組み込みソフトウェアエンジニアの平均年収は650万円
目次
組み込みソフトウェアエンジニアの主な仕事は、「ロケットや人工衛星に搭載されるコンピュータで動作するソフトウェアを設計・開発し、宇宙空間で正しく動作することをテストで確認すること」です。
ここでは、組み込みソフトウェアエンジニアの仕事内容や、組み込みソフトウェアエンジニアの役割について解説していきます。
組み込みソフトウェアエンジニアは、宇宙機に搭載されるコンピュータの組み込みソフトウェアを開発する仕事です。
ソフトウェアシステムエンジニアが設定した仕様に基づき、姿勢制御や通信、データ処理などあらゆる機能を制御するプログラムを設計・実装します。シミュレーションによる動作解析やテストも行い、宇宙空間の過酷な環境でも確実に動作するソフトウェアを作り上げます。

組み込みソフトウェアエンジニアは、宇宙機の「頭脳」を作る重要な存在です。たとえば、GPS衛星が正確な位置情報を送り続けられるのも、気象衛星が天気予報用のデータを地上に届けられるのも、搭載されたソフトウェアが正しく動いているからです。組み込みソフトウェアエンジニアの開発なくして、宇宙機は宇宙空間で正しく機能することができません。
  

宇宙スキル標準を参考に、このロールが担う業務を紹介します。
ソフトウェア系の設計
宇宙機の各機能を制御する組み込みソフトウェアを設計する業務です。
たとえば、姿勢制御、通信、データ処理など複数の機能を一つのシステムとして統合し、全体が最適に動作するようにソフトウェアの設計図を作成します。求められる性能や安全性の条件を満たしつつ、宇宙空間での過酷な環境にも対応できる設計を行います。
ソフトウェア系の解析
開発中のソフトウェアがさまざまな条件のもとで正しく動くかをシミュレーションで確認する業務です。
たとえば、宇宙空間での温度変化や放射線の影響を想定した環境でソフトウェアの動作を解析し、設計が求められる性能を満たしているかを検証します。問題が見つかれば設計にフィードバックして改善します。
ソフトウェア系の製造
設計図に基づいてプログラムを実際に作成する業務です。
たとえば、設計で決めた仕様どおりにプログラムを書き、モジュール(機能ごとのプログラムのかたまり)を組み合わせてシステム全体を構築します。プログラムの不具合(バグ)がないかデバッグ作業も行い、宇宙で確実に動作するコードを作り上げます
 
ソフトウェア系の試験
完成したソフトウェアが設計どおりの機能・性能を発揮するかを実際にテストで検証する業務です。
たとえば、各モジュールを統合した状態で動作テストを行い、求められる機能がすべて正しく動くことを確認します。安全性や信頼性の基準を満たしているかも厳密にチェックし、打ち上げ前の最終確認を行います。
 
前職でこんな仕事をしていた方におすすめ!
  • 自動車/医療機器/家電などでC/C++を使った組み込みソフトウェア開発をしていた人
  • ロボット/FA機器などでリアルタイムOS上のソフトウェア設計・実装をしていた人
  • MATLAB/Simulinkなどでモデルベース開発やシミュレーション検証をしていた人
組み込みソフトウェアエンジニアの仕事には、他では味わえない大きな魅力・やりがいがあります

この仕事の一番の魅力は、自分が書いたプログラムが実際に宇宙空間で動くという、他の業界では味わえない経験ができることです。
一般的な組み込み開発と異なり、宇宙では修理やアップデートが難しいため、極めて高い品質が求められます。たとえば、放射線に耐えるプログラムの設計や、限られた計算リソースのなかで最適な制御を実現するといった技術的な挑戦が日常的にあります。ソフトウェアエンジニアとしての技術力を極限まで高められる仕事といえるでしょう。

この仕事のやりがいは、自分が開発したソフトウェアで動く宇宙機が、人々の生活を支えるサービスを提供していることです。GPS、天気予報、テレビ中継——これらすべてが宇宙機のソフトウェアなしには成り立ちません。「自分がプログラムを書いた衛星が、今この瞬間も宇宙で働いている」
——そう実感できることが、この仕事ならではの大きなやりがいです。

  
宇宙スキル標準を参考に、この職種が担うスキルを紹介します。
求められるスキルをまとめると、 「ソフトウェア開発の中核スキルに加え、ハードウェア連携や宇宙環境対応など『設計・解析系』のスキル」が多く求められます
モデルベース開発
コンピュータ上のシミュレーションモデルを使い、設計と検証を並行して進めるスキル

詳しく見る

ソフトウェアエンジニアリング
制御系や通信系などの組み込みソフトウェアを体系的に設計・開発・管理するスキル

詳しく見る

プログラミング
宇宙機の制御や通信に必要なプログラムを作成・テスト・デバッグするスキル

詳しく見る

AI・機械学習
異常検知やデータ解析、衛星の自律運用などにAI技術を活用するスキル

詳しく見る

データサイエンス
大規模なデータを分析し、問題解決に必要な知見を引き出すスキル

詳しく見る

回路設計・解析
ソフトウェアが動作する電子回路の設計・解析を理解するスキル

詳しく見る

コンピュータ設計・解析
宇宙機搭載コンピュータのデジタル信号処理や制御・通信を設計するスキル

詳しく見る

電気的インターフェース設計・解析
電力供給や信号処理など、異なるシステム間の接続を設計・解析するスキル

詳しく見る

宇宙環境条件の反映(設計・解析)
宇宙空間の温度変化や放射線などを考慮した設計・解析を行うスキル

詳しく見る

機能性能試験
開発したソフトウェアが設計どおりの機能・性能を発揮するかをテストで検証するスキル

詳しく見る

放射線試験
宇宙放射線に対する電子機器やソフトウェアの耐性を確認する試験を行うスキル

詳しく見る

転職に有利な「地上の資格・経験」 一部はスキル標準でも参照されていますが、ここでは「標準外」のものも含め、未経験者が転職活動でアピールしやすい資格を参考として紹介します。
組み込みソフトウェアエンジニアに役立つ資格

  • 応用情報技術者試験
  • エンベデッドシステムスペシャリスト試験
  • 基本情報技術者試験
  • 技術士(情報工学部門 / 航空・宇宙部門)
  • システムアーキテクト試験
  • ETEC(組込み技術者試験)
  • JSTQB認定テスト
  • 技術者資格 E資格(日本ディープラーニング協会)
  • UMTP認定資格(UMLモデリング)
  • データサイエンティスト検定
組み込みソフトウェアエンジニアの年収は、担当するソフトウェアの規模や専門性によって変動します。宇宙業界ではロケットと衛星で求められるソフトウェアの種類が異なり、対象機種によって年収水準にも差が出ます。政府の大型プロジェクト(官需)と民間の商業プロジェクト(民需)でも規模が異なります。経験を積んでソフトウェアシステム全体を設計するシステムエンジニアやPMへステップアップすることで年収はさらに上がっていきます。
STEP
現場で基礎を身につける
先輩エンジニアのもとで、既存ソフトウェアのテスト作業やコードレビューの補助を担当します。宇宙機特有のソフトウェア開発プロセスやコーディング規約を実務を通じて学んでいきます。
STEP
主担当として独り立ちする
特定のモジュール(たとえば通信系やデータ処理系など)のソフトウェア設計・実装を自力で担当できるようになります。シミュレーションによる動作検証やテストの計画・実施も主導します。
STEP
専門リーダーとしてチームを率いる
ソフトウェア開発チーム全体を統括し、後輩エンジニアを指導するポジションに就きます。自動車業界でいえば「組み込みエンジニアからソフトウェアアーキテクト」への昇格に近い変化です。ソフトウェアシステム全体のアーキテクチャ設計や品質管理を担います。
STEP
組織・プロジェクト全体を統括する
ソフトウェアにとどまらず、宇宙機全体のシステム設計やプロジェクト全体の意思決定に関わるポジションに就きます。宇宙スキル標準における「システムアーキテクト」や「プロジェクトマネージャ(PM)」として、ソフトウェアとハードウェアを統合した宇宙機システム全体を統括します。

関連する記事を見る

宇宙業界の組み込みソフトウェアエンジニアに最も必要なのは、「限られた計算リソースと過酷な宇宙環境のなかで確実に動作するソフトウェアを設計・開発する技術力」です。理系のバックグラウンドが多い職種ですが、組み込みソフトウェアの開発経験があれば業界を問わず活躍の可能性があります。「自動車や医療機器でのC/C++組み込み開発の経験」や「リアルタイムOSでのソフトウェア設計の経験」は、宇宙業界でもそのまま強みになります。まずは宇宙機にどのようなソフトウェアが搭載されているのかを調べることから始めてみましょう
目次