AIが実際にできること・できないことの境界線
「AIがプログラミングを代替する」という話は、粒度が荒すぎる。実際にはできることとできないことの境界線がかなりはっきりしている。2026年4月時点の現実を整理する。
AIが高精度でできること
ボイラープレートコードの生成。CRUD処理、DTO定義、バリデーション、REST APIのエンドポイント実装——パターンが決まっている定型コードは、GitHub CopilotやCursor、Claude Codeが高い精度で生成する。
テストコードの初稿。既存の実装コードを読み込ませてテストケースを生成させると、人間が1〜2時間かかる作業を数分で出力する。ユニットテスト・結合テストのカバレッジを上げる作業の効率は大幅に向上した。
リファクタリング案の提示。「この関数をもっと読みやすくしてくれ」「この処理をDRYにしてくれ」という指示に対して、AIは実用的な改善案を出す。
バグ修正の提案。エラーメッセージとコードを渡せば、原因の推定と修正案の提示はAIが得意とする領域だ。
ドキュメント・コメントの自動生成。APIドキュメント、README、コードコメントの生成はAIがほぼ完全にカバーする。
AIにはまだ難しいこと
ビジネス要件の理解。「クライアントが本当に何を求めているか」は、言語化されていない暗黙知の塊だ。AIはプロンプトに書かれたことしか理解できない。書かれていない前提条件、業界の慣習、ステークホルダーの政治的な事情——こうした文脈を汲み取る力はAIにはない。
システム全体の設計判断。「マイクロサービスにすべきかモノリスのままか」「RDBかNoSQLか」「このアーキテクチャは3年後の拡張に耐えるか」——システム全体を俯瞰した設計判断は、AIが部分的な提案はできても最終判断を下せる段階にはない。
非機能要件の最適化。パフォーマンスチューニング、セキュリティ設計、可用性の担保——これらは要件間のトレードオフが複雑で、AIが「正解」を出すのが難しい領域だ。
レガシーコードの文脈理解。10年前に書かれたコードが「なぜそう書かれているか」を理解するには、当時の技術制約・ビジネス背景・組織事情の知識が必要になる。コメントもドキュメントもない古いコードベースを安全にリファクタリングする判断は、AIにはリスクが高い。
チームとの合意形成。技術選定の根拠を説明し、異なる意見のエンジニアと合意を取り、クライアントを説得する——コミュニケーションの領域はAIが手を出せない。
境界線のまとめ
| 領域 | AI代替の度合い | 備考 |
|---|
| 定型コード生成 | 高 | CRUD・API・型定義など |
| テスト初稿作成 | 高 | エッジケース設計は人間 |
| ドキュメント生成 | 高 | ほぼ完全にカバー |
| バグ修正提案 | 中〜高 | 単純なバグに限る |
| リファクタリング案 | 中〜高 | 局所的な改善に限る |
| UI実装 | 中 | デザイン判断は人間 |
| アーキテクチャ設計 | 低 | 提案はできるが判断は人間 |
| 要件定義・上流工程 | 低 | 暗黙知の理解が必要 |
| 非機能要件の最適化 | 低 | トレードオフ判断が必要 |
| チームコミュニケーション | ほぼ不可 | 対人スキルの領域 |
つまり「コードを書く」という行為の中でも、パターンが決まっている部分はAIが担い、判断が必要な部分は人間が担うという棲み分けが起きている。
「AIがあればコード不要」論の検証
「プログラミングを学ばなくても、AIに指示すればアプリが作れる時代だ」——こう主張する人は増えた。これは本当か。3つの観点から検証する。
ノーコード/ローコードとAIコーディングの違い
まず混同されがちなのが、ノーコード/ローコードツールとAIコーディングの違いだ。
ノーコード/ローコードは、あらかじめ用意された部品を組み合わせてアプリを作る。自由度は低いが、部品の範囲内なら安定して動く。一方、AIコーディングは自然言語の指示からコードを生成する。自由度は高いが、出力の品質にばらつきがある。
この違いは重要だ。ノーコードツールは「プログラミングの代替」として一定の領域で成立している。しかしAIコーディングは「プログラマーの補助」であって「プログラミングの代替」ではない。AIが生成したコードの良し悪しを判断できる人間がいなければ、品質を担保できないからだ。
AIが生成したコードの品質問題
私はHeydayのWebサイトをClaude Codeで構築している。AIが書いたコードで実際にプロダクトを動かしている立場から言うと、AIが生成するコードには明確な品質の波がある。
うまくいくケース: 要件が明確で、パターンが確立されていて、コンテキストが十分に渡されている場合。たとえば「Next.jsのApp Routerでブログ記事一覧ページを作る」「Tailwind CSSでレスポンシブなカードコンポーネントを実装する」といった指示には、高品質なコードが返ってくる。
うまくいかないケース: 要件があいまいで、複数のシステムが連携し、ビジネスロジックが複雑な場合。たとえば「診断ツールの結果に基づいて最適な案件をレコメンドし、ユーザーの行動履歴を考慮してCTAを出し分ける」——こうした複合的な要件では、AIの出力をそのまま使うことはまずない。
HeydayのサイトをClaude Codeで構築する過程で、私が実際にやっていることは「AIにコードを書かせて、そのまま使う」ではない。AIが出力したコードを読み、設計意図と合っているか判断し、問題があれば修正指示を出し、テストして検証する——この繰り返しだ。
つまり、AIが書いたコードを評価する能力がなければ、AIコーディングは使えない。その評価能力の基礎にあるのがプログラミングの知識だ。
「AIが書いたコードを理解できない人」のリスク
これは見過ごされがちだが、深刻なリスクだ。
AIに指示してコードを生成し、動いたからそのまま使う。しかしそのコードにセキュリティホールがある、パフォーマンスに問題がある、将来の変更に弱い構造になっている——こうした問題をコードが読めない人は発見できない。
AI導入PMとして複数の企業のAI活用を見てきた経験から言うと、「AIが書いたコードをレビューせずに本番に入れる」ケースは実際にある。そしてそれが原因でインシデントが発生する事例も出始めている。
プログラミングの知識がない状態でAIコーディングを使うことは、地図が読めない人がカーナビだけを頼りに知らない山道を走るようなものだ。普段は問題ないが、カーナビが間違ったとき(AIが間違ったコードを出したとき)に自分で判断できない。
自然言語プログラミングの現実と限界
「日本語で指示すればコードが書ける」というのは事実だが、その日本語の指示を正確に書くこと自体がプログラミングの素養を必要とする。
「ユーザーがフォームに入力した値をバリデーションして、エラーがあればフィールドごとにメッセージを表示し、成功したらAPIに送信してローディング表示を出して、レスポンスに応じて画面遷移させてほしい」——この指示を書ける時点で、フォームバリデーション、API通信、状態管理、条件分岐といったプログラミングの概念を理解している。
プログラミングの知識がない人が書く指示は「いい感じのフォームを作って」になる。そして「いい感じ」をAIが解釈した結果は、しばしば「いい感じ」ではない。
SES現場で見えているリアルな変化
ここからは、Heydayの案件データに基づく一次情報だ。SES経営者として、案件の要件がどう変化しているかを具体的に示す。
案件要件の変遷
2024年と2026年で、Heydayが受け取る案件の要件内容に明確な変化がある。
2024年以前に多かった要件パターン:
- 「Java/Springで業務システムの画面を実装できるエンジニア」
- 「PHPでECサイトの機能追加ができるエンジニア」
- 「Pythonでデータ処理のスクリプトを書けるエンジニア」
これらは「特定の言語でコードが書ける」ことが主要な要件だった。
2026年に増えている要件パターン:
- 「要件定義から参画し、設計〜実装まで一気通貫で対応できるエンジニア。AIツール活用経験があると望ましい」
- 「既存システムのリアーキテクチャを設計し、チームをリードできるエンジニア」
- 「AI/LLMを活用した業務改善の提案・実装ができるエンジニア」
つまり、「コーディングができる」だけの要件が減り、「設計+実装+AI活用」のセット要件が増えている。
「コーディングのみ」案件の実態
「コーディングのみ」の案件が完全に消えたわけではない。しかし、その単価帯は以前より圧縮されている。
理由は単純だ。AIの補助があることで、一人のエンジニアが処理できるコーディング量が増えた。結果として「コーディングだけ」の人員を追加する必要性が下がり、案件数自体が減少傾向にある。
一方で、設計力やチームリード力を含む案件の単価は維持されているか、むしろ上昇傾向にある。AIが定型作業を効率化した分、「人間にしかできない判断」の経済的価値が相対的に上がっている構図だ。
AIツール使用前提の案件が増えている
もう一つ顕著な変化がある。案件の前提条件に「AIツールの使用」が含まれるケースが増えていることだ。
「GitHub Copilot導入済みの環境」「Cursor使用を推奨」「Claude APIを活用した開発」——こうした条件が案件票に書かれるようになった。これは2024年にはほぼ見られなかった記述だ。
Heydayに入ってくる案件ベースでは、2026年4月時点でAI活用を前提または歓迎とする要件を含む案件が全体の2〜3割程度を占めるようになっている。2025年同期比で明確に増加傾向にあり、特に直近数ヶ月での増加が顕著だ。
つまり、AIを使えること自体が前提条件になりつつある。「AIを使うかどうか」の議論はすでに終わり、「AIをどう使うか」のフェーズに移行している。
AIツール導入で実際に何が変わるか——公開事例から読み取れること
「AIを使いこなす側」になったとき、具体的にどれだけ変わるのか。国内企業の公開事例から数字を確認しておきたい。
メンバーズルーツ(GitHub Copilot、1ヶ月試用)
SESエンジニアの現場に最も近い数字がここにある。既存コンポーネントの調査・改善工数が50%削減、汎用処理の実装で50%削減、コミットメッセージ生成で80%削減という結果が出ている。注目すべきは「新規実装」より「既存コードの調査・改修」での効果が大きい点だ。客先常駐でレガシーシステムに触れることが多いSESエンジニアにとって、これは直接的な恩恵になる。
NTTドコモ(GitHub Copilot、全社6,000人超)
導入エンジニアの78%が「1日1時間以上」の時間節約を実感している。単純計算で、年間250稼働日として250時間。時給換算で数十万円分の工数が手元に戻ってくる。
マネーフォワード(Cursor)
エンジニア1人あたり週15〜20時間削減。QAチームではテストケース生成が70%速くなった。2026年3月、日本企業初のCursor公式先進活用事例に認定されている。
これらの数字が示すのは、AIツールを「使っているエンジニア」と「使っていないエンジニア」の間に、すでに生産性の格差が生まれているという事実だ。この格差は単価に反映されはじめている。フリーランス市場では、AI活用スキルを持つエンジニアの平均月単価は93万円前後で推移しており、一般的なSESエンジニアの単価帯(55〜70万円)と比べて20〜30万円以上の差がある(2025年調査)。
「AIに仕事を奪われる」という問いの立て方は、すでに的外れになっている。問うべきは「AIを使っている側に入れているか」だ。
プログラミング学習は今からでも価値があるか
ここまでの内容を踏まえて、「今からプログラミングを学ぶべきか」という問いに答える。
結論: 価値はある。ただし学ぶべき重心が変わった
プログラミングを学ぶ価値は依然としてある。ただし、「学ぶべき内容の重心」が変わった。
以前の重心: コードの書き方。文法を覚え、ライブラリの使い方を習得し、効率的な実装パターンを身につける。
現在の重心: 設計の仕方、AIへの指示の出し方、出力の検証方法。何を作るべきかを考え、AIに適切な指示を出し、返ってきたコードが正しいか判断する。
これは「プログラミングが不要になった」のではなく「プログラミングの定義が拡張された」と言うべきだ。
プログラミングの素養がないと、AIの出力を評価できない
繰り返しになるが、これが最も重要なポイントだ。
AIが生成したコードが「動く」かどうかは、実行すればわかる。しかし「正しい」かどうかは、コードを読める人間しか判断できない。
- セキュリティ上の問題がないか
- パフォーマンスのボトルネックになっていないか
- 将来の拡張性を考慮した構造になっているか
- テストが意味のあるケースをカバーしているか
これらをチェックするには、プログラミングの基礎知識が必要だ。AIが出力したコードを「読む力」は、自分でコードを「書く経験」から生まれる。
「何を学ぶか」の優先順位が変わった
従来のプログラミング学習は「文法 → アルゴリズム → フレームワーク → 実践」という順序だった。
AI時代の学習順序は以下のように再編成すべきだ。
- プログラミングの基本概念: 変数、関数、条件分岐、ループ、データ構造——これらの概念理解は依然として必須。AIの出力を理解するための「言語」だ
- 設計の基礎: 「何を作るか」を考える力。要件定義の基本、データの流れ、システムの構成要素
- AIツールの使い方: Copilot、Cursor、Claude Codeなどのツールを使いこなす技術
- コードの読解力: 他人(AIを含む)が書いたコードを読み、評価する力
- フレームワーク・ライブラリの理解: React、Next.js、Django——ここは従来通り必要だが、暗記よりも構造の理解が重要
- テスト設計: AIが書いたコードの品質を担保する方法
「プログラミングの価値が変わった」ことの具体例
抽象論では伝わらないので、私が実際に経験している具体例を3つ挙げる。
HeydayのサイトはClaude Codeで構築している
Heydayのコーポレートサイト・ブログメディアは、Claude Codeを使って構築している。Next.js(App Router)+ Tailwind CSSの構成で、記事のMDX生成からコンポーネント実装まで、AIがコードを書いている。
だが、これは「AIがサイトを作った」のではない。
実際のワークフローはこうだ。
- 私が設計方針を決める(ページ構成、コンポーネント設計、デザインガイドライン)
- AIにコードの生成を指示する
- AIが出力したコードを確認し、設計意図と合っているか検証する
- 問題があれば修正指示を出す。ないケースの方が少ない
- ブラウザで実際の表示を確認し、品質をチェックする
- 不具合や改善点があれば、再度AIに指示する
このプロセスの中で、プログラミングの知識が不要なステップは一つもない。設計方針を決めるにはシステムの構造を理解する必要がある。AIの出力を検証するにはコードが読める必要がある。修正指示を出すには何が問題かを技術的に特定する必要がある。
AIが「手を動かす」部分を担い、人間が「頭を使う」部分を担う。これが2026年のリアルなプログラミングの姿だ。
AI導入PMとして見た現場: 生産性差は「AIを使えるかどうか」ではない
AI導入コンサルのPMとして複数の企業プロジェクトに参画する中で、興味深い観察がある。
AIツールを使えるエンジニアと使えないエンジニアの生産性差は確かにある。しかし、最大の生産性差はAIツールの使用有無ではなく、「設計力の有無」にある。
設計力のあるエンジニアがAIを使うと、定型作業が高速化される分、設計やレビューに時間を使える。結果として、より質の高いアウトプットが出る。
一方、設計力がないエンジニアがAIを使うと、コードの生成速度は上がるが、そのコードの品質を評価できない。結果として「速く書けるが品質が安定しない」という状態になる。
つまり、AIは「スキルの増幅器」として機能している。元のスキルが高い人はさらに生産性が上がり、元のスキルが低い人は速く間違える——こういう構図だ。
コードを書く時間が減った分、何が増えたか
HeydayのSES案件で稼働しているエンジニアからのフィードバックで、一つの傾向が見える。
AIツールの導入により、純粋にコードを書いている時間は確かに減った。しかしその分、以下の業務の比重が増えている。
- 設計・アーキテクチャの議論: 実装速度が上がった分、「何をどう作るか」の議論に時間を割けるようになった
- コードレビュー: AIが書いたコードを含めて、レビューの重要性が増した
- 要件のすり合わせ: 実装が速くなった分、要件の変更やフィードバックのサイクルも速くなり、コミュニケーションの頻度が増えた
- テスト設計: AIがテストコードを生成するとはいえ、「何をテストすべきか」の設計は人間が行う
これは「プログラミングが不要になった」のではなく、プログラミングという仕事の中身が「実装」から「設計・判断・検証」にシフトしたということだ。
AI時代のプログラミングスキル優先順位
ここまでの議論を踏まえて、AI時代に優先すべきプログラミング関連スキルを順位づけする。
1. システム設計・アーキテクチャ理解
最も優先度が高い。AIがコードを書ける以上、「何を作るか」「どう構成するか」を決められる人間の価値が最も高い。マイクロサービスとモノリスの使い分け、データベース設計、API設計、インフラ構成——これらの判断力は一朝一夕では身につかない。
2. AIとの対話設計(プロンプト力)
AIに適切な指示を出す能力。これはプロンプトエンジニアリングという言葉で語られることが多いが、本質は「要件を正確に言語化する力」だ。あいまいな指示からはあいまいなコードしか返ってこない。
私がClaude Codeでサイトを構築する際に最も時間をかけているのは、実はこの「指示の設計」だ。AIにどこまでの文脈を渡すか、制約条件をどう伝えるか、期待する出力のフォーマットをどう指定するか——これらの精度が、AIの出力品質を決定的に左右する。
3. コードの読解力・レビュー力
自分でゼロからコードを書く機会は減っても、コードを「読む」機会は減らない。むしろ増える。AIが書いたコード、他のエンジニアが書いたコード、オープンソースのコード——これらを読んで理解し、問題を見つける力は、AI時代において最も実用的なスキルの一つだ。
4. テスト設計
AIがテストコードを生成できるとはいえ、「何をテストすべきか」「どういうエッジケースがあるか」を考えるのは人間の仕事だ。品質を担保する最後の砦として、テスト設計のスキルは重要性を増している。
5. コーディング力
最後になったが、コーディング力は依然として必要だ。ただし、その必要性の性質が変わった。
以前は「大量のコードを速く正確に書ける」ことが価値だった。現在は「AIが書けない部分を自分で書ける」「AIの出力を修正できる」ことが価値になっている。
コーディング力がゼロだとAIを使いこなせない。一方で、コーディング力だけでは差別化できない。「できて当たり前、その上で何ができるか」の世界だ。
スキル優先度の全体像
| 優先度 | スキル | AI時代の重要性 |
|---|
| 1 | システム設計・アーキテクチャ | 非常に高(AIが代替できない) |
| 2 | AIとの対話設計 | 高(新しいスキル) |
| 3 | コード読解・レビュー力 | 高(AIの出力検証に必須) |
| 4 | テスト設計 | 高(品質担保の最後の砦) |
| 5 | コーディング力 | 中〜高(基礎として必要) |
未経験からエンジニアを目指す人へ
Heydayでは未経験エンジニアの採用にも携わっている。その現場から見えている変化も共有しておく。
未経験エンジニアの採用で変わったこと
以前は「ポートフォリオでCRUDアプリを作りました」が一定の評価を得ていた。コードを書けること自体が価値だったからだ。
2026年現在、CRUDアプリはAIが数分で生成する。ポートフォリオの評価基準は「何を作ったか」だけでなく「なぜそれを作ったか」「どういう設計判断をしたか」「AIとどう協働したか」に移っている。
これは未経験者にとって厳しい変化に見えるかもしれないが、別の見方もできる。AIという強力なツールを最初から使えるという点で、学習の立ち上がりは以前より速い。AIの補助を受けながらも、設計の考え方やコードの読み方を早期に身につけることで、キャリアの加速は可能だ。
未経験エンジニアの単価の現実
未経験エンジニアのSES単価については未経験エンジニアの初年度単価相場と3年で上げる現実的な方法で詳しく解説しているので参考にしてほしい。AI時代であっても、プログラミングの基礎力 + 設計思考 + コミュニケーション力の三位一体が単価を決めるという構図は変わっていない。
FAQ: よくある質問に答える
「プログラミングを今から学んでも意味がないですか?」
意味はある。ただし「コードの書き方」だけを学ぶのでは不十分だ。
プログラミングの基本概念(変数、関数、データ構造、アルゴリズム)は、AIの出力を理解するための共通言語として引き続き必要になる。加えて、設計の考え方、AIツールの使いこなし方、コードの読解力を並行して身につけることを勧める。
「プログラミングを学ぶ」の定義が、「コードを書く技術」から「ソフトウェアを設計し、AIと協働して作る技術」に拡張されたと考えてほしい。
「AIがあれば未経験でもエンジニアになれますか?」
AIの補助があっても、基礎的な学習は必要だ。
「AIに聞けばいい」は、質問の仕方がわかっている人にだけ有効だ。何を質問すべきかがわからない段階——つまりプログラミングの基本概念を理解していない段階では、AIに何を聞いていいかすらわからない。
ただし、学習効率は格段に上がった。エラーの原因をAIに聞ける、コードの意味を解説してもらえる、サンプルコードを生成してもらえる——これらは独学の大きな助けになる。
AIは「学習を不要にするもの」ではなく「学習を加速するもの」だ。
「どの言語を学ぶべきですか?」
2026年4月時点で、需要が安定しているのはJava、Python、TypeScript/JavaScriptだ。
ただしAI時代に重要なのは、特定の言語の文法を暗記することではなく、プログラミングの概念を理解することだ。概念を理解していれば、言語間の移行はAIの補助で格段にやりやすくなっている。
最初の言語としてはPythonが学習コストと実用性のバランスが良い。Webアプリを作りたいならTypeScript、業務システムに進みたいならJavaも選択肢に入る。
言語別の単価相場についてはSES単価の相場一覧を参照してほしい。学ぶ言語の選択に、市場の需給情報は役立つはずだ。
「文系出身でもエンジニアになれますか?」
文系・理系はAI時代のエンジニアリングにおいて、以前ほど決定的な差にはならない。
むしろAI時代に重要なのは「要件を言語化する力」「あいまいさを整理する力」「コミュニケーション力」——これらは文系出身者が得意とする領域でもある。
プログラミングの概念理解は文理問わず必要だが、AIの補助がある現在、その習得のハードルは下がっている。
まとめ: AIでプログラミングはどう変わったか
ここまでの議論を整理する。
不要になったもの:
- 定型コードの手書き(ボイラープレート、CRUD、型定義など)
- プログラミング言語の文法・APIの暗記
- 情報検索・整理の手作業
不要になっていないもの:
- 何を作るかの判断(設計力)
- AIの出力が正しいかの検証(読解力)
- ビジネス要件の理解と翻訳
- チームとのコミュニケーション
- テスト設計
新たに必要になったもの:
- AIへの指示設計(プロンプト力)
- AIの出力の品質評価
- AIツールのワークフロー設計
「AIでプログラミングが不要になる」という主張は、プログラミングを「コードを書く行為」だけに矮小化した場合にのみ成り立つ。プログラミングを「コンピュータに問題を解かせる方法を設計し、実行し、検証すること」と定義するなら、その価値はAI時代にむしろ上がっている。
AI時代のエンジニアキャリア全体の戦略についてはAI時代のエンジニアキャリア戦略で詳しくまとめているので、あわせて読んでほしい。SES業界そのものがAIによってどう変わるかはSES×AIの将来性【2026年版】でSES経営者の視点から解説している。また、SESエンジニアとしてのキャリアパスの全体像はキャリアパス完全版を参照してほしい。
あなたの市場価値を確認してみませんか?
AIがコードを書く時代だからこそ、「自分のスキルが市場でどう評価されるか」を知ることが重要だ。
Heydayの市場単価診断では、言語・経験年数・クラウド経験・上流工程の経験から、あなたの市場単価レンジを算出する。3つの質問に答えるだけで、メールアドレスの入力も不要だ。
あなたの市場単価を診断する →
案件の実態を見てみませんか?
「設計+実装+AI活用」のセット要件が増えていると書いたが、実際にどんな案件があるのかは具体例を見るのが早い。技術スタック、単価帯、勤務形態ごとの案件例を公開している。
案件例を見てみる →
キャリアの方向性を相談しませんか?
「今からプログラミングを学ぶべきか」「どの方向に進むべきか」——こうした悩みは一人で考えても答えが出にくい。IT業界12年、SES事業を6年経営し、数百人のエンジニアキャリアに携わってきた知見をもとに、あなたの状況に合わせた相談ができる。
キャリア相談をする →
Heydayでは契約単価・マージン・商流をすべて開示しています
「自分の単価が適正か分からない」「もっといい条件の案件があるのでは」という方のご相談を受け付けている。
Heydayでは稼働前に契約単価を本人に開示し、マージン構造についても質問があればすべて回答している。
案件例を見てみる →
キャリア相談をする →