プログラミングはAIがやる時代に人間エンジニアがすべき5つのこと

プログラミングはAIがやる時代に人間エンジニアがすべき5つのこと
Mirai

AIがプログラミングをやってくれるって聞いたけど、じゃあ人間のエンジニアって必要なの?これからプログラミングを学ぶ意味はあるのかな……。

Zetto

今回はプログラミングはAIがやる時代に、人間エンジニアがすべき5つのことを具体的に解説するよ!AIと共存して生き残る考え方を一緒に整理していこう。

Zettoのライタープロフィール
本記事の専門性

現役エンジニアのZettoです。AIツールを活用しながら、Webアプリ開発の実務案件をこなしてきました。現在はVue.js(TypeScript)を中心に開発案件を担当し、プライベートではClaude Codeを使ったシステム開発も実践しています。

【保有資格】Java Gold / SEO検定全級 / WEBライティング実務士

プログラミングはAIがやる時代が到来し、「エンジニアとして将来どうなるのか」という不安を感じている方は多いのではないでしょうか。

この記事を読めば、AIがプログラミングをどこまで担えるのか、そして今すぐ何をすべきかが整理できます。

ぜひ最後まで読んでみてください!

目次

AIがプログラミングをやる時代|何がどう変わったのか

AIプログラミングの変化

AIがプログラミングをやる時代になり、エンジニアの仕事の中身は変わってきています。

  • 人間がやるべきタスクが限られてきた
  • AIが得意なこと・苦手なことを整理する
  • 現場のAI活用は2極化している

それぞれ見ていきましょう。

人間がやるべきタスクが限られてきた

AIの登場によって、コードを「書く」という作業の比重は下がってきています。

以前は1時間かけて書いていたコードが、AIへの一言で数秒で出てくる。これが今の現実です。

結果として、「ただコードを書ける人」の価値は相対的に下がり、「何を・なぜ・どう作るか」を判断できる人の価値が上がっています。

エンジニアに求められるタスクの変化はざっくり言うと、こんな感じです。

  • 以前: コードを書く → テストする → レビューする
  • これから: 要件を整理する → AIに指示する → 出力を検証・修正する →デプロイ(公開)する

「手を動かす」から「意思決定をする」仕事へのシフトが起きているんです。

AIが得意なこと・苦手なことを整理する

AIを正しく使うには、まず何が得意で何が苦手かを把握することが重要です。

感覚で「AIが何でもやってくれる」と思ってしまうと、使い方が雑になります。反対に「AIなんて大したことない」と思っていると、本来使えるはずのパワーを捨てることになります。

AIが得意なプログラミング領域

AIが得意な領域は次の通りです。

  • 定型的なコード生成: CRUD処理、バリデーション、フォームの実装など
  • コードの補完: 関数名を書き始めると候補を提示してくれる
  • リファクタリング提案: 既存コードをより読みやすい形に変換する
  • エラーの説明と修正案提示: エラーメッセージを貼れば原因を解説してくれる
  • テストコードの自動生成: 関数を渡せばユニットテストを書いてくれる
  • ドキュメント作成: コメントや仕様書のドラフトを生成する

特に「コードを素早く生成する」作業は、AIが圧倒的に得意です。

AIが苦手・できない領域

一方で、AIが苦手なことも明確にあります。

  • ビジネス要件の定義: 「そもそも何を作るべきか」の判断はできない
  • 曖昧な仕様の解釈: 顧客の言葉の裏にある真意を読み解くのは人間の仕事
  • 複雑なシステム設計: 非機能要件(性能・セキュリティ・拡張性)の総合判断
  • 未知のドメイン知識が必要な実装: 業界固有のルール・法規制への対応
  • コードの最終的な責任: AIが出したコードが正しいかの保証はできない
  • チームのコミュニケーション: 人間関係の調整・ステークホルダーとの折衝

AIはあくまで「速く書く道具」であり、「何を作るか」「正しいか」の判断は人間がやることかなと。

現場のAI活用は2極化している

実は、現場のAI活用は大きく2極化しているというのが僕の実感です。

積極的に活用しているエンジニアは生産性を何倍、何十倍に上げている一方、「うちの現場ではAI禁止」「セキュリティ上使えない」という環境も多くあります。

僕が今参画している現場も、正直なところAIツールがほとんど使われていません。セキュリティポリシーの関係で、外部サービスへのコード貼り付けが制限されているからです。

だからと言って「AIはまだ関係ない」と思うのは危険だと感じています。現場がAIに追いついていないだけで、市場全体では確実にシフトが起きているからです。

僕は今、プライベートの時間でAIツールのキャッチアップを続けています。 現場では使えなくても、使い方を知っているかどうかで将来の選択肢が大きく変わってくるからです。

AI活用が進んでいる現場・そうでない現場、どちらにいても、個人として使いこなせる力を磨いておくことが大事だと思っています。

AIに代替されるエンジニアと重宝されるエンジニアの違い

AIに代替されるエンジニア

AIが普及した今、エンジニアの価値は「何ができるか」によって左右されます。

  • 代替されやすいエンジニアの特徴
  • 代替されにくいエンジニアの特徴
  • 筆者が現場で見てきたエンジニアのリアル

順番に解説していきます。

代替されやすいエンジニアの特徴

代替されやすいエンジニアには、共通したパターンがあります。

一言でいうと、「言われたことをコードに変換するだけの人」です。

① 指示通りにコードを書くだけ

仕様書や上司の指示に従ってコードを書くだけで、それ以上の関与をしない。この仕事はAIが最も得意とする領域です。

「このAPIをたたいてデータを取得して表示する処理を書いて」という依頼なら、今のAIツールは数秒で答えを出してきます。

② 設計・要件定義に関与しない

実装だけに集中して、「どんなシステムにするか」「要件が本当に正しいか」という上流工程に関わらないエンジニアも、代替リスクが高いです。

設計力がなければ、AIが生成したコードの正しさを判断することもできません。

③ AIを使わない・使いこなせない

「AIなんて怪しい」「品質が担保できない」「スキルが伸びない」という理由でAIを一切使わないのも、リスクがあります。

AIを使いこなすエンジニアと使わないエンジニアでは、生産性に大きな差がついてきています。ツールとして正しく理解した上で活用できる力は、今や必須になりつつあります。

代替されにくいエンジニアの特徴

代替されにくいエンジニアは、AIにできない領域に価値を持っている人たちです。

① 上流工程のスキルがある(もしくはこれから磨こうとする姿勢がある)

要件定義・設計・アーキテクチャ選定など、「何をどう作るか」を決める力がある人は、AIには代替されません。

現在の実力がまだ低くても、「上流に関わろう」という姿勢があることが重要です。もしご自身が現在、下流工程が中心なのであれば、積極的に上流工程への参画意思をアピールするのも一つの手段かなと。

また上流担当者に「なぜこの設計にしたのか」を質問したり、仕様の背景を理解しようとする姿勢は、確実にスキルにつながっていきます。

② 顧客の真の課題を見極める力がある

顧客が「こういう機能が欲しい」と言ってきたとき、その言葉の裏にある本質的な課題を理解できるかどうかは人間にしかできません。

「在庫管理システムを作りたい」という依頼の裏に「棚卸しの工数を減らしたい」という本音がある。これを引き出せるのは、人間のコミュニケーション力ですね。

③ AIを味方につけて的確な指示出しができる

AIを使いこなすには、「どう指示するか」のスキルが必要です。

漠然とした指示では漠然とした答えしか返ってきません。適切な前提条件・制約・出力形式を与えて、AIから高品質な出力を引き出せる人は、これからのエンジニアとして非常に価値が高いです。

④ 共に働きたいと思われる人材になる

技術力だけでは生き残れない時代になってきています。

「あの人と一緒に仕事したい」と思われるためのコミュニケーション力・誠実さ・チームへの貢献姿勢は、AIには絶対に代替できない価値です。

フリーランスとして案件を受け続けてきた僕の経験上、継続して依頼が来るエンジニアは「技術が一番できる人」ではなく「信頼できる人」であることが多いです。

⑤ 会社に頼らず個人でもビジネスを成長させている

副業・ブログ・個人開発など、自分でビジネスを動かせるエンジニアは、AIの波にも強いです。

会社という組織に依存するだけでなく、個人でも価値を生み出せる力を持っていると、時代の変化に柔軟に対応できます。

筆者が現場で見てきたエンジニアのリアル

現場のリアルを正直に言うと、AIの普及によってエンジニアの仕事はまだそこまで大きくは変わっていません。

僕が今参画している案件では、既存システムの保守・改修がメインです。セキュリティポリシーの関係でAIツールを気軽に使える環境でもないです。

だからと言って「AIはまだ関係ない」と思うのは危険だと感じています。現場がAIに追いついていないだけで、市場全体では確実にシフトが起きているからです。

もし現場ではAIを使えなくても、個人プロジェクトでClaude Codeを使いながらAIスキルを磨いていくのもいいでしょう。

現場の環境に関係なく、個人でAI活用力を高めておくことが、これからのエンジニアには不可欠だと思っています。

AIを使いこなすために今すぐ鍛えるべき5つの力

AI習得に必要な5つスキル

AIがプログラミングをやる時代に生き残るには、特定のスキルを意識して鍛える必要があります。

  • プロンプトエンジニアリング力
  • 設計・アーキテクチャ力
  • ビジネス要件の理解・翻訳力
  • AIアウトプットの品質判断・検証・修正力
  • 継続的なキャッチアップ力

1つずつ解説します。

プロンプトエンジニアリング力

AIへの指示の質が、アウトプットの質を直接決めます。

同じAIツールを使っていても、プロンプトが違うだけで出てくる結果は天と地ほど変わります。この「指示出しの力」がプロンプトエンジニアリングです。

悪いプロンプトと良いプロンプトの違い

悪い例: 「ユーザー登録の処理を書いて」
良い例: 「JavaのSpring Bootで、メールアドレスとパスワードを受け取り、BCryptでハッシュ化してDBに保存するユーザー登録APIを書いて。バリデーションとエラーハンドリングも含めて。」

良いプロンプトには次の要素が含まれています。

  • 言語・フレームワークを明示する
  • 入力と出力を明確に定義する
  • 制約・条件を加える
  • 期待する品質レベルを伝える

プロンプトを磨く練習法

プロンプトは「書いて → 結果を見て → 改善する」の繰り返しで上達します。

まずは自分が過去に書いたコードをAIに再現させてみてください。「自分が期待する出力と違う」と感じた部分を修正していくことで、指示の精度が上がっていきます。

設計・アーキテクチャ力

AIがコードを生成してくれるとしても、「どんな設計にするか」はまだ人間の仕事です。

設計力がなければ、AIが生成したコードを「これでいいのか」と判断することもできません。

設計・アーキテクチャ力を鍛えるには、実際のコードベースを読む経験が一番の近道です。GitHubで公開されているOSSのコードを読んで、「なぜこういう設計にしたのか」を考える習慣をつけると、設計の引き出しが増えていきます。

実務に出てからは、先輩エンジニアの設計レビューのコメントを注意深く読むだけでも、かなり学べます。

ビジネス要件の理解・翻訳力

AIはコードを書けますが、「何を作るべきか」は判断できません。

ビジネス要件を理解して、それを技術的な仕様に翻訳できる力は、エンジニアとして非常に重要です。

この力は、開発の現場でお客さんや上司の言葉を「技術にどう落とし込むか」を考え続けることで磨かれます。「なぜこの機能が必要なのか」「誰がどう使うのか」を常に意識することが大事です。

プログラミングを学ぶ意義についてはこちらの記事でも詳しく触れているので、合わせて読んでみてください。

AIアウトプットの品質判断・検証・修正力

AIが生成したコードは、必ずしも正しいとは限りません。

これは見落とされがちな事実で、「AIが書いたから正しいはず」と思って本番環境に投入してしまうのは危険です。

実際に僕もClaude Codeで生成したコードはリスクのある箇所に絞ってレビューしています。AIの出力はあくまでドラフトであり、最終的な品質の責任は人間が持つという認識が必要です。

AIアウトプットを検証するポイントは次の通りです。

  • 動作確認: 期待通りに動くか
  • エッジケース: 異常系・境界値の処理がされているか
  • セキュリティ: SQLインジェクションやXSSの脆弱性がないか
  • 保守性: 命名・コメント・構造は適切か

継続的なキャッチアップ力

AIツールの進化スピードは非常に速く、半年前の常識が今では古くなっていることもあります。

「一度覚えたら終わり」ではなく、常に新しい情報をキャッチアップし続ける力が求められるかなと。

僕自身、X(旧:Twitter)で発信力のあるエンジニアの方の情報や、Yahoo!ニュースのITジャンルをみて情報収集しています。

毎日30分でもAI関連の情報に触れる習慣をつけることが、長期的に大きな差になっていきます。

現役エンジニアが実践するAI活用術【5ステップ】

エンジニアAI活用5ステップ

ここからは、実際に僕が実践しているAI活用の具体的なステップを紹介します。

  • まず1言語の基礎を固めてからAIを使う
  • GitHub Copilotで補完に慣れる
  • ChatGPTをペアプロ相手として使う
  • AIに設計レビューを依頼してセカンドオピニオンにする
  • AIとの協働を「当たり前」にする

順にみていきましょう。

【ステップ1】まず1言語の基礎を固めてからAIを使う

AIを使う前提として、最低限のプログラミング基礎は必要です。

「AIが全部やってくれるから、コードを書かなくてもいい」という考え方では自身の本質的な成長が見込めません。基礎がないと、AIの出力が正しいかどうかも判断できないからです。

僕自身、プログラミングの基礎を徹底的に固めたことが、フリーランス転身にも今のAI活用にも生きています。土台があるからこそ、AIに精度の高い指示出しができたり、出力を正しく評価できたりするわけですね。

基礎として最低限押さえるべきこと

  • 変数・型・関数・クラスの概念
  • 条件分岐・ループ・例外処理
  • HTTPリクエスト・レスポンスの仕組み
  • データベースの基本操作(CRUD)
  • バージョン管理(Git)の基本

おすすめの学習順序

基礎を固めてからAIを補助として使う、という順番がおすすめです。

  1. 1言語に絞って基礎文法を学ぶ(Java・Python・JavaScriptなど)
  2. 簡単なアプリを自力で作る
  3. 作る途中でAIを補助として使い始める
  4. AIのアドバイスを自分で検証する習慣をつける

基礎なしにAIだけに頼っていると、エラーが出たときに何もできなくなります。土台を作ってからAIを使う、この順番が大事です。

【ステップ2】GitHub Copilotで補完に慣れる

最初のAI活用として一番おすすめなのが、GitHub Copilot です。

コードを書いている最中に、次に書くべきコードをリアルタイムで提案してくれます。VSCodeなどのエディタに統合されているので、ツールを切り替える必要もありません。

最初は「合っているのか合っていないのかわからない」感覚があると思います。でも使い続けるうちに、提案の精度が高い領域・低い領域がわかってきて、徐々に使いこなせるようになっていきます。

補完に慣れてくると、定型的なコードを書く時間が大幅に削減されるのを実感できます。これを実感することが、AI活用のモチベーションにつながりますよ。

【ステップ3】ChatGPTをペアプロ相手として使う

ChatGPTは「ペアプログラミングのパートナー」として使うのが非常に効果的です。

  • 「この処理、どう書けばいいか教えて」
  • 「このコードのどこがおかしいか確認して」
  • 「このエラーはなぜ起きているか説明して」

このように、リアルタイムで相談相手として使えます。

特に一人で学習・開発している方には、壁打ち相手としての価値が高いです。先輩エンジニアがいない環境でも、疑似的にコードレビューをしてもらえます。

ただし、ChatGPTの回答を鵜呑みにしないことが前提です。 「なぜこの書き方なのか」を必ず自分で確認する習慣をつけましょう。

【ステップ4】AIに設計レビューを依頼してセカンドオピニオンにする

AIツールは、設計のセカンドオピニオンとしても使えます。

「この設計どう思う?改善点を教えて」という使い方です。自分が考えた設計をAIに投げると、見落としていた考慮事項や別のアプローチを教えてくれることがあります。

これは特に上流工程のスキルを磨くのに有効です。AIが「こういうケースはどうする?」と問いかけてくれることで、設計の抜け漏れに気づけるんですよね。

もちろん、AIの提案が常に正しいわけではないので、最終判断は自分でする必要があります。あくまでセカンドオピニオンとして活用するのが正しい使い方です。

【ステップ5】AIとの協働を「当たり前」にする

最終的に目指すのは、AIを使うことを意識しなくなるくらい「当たり前」にすることです。

調べ物はGoogle → ChatGPT、コーディングはエディタ + Copilot、設計はAIに相談してから固める。これが自然な流れになると、開発スピードが別次元になります。

最初は「どこでAIを使うか」を意識して決めていても、慣れてくると自然に使いどころが分かるようになります。大事なのは、とにかく使い続けることです。

【番外編】Claude Codeが最強:まずは自身の課題を解決するシステムを作ろう

最後に番外編として、僕が最近特に注目しているツールを紹介します。

それがClaude Codeです。

Claude Codeはターミナル上で動くAIアシスタントで、コードベース全体を把握した上で指示に応えてくれます。「この機能を追加して」「このバグを直して」という指示だけで、実際にコードを書いてファイルを編集してくれるんです。

僕は現在、自分のポートフォリオサイトの機能追加にClaude Codeを使っています。「〇〇の機能を追加して」「このデザインを修正して」という指示を出すと、コンテキストを理解した上で実装してくれます。

最初のAI活用として特におすすめなのが、「自分が今困っている小さな課題を解決するシステムを作る」ことです。業務の自動化ツール、家計管理アプリ、自分のポートフォリオサイトなど、実際に使うものを作ることでAIとの協働が体感レベルで身につきます。

プログラミングはAIがやる時代のよくある質問(FAQ)

AIプログラミングFAQ

よくある質問をまとめました。

Q1:プログラミング初心者でもAIツールを使っていいですか?

使ってOKですが、基礎を学ぶ段階では「補助」として使うことをおすすめします。

AIを使い始めるタイミングとして、まず基本的な文法・ロジックは自力で書けるようになってから、というのが理想です。理由は、AIが出したコードが正しいかどうかを判断するためには、自分自身の基礎知識が必要だからです。

ただし「AIを使ってはいけない時期」があるわけではありません。学習の途中でも、「コードの意味を説明させる」「エラーの原因を教えてもらう」という使い方は、理解を深めるために非常に有効です。

Q2:AIがあればプログラミングスクールに通う必要はないですか?

スクールの価値は「コードを書く方法を教えてもらうこと」だけではないので、一概には言えません。

AIで調べれば技術的な疑問は解決できますが、スクールには「カリキュラムの体系性」「メンターへの相談環境」「同期との切磋琢磨」という別の価値があります。

一方で、「AIがあれば独学でも十分な時代になった」という面も確かにあります。独学か・スクールかの選択は、「自己管理力があるか」「金銭的なコストとのバランス」で判断するとよいでしょう。

スクール卒業後の転職に関しては、こちらの記事が参考になります。スクール受講を検討している方は、ぜひチェックしてみてください。

Q3:AIを使い続けるとプログラミングスキルが伸びなくなりませんか?

使い方によります。

「AIに全部任せてコードを読まない」という使い方をしていると、確かにスキルは伸びにくくなります。自分で考える機会がなくなるからです。

一方、「AIが出したコードを読んで、なぜこう書いたかを理解する」という使い方をしていると、むしろスキルアップにつながります。

AI活用と自走力の両立のコツは、「AIに答えを出してもらいながら、その答えを自分で検証する」プロセスを習慣にすることです。理解せずにコピペしている状態と、理解した上で活用している状態では、半年後の差がかなり大きくなります。

まとめ|AIと共存できるエンジニアが時代を生き抜く

プログラミングはAIがやる時代に、人間エンジニアがすべきことについて解説しました。

重要なポイントをまとめます。

  • AIが得意なのは「コードを速く書く」こと。「何を作るか・正しいか」の判断は人間の仕事
  • 代替されやすいのは「指示通りにコードを書くだけ」のエンジニア
  • 代替されにくいのは「設計力・要件理解・AIへの的確な指示出し」ができる人
  • まず1言語の基礎を固めてから、AIを補助として使う順番が正しい
  • AIとの協働を当たり前にすることが、これからの生産性を左右する

AIをうまく使えば、一人で出せる成果量は確実に増えます。僕自身、Claude Codeを使い始めてから個人開発の速度が大きく変わったのを実感しています。

重要なのは「AIに任せて楽をする」ではなく、「AIと一緒により高い成果を出す」という姿勢です。この意識の違いが、数年後の差になってきます。

ぜひ今日から、一つのAIツールを使い始めてみてください。

Mirai

なるほど〜!AIと「共存する力」を磨くことが大事なんだね。今日からChatGPTをペアプロ相手にしてみる!

Zetto

まず使い始めることが大事だね。使いながら精度を上げていけばOK!

プログラミング学習を基礎から体系的に見直したい方は、こちらの記事も参考にしてみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次