転職相談に、求人票で意味が分からなかった単語を自分で書き出したメモを持ってくる方がいます。先日のNさん(31歳・経験9年の組み込みエンジニア)のメモは23個。「冪等」「ロードバランサ」「CI/CD」と並んでいる一方で、割込み優先度の逆転なら15分は語れる人です。

私はIT・Web業界を中心に800名以上の転職支援に携わっていますが、組み込みからWeb系への転職では、経験がそのまま評価される場面と、一瞬で止まる場面の境目がかなりはっきりしています。今回は、その境目を求人票の文言ごとに整理し、どこへ行けば経験が活き、何をどの順番で学び直せばいいのかをお伝えします。

今回は、次の内容に沿ってご紹介します。

  • C/C++・RTOSの経験が、Web系の書類選考と技術面接で評価される場面と、止まる場面の具体例
  • 求人票の必須要件の文言ごとに、何を見られているか・組み込み経験のどこを接続点にできるか
  • Web系・IoT/クラウド連携・車載ソフトのうち、どこなら経験を活かしやすいかの線引き
  • Git/Linuxから始めてCI/CDまで、手持ち資産に近い順の学び直しの順番
目次
  1. 組み込みエンジニアがWeb系に転職するとき、C言語の経験はどこまで通用するのか
  2. 評価される場面、メモリ管理・低レイヤー・品質プロセス
  3. メモリとリソースに対する感覚
  4. 並行処理とタイミングの理解
  5. 品質プロセスとテスト設計
  6. ハードウェアを疑う切り分け力
  7. 止まる場面、HTTP・RDB・クラウド・CI/CD・PR運用
  8. 求人票の必須要件の読み方、必須と歓迎で線を引く
  9. RTOS・割込み・メモリ制約をWebの言葉に言い換える
  10. 行き先の線引き、Web系・IoT/クラウド連携・車載ソフト
  11. 年収はどう動くか、dodaの職種別平均で見る
  12. 学び直しの順番、手持ち資産に近いところから埋める
  13. Git・Linuxで開発の共通基盤を固める
  14. HTTP/RESTで機器間通信の経験を接続する
  15. RDB/SQLで最も止まりやすい壁を越える
  16. AWSとCI/CDで形にする
  17. 題材は組み込みのまま、受け側をWebで作る
  18. よくある質問
  19. まとめ、組み込みの経験は活きる、ただし翻訳が前提になる

組み込みエンジニアがWeb系に転職するとき、C言語の経験はどこまで通用するのか

Nさんは産業機械メーカーで、工作機械向けの制御ソフトウェアを書いてきた方です。言語はC中心で、RTOS上のタスク設計、割込み処理、通信ドライバの実装までを一人で回してきました。次の10年を考えたとき、機械が出荷されたら基本的に手を離れる仕事より、サービスを改善し続ける仕事がしたいと、Web系の自社開発企業を受け始めました。

最初の応募先はSaaSのバックエンド求人ばかりの8社です。書類を通ったのは2社。そのうち1社の技術面接で、Nさんは割込みとタスクの関係を図に描いて丁寧に説明したのですが、面接官の最後の質問は「そのAPIに同時に1万件リクエストが来たら、どこが詰まりますか」でした。DBの話もキャッシュの話もできず、そこで終わったそうです。

ここで大事なのは、Nさんの技術力が低かったわけではないという点です。同時実行の制御、リソースの上限、タイミングの設計といった考え方自体は、質問と同じ土俵にあります。ただ、面接官が使う言葉(コネクションプール、インデックス、キャッシュ)で答えられなかったため、持っている力が「通じない」形になってしまいました。

私の見ている範囲では、組み込みからWeb系への転職で止まる理由の大半は、言語の習熟度ではなく、Webの共通言語(HTTP・DB・クラウド・CI/CD)で自分の経験を語れるかどうかにあります。裏を返せば、そこさえ埋まれば、組み込みで鍛えた土台は他の職種出身者にない強みとして評価されます。

ちなみにNさんはその後、応募先を「IoTプラットフォーム・クラウド連携」の求人に切り替え、5社中3社で書類を通過、1社から内定を得ました。年収は現職より約20万円下がる提示でしたが、入社後にクラウドの実務が積める環境かを面談で確認し、承諾しています。この結果はあくまでNさん個人の例で、同じ流れで誰でも決まる保証はありません。

評価される場面、メモリ管理・低レイヤー・品質プロセス

まず、組み込み経験が評価される場面から整理します。私が企業側の採用担当者やエンジニアから聞いてきた範囲では、評価の軸は次の4つに集約されます。

メモリとリソースに対する感覚

組み込みではRAMもフラッシュも数十KB〜数MBという世界で、ヒープの断片化やスタックオーバーフローを自分で追いかけた経験があります。Web系では、メモリが潤沢にある前提で開発が進むため、「このコードはメモリをどれだけ使うか」を考える癖がそもそも薄い現場も少なくありません。

ところが、コンテナのメモリ上限、大量データのバッチ処理、リクエストの増加に伴うGC負荷など、リソースの限界はWebでも必ず顔を出します。そこで使用量を見積もってから書く感覚は、パフォーマンス改善やコスト削減の場面で目に見える価値になります。

並行処理とタイミングの理解

RTOSのタスク設計、優先度、排他制御、割込みの扱いは、Webでいう非同期処理やジョブキュー、競合制御と構造が近い領域です。デッドロックや優先度逆転を実機で追いかけた経験のある方は、マルチスレッドの不具合を再現・特定する力が高いことが多く、これは技術面接で響きます。

ただし、ここは翻訳が必要です。「タスク優先度を設計した」だけでは伝わらないため、Web側の概念(スレッド、キュー、ロック)に対応づけて語る必要があります。この翻訳の仕方は後半で詳しく扱います。

品質プロセスとテスト設計

車載や産業機械の現場にいた方は、要件定義・設計レビュー・結合試験・実機評価・不具合の再発防止まで、品質を担保する工程を一通り回しています。MISRA Cのようなコーディング規約への準拠や、トレーサビリティの管理を経験した方もいるでしょう。

Web系の開発では、スピード重視でレビューやテストが薄くなりがちな現場も実際にあります。そのため、品質を作り込む手順を知っている人は、決済や医療、金融など止まると困るシステムを扱う企業で重宝されます。QAや品質保証寄りの職種にも、この経験はそのまま接続できます。

ハードウェアを疑う切り分け力

オシロスコープやロジックアナライザを使って、ソフトの問題かハードの問題かを切り分けた経験は、Web系ではネットワークやミドルウェアの層を一つずつ疑っていく障害調査に似ています。「ログがなければ仕込む、再現しなければ条件を絞る」という姿勢は、現場のSREやバックエンドエンジニアに共通する資質です。

ポイント: 評価されるのは「C言語が書ける」こと自体より、制約の中で動くものを作り、壊れたら原因を切り分けてきた経験です。言語は後から変えられますが、この姿勢は後から身につけにくいものです。

止まる場面、HTTP・RDB・クラウド・CI/CD・PR運用

次に、止まる場面です。ここは書類選考と技術面接で、見られている中身が少し異なります。書類では求人票の必須要件にある単語が経歴に出てくるか、面接ではその単語の使い方を実際に説明できるかが見られます。

典型的な5つの要件文言と、組み込み経験との接続点を表にまとめました。

求人票の要件文言書類・面接で見られていること組み込み経験の接続点
REST APIの設計・開発経験HTTPメソッド、ステータスコード、認証、エラー設計を理由つきで説明できるか機器間の通信プロトコル設計(UART、CAN、MQTTなど)、リトライ・タイムアウトの設計
RDBの設計・チューニング経験テーブル設計、インデックス、N+1問題などを自分の言葉で語れるか設定値や履歴データの構造設計、SQLiteなど組込みDBの利用経験
AWSなどクラウドの利用経験マネージドサービスの使い分け、構成を図で説明できるかIoT機器とクラウドの連携、テスト環境の仮想化
CI/CD・IaCの経験ビルド・テスト・デプロイの自動化を、自分で組んだ経験があるかビルドサーバ、クロスコンパイル環境、リグレッションテストの自動実行
GitHubでのプルリクエスト開発ブランチ戦略、レビューの回し方、マージまでの運用に慣れているか設計書・ソースのレビュー経験、バージョン管理システムの運用

この表の左と右を見比べると分かるとおり、接続点は確かにあります。ただ、接続点があることと、書類に書けていることは別問題です。私が応募書類を見る限り、組み込み出身の方の職務経歴書は「制御ソフトウェアの設計・実装を担当」のような機器側の言葉で止まっていて、右列の接続点が書かれないまま提出されている例が圧倒的に多いのが実情です。

もう一つ、見落とされがちな止まり方があります。リリースの感覚の違いです。組み込みでは、出荷した機器のソフトを後から直すコストが大きいため、リリースは慎重に・少なく・大きく行う文化です。一方、Web系では1日に何度もデプロイするチームもあり、「小さく出して、直す」のが前提になっています。この感覚の差は、面接で「リリースの頻度はどのくらいでしたか」と聞かれたときの答え方に表れ、ここで文化の差を感じ取られて見送りになるケースもあります。

実際にWeb系で書類が通りにくい要因を、私は次の3つに分けて見ています。

書類で止まりやすい3つの要因

  • Web側の用語(API、DB、クラウド、CI/CD)が経歴に一つも出てこない
  • 業務内容が機器の名前や社内システム名で書かれていて、仕事の中身が伝わらない
  • 「Webは未経験なので学習中です」とだけ書き、何を作って何が分かったかが書かれていない

3つ目は特に損をしている書き方で、学習中と書くだけでは評価されないのがWeb系の書類選考の現実です。学習中ならば、何を作ったのか、どこで詰まって、どう解決したのかを一行でも書く必要があります。

求人票の必須要件の読み方、必須と歓迎で線を引く

Web系の求人票は、同じ「バックエンドエンジニア」でも、書いてある要件の重さが企業によってかなり違います。組み込み出身者が応募先を選ぶときは、次の順番で読むと無駄打ちが減ります。

組み込み出身者の求人票の読み方

  • 必須欄に書かれた言語・フレームワークを見る。C/C++やGoなら距離が近く、Ruby/PHP/Javaなら学び直しが必要
  • 経験を求める動詞を見る。「設計・開発」は実装経験、「運用・保守」は運用経験、「構築」はインフラ経験を求めている
  • クラウドやCI/CDが必須か歓迎かを見る。歓迎なら入社後に覚えられる余地がある
  • 「ハードウェア連携」「ファームウェア」「エッジ」の文言があるかを見る。あれば組み込み経験者を想定している求人

たとえば「Webアプリケーションの開発経験3年以上」が必須に書かれている求人は、組み込み出身者にはかなり厳しい条件です。一方で「バックエンドの開発経験、またはC/C++等での開発経験」と並列で書かれていれば、応募する価値があります。同じ職種名でも、この一文の違いで通過率はまったく変わります。

私が組み込みの方に紹介するとき、まず見るのは「歓迎」欄です。クラウドの利用経験が歓迎に回っている求人は、入社後に学ぶ前提で採用していることが多く、組み込みで培った土台を評価してもらいやすい傾向があります。

求人票を読み慣れていない場合は、似た構造の相談を扱ったバックエンドエンジニアの面接でDBとシステム設計のどちらを対策すべきかも参考になります。応募先の技術スタックから面接で深掘りされる領域を推測する考え方は、組み込み出身者にもそのまま使えます。

RTOS・割込み・メモリ制約をWebの言葉に言い換える

職務経歴書で最も効果が出るのは、経験の言い換えです。事実を変えるのではなく、同じ事実をWeb側の言葉で書き直します。

対応関係を一覧にすると、次のようになります。

組み込みでの経験Web側で近い概念書き方の例
RTOSのタスク設計・優先度・排他制御並行処理、非同期処理、ロック競合「センサ読み取り・通信・制御を優先度付きタスクに分割し、共有資源の排他制御を設計」
割込み遅延の上限、リアルタイム制約レイテンシ要件、SLO「割込み応答を数百マイクロ秒以内とする要件に対し、処理の分割で達成」
RAM・フラッシュ容量の制約メモリ使用量、リソース制限、チューニング「メモリ上限の中で動作するよう、バッファ設計とデータ構造を見直し」
通信プロトコル実装・再送処理API連携、タイムアウト・リトライ設計「通信断を前提に再送・タイムアウトの設計を担当」
実機結合試験の設計テスト設計、自動テスト「結合試験項目を設計し、リグレッション試験を自動化」
量産後の不具合対応・再発防止障害対応、ポストモーテム「市場不具合の原因を切り分け、再発防止策を設計に反映」

書き換えるときの肝は、数字を一つ入れることです。「割込み遅延を抑えた」ではなく、何マイクロ秒の要件に対してどう満たしたのか、メモリを何KB削ったのか、不具合を何件、どう切り分けたのかまで書くと、Web系の面接官にも規模感が伝わります。

職務経歴書の書き換えについては、社内独自フレームワークしか触っていない方向けに書いた汎用スキルへの翻訳の仕方でも同じ考え方を扱っています。機器名や製品名を機能と判断に置き換える作業は、組み込みの方にもそのまま当てはまります。

ただし、言い換えには注意点があります。同じだと言い張らないことです。「RTOSのタスク設計はWebの非同期処理と同じです」と言い切ってしまうと、面接官は具体的なWebの話(ワーカーの数、キューの溢れ方、冪等性)を深掘りしてきます。「近い構造だと考えており、Webでは〜の部分が違うと理解しています」と、差を認識していることまで語れると、誠実さと理解の深さが同時に伝わります。

行き先の線引き、Web系・IoT/クラウド連携・車載ソフト

組み込みから「Web系」と一口に言っても、行き先は大きく3つに分かれます。経験の活かしやすさと、止まりやすい場面が違うため、一度整理しておきます。

行き先経験の活かしやすさ止まりやすい場面向いている人
Web系(SaaS・自社開発)品質・性能への感覚は評価。ただしC/C++自体の出番は少ないHTTP・DB・クラウドが必須要件の中心になり、書類で止まりやすい機器から離れても構わず、サービス開発に軸足を移したい人
IoT・クラウド連携ファームウェアの知識とクラウド知識の両方を持つ人材として評価されやすいクラウド側の設計経験を問われる。MQTTやAWS IoTなどの理解が必要機器の知識を残しつつ、クラウド側にも手を広げたい人
車載・SDV寄りC/C++、品質プロセス、機能安全の考え方がそのまま評価されるクラウド連携やOTA、CI/CD、コンテナなどの新しい領域を求められる場面が増えている組み込みの専門性を軸に、領域を広げたい人

私の感覚では、最初の転職先として現実的なのは、真ん中のIoT・クラウド連携です。ファームウェア側の経験がそのまま評価され、クラウド側は入社後や並行学習で埋めるという構図が取りやすいからです。

IPAが公表した「2021年度 組込み/IoT産業の動向把握等に関する調査」でも、クラウドは現在重要な技術、また将来獲得したい技術として挙がる傾向が示されています(2022年1〜2月に調査票6,000部を配布し、1,108件を回収した調査)。同調査では、人材不足への対策として中途採用が現在も今後も重視されるとされています(出典:IPA「2021年度 組込み/IoT産業の動向把握等に関する調査」)。

調査はクラウド人材そのものの需要を測ったものではありませんが、組み込み企業側が「クラウドを強化したい」「中途採用で人材を確保したい」と考えている、という方向は読み取れます。私はこれを、組み込み側の企業も、クラウドの分かる人材を求めているサインだと見ています。つまり、IoT・クラウド連携への道は、Web系に飛び込むよりも「手持ちの経験を評価してもらったうえで、クラウドを学べる」入口になりうると私は見ています。

車載・SDV寄りの領域は少し性格が違います。従来のECU開発から、ソフトウェアの更新や継続的な改善を前提にした開発へと流れが動いており、そこではクラウドやCI/CDの知識が必要になる場面が増えています。組み込みの専門性を維持しながら、Webの開発手法を取り入れた働き方をしたい方には、有力な選択肢です。

Web系に直接飛び込む場合は、バックエンドの中でも性能改善、基盤チーム、ゲームサーバ、検証・テスト自動化のように、制約や品質へのこだわりが評価される領域を狙うと、経験を活かしやすくなります。

年収はどう動くか、dodaの職種別平均で見る

転職を考える際に気になるのは、年収がどう動くかです。公的な「組み込みからWeb系への転職前後の年収変化」のデータは、私の確認した範囲では見当たりません。そこで、職種別の平均年収を比較してみます。

dodaの「平均年収ランキング(2025年版)」(調査期間は2024年9月〜2025年8月)では、次の数値が公表されています。ページ上の区分は「組込み」ではなく「制御系ソフトウェア開発」と「Webサービスエンジニア」で、組み込みそのものの統計ではない点に注意が必要です。

年代制御系ソフトウェア開発Webサービスエンジニア差
全体469万円452万円17万円
20代391万円397万円-6万円
30代546万円515万円31万円
40代672万円638万円34万円
50代以上734万円661万円73万円

(出典:doda「平均年収ランキング【最新版】」)

この数字から読み取れるのは、20代ではほぼ並び、30代以降で制御系の平均が上回る構図です。ただし、これは職種ごとの平均値の比較であって、「同じ人が転職したら下がる」という意味ではありません。年収は企業規模、業界、役割で大きく変わります。

それでも、30代以降で職種平均に差があること自体は、頭に入れておく価値があります。私の担当した範囲でも、組み込みの経験年数が長い方ほど、未経験領域を含むWeb系に移ると、最初の提示額が現職より下がることが多いという実感があります。Nさんも約20万円下がっています。

ここで、年収が下がった場合にどう考えるかが問題です。私は、次の問いで判断するよう勧めています。

年収が下がる転職を判断するときの問い

  • 入社後1〜2年で、市場で通用するクラウド・Webの実務が積めるか
  • 評価制度やグレードで、年収を戻せる道筋が面談で確認できたか
  • 下がる額を、生活の固定費と貯蓄で受け止められるか

異なる領域に移る際の年収の考え方は、ゲームエンジニアのWeb系転職でも触れています。領域を移るときに起きる評価のズレは、構図としてかなり近いものがあります。

学び直しの順番、手持ち資産に近いところから埋める

学び直しで失敗するパターンで多いのは、「Webといえばフレームワークだ」と考えて、最初にRailsやReactのチュートリアルから始めることです。それも悪くはないのですが、組み込み出身者の場合、手持ち資産に近い順に進めた方が、挫折しにくく、面接でも語りやすくなります。

私が勧める順番は次のとおりです。

学び直しの順番

  • ①Git・Linux:チーム開発の共通基盤。組み込みでもLinuxに触れていれば最短で終わる
  • ②HTTP/REST:機器間通信の経験を、HTTPの言葉に置き換える
  • ③RDB/SQL:テーブル設計とインデックス。ここが一番の壁になりやすい
  • ④AWS:IoT連携に絡めて、マネージドサービスの使い分けを理解する
  • ⑤CI/CD:ビルド・テストを自動化し、デプロイまでつなげる

Git・Linuxで開発の共通基盤を固める

Gitは、ブランチを切ってプルリクエストを出し、レビューを受けてマージするところまで、一通り自分でやってみることです。組み込みの現場ではSVNや独自の管理方法を使っていた方も多いので、ここで「PRベースの開発」を手を動かして覚えておくと、面接で「GitHubでの開発経験は」と聞かれたときの答えが変わります。

Linuxは、組み込みLinuxを触っていた方なら既に十分なことが多いです。シェルでのファイル操作、プロセス、ログの確認ができれば、Web系の基礎としては足ります。

HTTP/RESTで機器間通信の経験を接続する

ここが、組み込み出身者の経験を最も活かしやすい段階です。HTTPのメソッド、ステータスコード、ヘッダ、認証の流れを学び、自分で小さなAPIサーバを立ててみます。言語はPython、Go、Node.jsなどのどれでも構いませんが、C/C++経験者ならGoは文法の距離が近く、入りやすいと感じる方が多いです。

RDB/SQLで最も止まりやすい壁を越える

三つ目のRDBが、私の見る限り最も止まりやすい壁です。組み込みでデータを扱うときは、固定長のバッファや構造体で持つ発想が中心で、「正規化」「インデックス」「トランザクション」といった考え方がほぼ初見になります。テーブルを2〜3つ設計し、実際にデータを入れて、インデックスの有無で実行計画がどう変わるかを自分で確認する。これだけで、面接で語れる材料になります。

AWSとCI/CDで形にする

AWSは、全サービスを覚える必要はありません。EC2やコンテナの実行環境、RDS、S3、IAMの基本を押さえれば十分です。組み込みの方は、IoT連携(機器からデータを送る)に絡めると、自分の土俵で理解できます。オンプレからクラウドへの移行を扱ったオンプレインフラエンジニアのクラウド転職の考え方(既存の経験をクラウド概念に翻訳する)は、組み込みの方にも使えます。

最後にCI/CDです。GitHub Actionsなどで、プッシュしたらテストが走り、通ればデプロイされる仕組みを一度組んでおくと、「ビルド・テストの自動化」の経験として書けます。組み込みでビルドサーバを触っていた方は、ここは比較的すんなり進むはずです。

題材は組み込みのまま、受け側をWebで作る

5つの段階を別々の教材で学ぶより、一つの題材でつなげて作る方が、面接で語れる成果物になります。私が勧めているのは、組み込みの経験をそのまま題材にする作り方です。

組み込み出身者向けのポートフォリオ例

  • ESP32やRaspberry Piで温度などのセンサ値を取得し、HTTPでAPIに送信する
  • APIサーバでデータを受け、PostgreSQLなどのRDBに保存する
  • AWSにデプロイし、GitHub Actionsでテストとデプロイを自動化する
  • READMEに、設計判断(なぜその通信方式か、再送はどう扱うか)と、実装しなかった範囲を書く

機器側は得意分野なので、そこに時間をかけすぎないことです。面接官が見たいのは、受け側のWebをどこまで自分で組んだかです。学習の期間は人によって違いますが、私の感覚では、土日と平日の夜を使って数か月かけて一つの形にした方が、書類にも面接にも堂々と書けます。

ここまでの学び直しの年数感については、COBOLからモダン言語に移る際の期間を扱ったCOBOL・VB6エンジニアのモダン言語転向にかかる年数でも触れています。独学だけで終わらせず、実務の中で触れる機会を作ることの重要性は、組み込みの方にも共通します。

よくある質問

エンベデッドシステムスペシャリストの資格は、Web系の転職で評価されますか。 資格そのものが書類の決め手になるケースは、私が見てきた範囲ではほとんどありません。Web系の求人票で必須に書かれることもまずなく、評価されるのは、その学習の過程で身につけた設計や品質の考え方を具体的な経験として語れるかどうかです。IoTや車載寄りの企業では、知識の裏付けとして一定の意味を持つこともあります。

C++の経験が長いので、GoやRustを学べば有利になりますか。 文法の距離が近いので入りやすいのは確かですが、言語だけ変えても書類は通りません。Goで書いたことよりも、そのGoでHTTPのAPIを作り、DBにつなぎ、デプロイまでやったかが問われます。言語の選択は、応募先の技術スタックに合わせるのが基本です。

30代後半・40代でも、Web系への転職は可能ですか。 可能ですが、未経験領域の幅が大きいほど、応募先の選び方が重要になります。Web系に直接行くよりも、IoT・クラウド連携や車載寄りなど、既存の経験が評価される領域から入る方が現実的です。ポジションがメンバークラスか、リード職かでも難易度が変わるため、一律には言えません。

組み込みの経験を完全に捨てて、Web系に行くべきでしょうか。 捨てる必要はありません。私は、組み込みで培った品質・リソース・並行処理の感覚を、Web側の言葉に翻訳して持ち込む方が、評価されやすいと考えています。経験をリセットして未経験扱いで入るのは、年収面でも不利になりやすい選択です。

まとめ、組み込みの経験は活きる、ただし翻訳が前提になる

組み込みエンジニアのWeb系転職で止まる理由は、C/C++やRTOSの経験が通用しないからではありません。経験をWebの共通言語に翻訳できていないことが、書類でも面接でも止まる原因になっています。

メモリ管理、並行処理、品質プロセス、切り分け力は、Web系でも確かに評価されます。そのうえで、HTTP、RDB、クラウド、CI/CDという共通言語を、手持ち資産に近い順に埋めていく。この順番で進めれば、Nさんのように、組み込みの専門性を保ちながらWeb・クラウド側に軸足を移せます。

いきなりWeb系の全方位に飛び込む必要はありません。IoT・クラウド連携や車載寄りの領域を足がかりにして、実務でクラウドを学びながら年収を戻していく道筋もあります。求人票の必須要件を一文ずつ読み解き、自分の経験がどこに接続できるのかを確かめるところから始めてみてください。