モバイルエンジニアの転職は「求人票の要求」から逆算する|iOS・Android・Flutter求人234件の要件分析と年収中央値、ポートフォリオの見せ方【2026年10月版】
「モバイルエンジニア 転職」で検索すると、上位は求人サイトの一覧ページが並びます。求人の数は分かりますが、どの経験が評価され、何を補えば年収レンジが上がるのかまでは分かりません。
この記事では、転職サイトGreenに掲載されているモバイル系エンジニアの正社員求人234件(168社)を取得し、応募資格の欄に何が書かれているかを数えました。年収は求人票の提示額と、PROJECT COMPの本人申告データの2つで確認しています。対象は、iOS・Android・Flutterなどで実務経験があり、次の会社を探している人です。
- 本人申告の年収中央値はiOS・Androidとも650万円、主スキルを「モバイル(iOS+Android)」とする層は785万円(PROJECT COMP、2026年10月25日取得)。
- 応募資格の欄に多いのは言語名よりも「サーバーサイド・API開発」「設計・アーキテクチャ」「リード・技術選定」(各約3割)。単一OSで画面を作れるだけでは、上位の求人に届きにくい。
- Flutterは応募資格の27.8%に出てくる一方、タイトルがFlutter・React Nativeの求人は上限年収の中央値が800万円で、ネイティブ求人(1,000万円)より低い。ネイティブを軸にして、Flutterを足す形が組みやすい。
- 「個人開発」を応募資格に書いた求人は8件(3.4%)だけ。経験者の場合、主役は業務アプリでの実績で、個人アプリはストアに公開して運用していることを示す補強に使う。
モバイルエンジニアの求人と年収の現在地
求人の量:Kotlin・Swiftは「需要に対して人が少ない」側
まず求人の量です。Greenでキーワードを検索したときのヒット件数は次のとおりです(2026年10月25日時点)。キーワードが本文のどこかに出てくれば数えられるため、モバイル職ではない求人も含まれます。件数の絶対値ではなく、技術どうしの相対比較として見てください。
| 検索キーワード | ヒット件数 | 年収600万円以上の条件で再検索 | メモ |
|---|---|---|---|
| Kotlin | 1,616件 | 1,540件 | サーバーサイドKotlinの求人も含む |
| Swift | 1,449件 | 1,383件 | iOSとほぼ同じ規模 |
| Flutter | 816件 | 777件 | Dartは535件 |
| React Native | 232件 | 223件 | Flutterの約3.5分の1 |
| Jetpack Compose | 155件 | 143件 | 具体的なUIフレームワーク名で書く求人は少数 |
| SwiftUI | 126件 | 126件 | 同上 |
※Greenの年収条件は求人の「上限」が条件に届けばヒットする仕組みなので、「600万円以上」の件数は600万円以上が保証されることを意味しません(求人票の年収の見方で詳しく扱っています)。
需給の面では、paizaの2025年版調査(2026年1月発表)で、企業のニーズに対してスキルを持つ人が少ない「穴場言語」の1位がKotlin、2位がSwiftでした。2024年の調査と同じ順位です。同じ調査の平均提示年収はKotlinが678.2万円、Swiftが657.8万円で、1位のGo(723.9万円)よりは低い位置にあります。求人に対して人が足りない一方で、言語の名前だけで年収が決まる職種ではない、というのが出発点です。言語別の年収差の読み方は年収が高い言語の記事にまとめています。
年収:中央値はiOS・Androidとも650万円、両OSで785万円
次に、エンジニア本人が申告した年収を集計しているPROJECT COMPのデータです。主スキル別の中央値と、P25〜P75(真ん中の50%の人が入る範囲)を並べました。
| 主スキル | P25 | 中央値 | P75 | P90 | 件数 |
|---|---|---|---|---|---|
| iOS | 545万円 | 650万円 | 850万円 | 1,100万円 | 93 |
| Android | 500万円 | 650万円 | 910万円 | 1,450万円 | 67 |
| モバイル(iOS+Android) | 650万円 | 785万円 | 1,000万円 | 1,290万円 | 76 |
| サーバーサイド(参考) | 550万円 | 700万円 | 890万円 | 1,165万円 | 824 |
単一OSの中央値はサーバーサイドより50万円低く、両OSを主スキルにする層は85万円高い結果でした。ただし、本人申告のデータは区分ごとに経験年数や職種の構成が違います。「両OSを覚えれば135万円上がる」という意味ではありません。言えるのは、両OSにまたがる人やリード職を含む層のほうが分布全体が上にある、というところまでです。
Androidは中央値がiOSと同じでも、P90が1,450万円と上に長く伸びています。件数が67と少ないので外れ値の影響を受けやすい点に注意が必要ですが、大規模なtoCアプリや基盤チームのシニア層が上の方を押し上げている可能性があります。
求人票の提示額:下限中央値500万円、上限中央値900万円
今回集計した234件の求人票では、提示年収の下限の中央値が500万円、上限の中央値が900万円でした。下限が600万円以上の求人は33.0%、700万円以上は13.3%です。レンジが広いので、提示額は「どの等級で入るか」で決まります。上限を見て応募先を選ぶと、オファー面談で下限近くを出されてずれが生じます。
求人234件の応募資格に書かれていること
ここからが本題です。Greenで「Swift」「Kotlin」「Flutter」「iOS」「Android」「React Native」「SwiftUI」「Jetpack Compose」「Dart」などで検索し、重複を除いた614件の詳細を取得しました。そこから、求人タイトルにiOS・Android・Flutter・モバイル・スマホアプリなどを含む、エンジニア職の正社員求人234件(168社)に絞り込み、応募資格(必須・歓迎の両方)の本文を集計しています。
上位3つは「画面の外」のスキル
出現率の上位は、サーバーサイド・API開発(30.8%)、設計・アーキテクチャ(30.8%)、リード・技術選定・育成(30.3%)でした。応募資格ではなく求人本文全体まで広げると、サーバーサイド・APIへの言及は50.9%に上がります。
モバイルチームは人数が少なく、API設計の段階からバックエンドと話を詰められる人や、アーキテクチャを決められる人が求められます。職務経歴書では「〇〇画面を実装」と並べるより、API仕様の決定にどう関わったか、MVVM/Clean Architecture/TCAなどをどの理由で選んで移行したかを書いたほうが、応募資格と結びつけて読まれやすくなります。
運用系の要件:CI/CD・ストアリリース・テスト
次に多いのが、CI/CD(20.9%)、ストア公開・リリース経験(17.1%)、テストコード・自動テスト(15.8%)です。ストアリリース経験は40件のうち、文脈から必須と読めるものが約3割で、残りは歓迎要件でした。リリース作業を自分で担当したことがない人は、審査の差し戻し対応、段階的公開、クラッシュ解析(Firebase Crashlyticsなど)といった作業を経歴に書けるかどうかを確認しておくと、評価の差が出やすい部分です。
UIフレームワーク名・新しい技術
SwiftUI(12.4%)とJetpack Compose(9.8%)は、応募資格に書く求人はまだ1割前後でした。一方でObjective-C(8.5%)も残っており、既存のUIKit/Viewのコードを保守しながら宣言的UIへ移行する経験が求められている様子が読み取れます。「SwiftUIしか書いたことがない」より、「UIKitの既存画面をSwiftUIに段階的に置き換えた」のほうが、要件を広くカバーできます。
生成AIツールの活用は応募資格では10.3%ですが、開発環境の説明まで含めると37.6%の求人がClaude Code・GitHub Copilot・Cursorなどの名前を出していました。必須条件というより、チームの標準ツールとして入っているケースが多い印象です。
経験年数の書き方
応募資格に「〇年以上」と書いている求人は149件(63.7%)でした。最も短い年数で数えると、3年以上が48件、2年以上が38件、1年以上が32件、5年以上が26件で、中央値は3年です。モバイル開発の実務が1〜2年の人でも応募できる求人は一定数あります。ただし、提示年収の下限の中央値は「1年以上」の求人で450万円、「2年以上」で480万円、「3年以上」で560万円、「5年以上」で600万円と、条件の年数に応じて上がっていきます。書類選考が通らないときの切り分けと併せて、どの年数の層に応募するかを先に決めておくと効率がよくなります。
234件のうち「自社サービス(toC/toB)」タグが付いた求人は92件、「クライアントワーク」タグは46件でした。フルリモートのタグは48件です。受託・SESからの転職では、自社サービス側の求人が求める「運用・改善を回した経験」をどう示すかがポイントになります(後述)。
Flutter・React Native・KMPはどう評価されているか
Flutterは「ネイティブ求人の歓迎要件」として入りやすい
求人タイトルの技術で分けると、上限年収の中央値に差が出ました。
| 求人タイトルの技術 | 件数 | 下限の中央値 | 上限の中央値 | 上限1,000万円以上 |
|---|---|---|---|---|
| iOS/Swift(クロスプラットフォーム名なし) | 89件 | 500万円 | 995万円 | 40件 |
| Android/Kotlin(同上) | 98件 | 500万円 | 900万円 | 40件 |
| Flutter/React Native | 32件 | 500万円 | 800万円 | 8件 |
※iOSとAndroidの両方をタイトルに含む求人は両方の行に数えています。ネイティブ求人を合わせた147件では上限の中央値が1,000万円でした。
Flutter・React Nativeをタイトルに掲げる求人は、受託開発や新規アプリの立ち上げで少人数が両OSを担当するケースが多く、上限年収は控えめでした。一方で、ネイティブ求人147件のうち44件(29.9%)は本文でFlutter・React Native・KMPに触れています。既存アプリはネイティブのまま、一部の新規機能や別アプリでクロスプラットフォームを使う会社が一定数あるということです。
この結果から、キャリアの組み立て方としては次の順番が無理がありません。
- まずはSwiftかKotlinのどちらかで、設計・リリース・運用まで任された実績を作る
- そのうえでFlutterを足し、「両OSを1人で見られる」状態にする(Flutterは応募資格で27.8%。React Nativeの約2倍)
- Web出身でReact/TypeScriptが強いなら、React Nativeから入るのも合理的(ただし求人数はFlutterの約3.5分の1)
Kotlin Multiplatformは「知っていれば話が合う」段階
JetBrainsは2025年5月のCompose Multiplatform 1.8.0で、iOS向けのComposeを安定版(Stable)にしました。技術としては、UIまで含めて共有できる段階に入っています。ただ、今回の234件でKotlin Multiplatformに触れた求人は、本文全体でも9件(3.8%)、応募資格では5件(2.1%)でした。転職の武器として前面に出すにはまだ早く、Androidエンジニアが「iOSへ担当範囲を広げられる」根拠として補足する使い方が現実的です。
Flutter専任の求人はネイティブ連携(Platform Channel、プッシュ通知、課金、バックグラウンド処理)でつまずいた経験を聞かれることが多くあります。「ネイティブ側のコードも読める・直せる」と書けるかどうかで、応募できる求人の幅が変わります。
業務で触れていない技術(Swift/Kotlin/Flutter)を短期間で補いたい場合は、講座で基礎を固めてから個人アプリに取りかかる方法もあります。教育訓練給付金の対象講座かどうかも確認しておきましょう。
独学で進める場合のFlutterの学習順序はFlutter学習ロードマップで扱う予定です。給付金の条件は教育訓練給付金でエンジニアが講座を選ぶ方法にまとめています。
現在地別の転職ルート
ここまでのデータをもとに、今の立ち位置ごとに「次に狙う求人」と「応募前に補うこと」を整理しました。
- 狙う求人
- 自社サービスのネイティブ求人で、上限1,000万円以上のレンジ(リード・設計の要件があるもの)
- 補うこと
- アーキテクチャ選定の理由、API設計への関わり、CI/CDやテストの整備実績を職務経歴書に数字付きで書く
- 狙う求人
- 「1年以上」「2年以上」を条件にした求人のうち、レビュー体制やテストが整っている自社サービス
- 補うこと
- ストア公開・運用の経験(業務で無ければ個人アプリで補う)。もう一方のOSかFlutterの基礎
- 狙う求人
- クロスプラットフォームを採用している自社サービス、またはネイティブ求人のうち本文でFlutterに触れている会社(約3割)
- 補うこと
- ネイティブ側の実装経験(Platform Channel、ネイティブSDK連携)。SwiftかKotlinのどちらかを読める・直せる状態
- 狙う求人
- React Native採用企業、またはサーバーサイドとモバイルを兼ねるポジション(応募資格の3割がサーバーサイド・APIに触れている)
- 補うこと
- ストアに公開した個人アプリ1本。Web側の強み(API設計、TypeScript)を前面に出す
- 狙う求人
- 自社サービス(toC/toB)タグ付きのネイティブ求人
- 補うこと
- リリース後の改善サイクル(KPI、クラッシュ率、レビュー対応)を回した経験。無ければ個人アプリで運用データを作る
受託・SESから移るときの判断軸はSES・客先常駐の転職サインの記事で、商流の見方を含めて解説しています。
モバイル職は求人票のタイトルが「アプリエンジニア」「スマホアプリ開発」「モバイルエンジニア」とばらばらで、検索だけでは拾いきれません。iOS・Androidの非公開求人を含めて自分のレンジを確かめたい場合は、IT特化の転職エージェントに職務経歴書を見せて、応募先の層を一緒に決めてもらうのも手です。
モバイル開発の経験年数・担当範囲を伝えると、ネイティブ/Flutterのどちらで応募するとレンジが上がるかを具体的な求人で比べられます。
ポートフォリオとしてのアプリの見せ方
経験者にとって、個人アプリは「補強材料」
応募資格で「個人開発」に触れた求人は234件中8件(3.4%)でした。GitHubや個人開発のソースコードを応募時に送るよう明記していた求人は3件だけです。実務経験のあるモバイルエンジニアの選考では、主役は職務経歴書に書く業務アプリの実績で、個人アプリは次の2つの場面で効きます。
- 業務で担当していない工程(ストア申請、課金、プッシュ通知、CI/CD)を経験済みだと示すとき
- 業務で触れていない技術(もう一方のOS、Flutter、SwiftUI/Compose)を使えると示すとき
ストア公開・リリース経験を応募資格に書いた求人は40件(17.1%)あり、「個人開発を含めて、企画からストアリリース、運用まで」と書く求人もありました。つまり、コードを見せるより「公開して運用している」事実を見せるほうが、要件にそのまま当てはまります。
ストアに出すまでの関門と費用
| App Store(iOS) | Google Play(Android) | |
|---|---|---|
| 費用 | Apple Developer Program 年間99米ドル(現地通貨で表示) | Play Console登録料 25米ドル(1回限り) |
| 無料でできる範囲 | Apple Accountだけで実機テストは可能(プロビジョニングプロファイルは7日で失効) | — |
| 公開前の条件 | TestFlight・App Store ConnectはProgram登録が必須。審査に通す必要がある | 2023年11月13日以降に作成した個人アカウントは、12人以上のテスターが直近14日間連続でクローズドテストに参加していることが製品版公開の条件 |
| 準備期間の目安 | 審査の差し戻しを見込んで余裕を持つ | テスター集め+14日間が最低限必要。応募の1か月前には着手する |
Androidの14日間ルールは、組織として登録したアカウントには適用されません。個人で出す場合は、テスターを集める時間も含めて予定を組んでおきましょう。
採用側が読み取りたい情報を、READMEと職務経歴書に置く
個人アプリは機能の多さより、求人票の要件とどれだけ重なっているかで選びます(複数の作品から1本を選ぶ基準はポートフォリオの選び方で解説しています)。見せ方は次の項目を押さえておけば十分です。
- ストアのURLと、公開してからの期間・更新回数:運用しているかどうかが一目で分かる
- アーキテクチャ図と選定理由:応募資格の3割が設計・アーキテクチャに触れている
- API・バックエンドの構成:Firebaseや自作APIなど、サーバー側をどう作ったか
- テストとCI:GitHub Actions・Xcode Cloud・Bitriseなどで何を自動化しているか
- 運用の数字:クラッシュフリー率、ストア評価、レビューへの対応、ダウンロード数(小さくても実数で書く)
- AIツールの使い方:どこをAIに任せ、どこを自分でレビューしたか(本文で37.6%の求人がAIツール名を出している)
業務アプリの実績も同じ観点で書けます。「〇〇機能を実装」ではなく、「ビルド時間を〇分から〇分に短縮」「クラッシュフリー率を〇%から〇%に改善」のように、前後の数字を入れてください。書き方の型はエンジニア職務経歴書の書き方にあります。
選考でモバイル職に特有のポイント
234件のうち、選考フローや本文でコーディングテスト・技術課題・ライブコーディングに触れていた求人は21件(9.0%)、カジュアル面談に触れていた求人は53件(22.6%)でした。課題の内容は会社ごとに違いますが、小さなアプリやサンプルコードを作って提出する形式では、機能の数より状態管理・エラー処理・テスト・READMEで説明した設計判断が見られると考えておくと準備の方向を外しません。出題形式ごとの準備はコーディングテスト対策の記事にまとめています。
面接では、次のようなモバイル特有の話題を自分の経験で説明できるようにしておきます。
| 聞かれやすいテーマ | 答えの軸 |
|---|---|
| アーキテクチャの選定 | チーム規模・画面数・テストのしやすさから、なぜそれを選び、何を捨てたか |
| 宣言的UIへの移行 | UIKit/ViewとSwiftUI/Composeが混ざった状態をどう段階的に移したか |
| リリースと品質 | 段階的公開、クラッシュ発生時の切り戻し、審査で差し戻されたときの対応 |
| APIとの境界 | バックエンドとの仕様の決め方、オフライン時やエラー時の扱い |
| OSアップデートへの追従 | 毎年のOSメジャー更新で、どの順番で影響を確認し対応したか |
逆質問では、アプリのリリース頻度、iOSとAndroidの人数比、デザイナーとの分担、クロスプラットフォームの採用方針を聞くと、入社後の担当範囲が見えやすくなります(質問の作り方は逆質問の記事を参照)。
転職活動の進め方(8〜12週間)
- 応募先の層を決める(1週目):単一OSのネイティブ/両OS・リード/Flutter・React Nativeのどれで応募するかを決め、求人票の応募資格を10件ほど読んで、共通する要件を書き出す。
- 職務経歴書を要件に合わせる(2〜3週目):サーバーサイド・設計・リード・CI/CD・リリース運用のうち、書ける実績を数字付きで並べる。
- 足りない要件を個人アプリで補う(2〜6週目・並行):ストア公開が足りないならここで出す。Google Playの個人アカウントは14日間のクローズドテストを先に始める。
- 応募と選考(5〜10週目):求人サイト・スカウト・エージェントを併用する(経路の使い分けは転職サイトの選び方を参照)。技術課題がある会社は日程に余裕を持たせる。
- オファーの比較と年収交渉(9〜12週目):提示がレンジの下限寄りなら、応募資格のどの要件を満たしているかを根拠に交渉する(年収交渉のやり方)。
よくある質問
モバイルエンジニアの年収はどのくらいですか?
Androidエンジニアは「いない(不足している)」と言われるのは本当ですか?
Flutterだけの経験で転職できますか?
実務経験があっても個人アプリは必要ですか?
※本記事のGreen求人データは、2026年10月25日に検索結果から取得できた求人を集計したもので、Green掲載の全求人ではありません。収集にFlutter・React Nativeなどのキーワードを使っているため、技術ごとの比率には偏りがある可能性があります。
参考・出典
- Green(IT/Web業界の転職サイト)検索結果・求人詳細(2026年10月25日取得):https://www.green-japan.com/search/skill/swift ほか
- PROJECT COMP 主スキル別の年収データ(iOS・Android・モバイル・サーバーサイド、2026年10月25日取得):https://project-comp.com/
- @IT「年収1位は3年連続『Go』 求人数1位は『JavaScript』 需給のギャップが生む『穴場言語』とは」(2026年1月14日、paiza調査):https://atmarkit.itmedia.co.jp/ait/articles/2601/14/news031.html
- Apple Developer「Apple Developer Programへの登録」:https://developer.apple.com/jp/programs/enroll/
- Apple Developer「メンバーシップの比較」:https://developer.apple.com/jp/support/compare-memberships/
- Play Console ヘルプ「新しい個人デベロッパー アカウントのアプリのテスト要件」:https://support.google.com/googleplay/android-developer/answer/14151465?hl=ja
- Play Console ヘルプ「Google Play Console の使用を開始する」(登録料):https://support.google.com/googleplay/android-developer/answer/6112435?hl=ja
- JetBrains Kotlin Blog「Compose Multiplatform 1.8.0 Released: Compose Multiplatform for iOS Is Stable and Production-Ready」(2025年5月):https://blog.jetbrains.com/kotlin/2025/05/compose-multiplatform-1-8-0-released-compose-multiplatform-for-ios-is-stable-and-production-ready/




