AI時代にエンジニアが伸ばすべき能力
AIがコードを書くようになった今、エンジニアは何を伸ばせばいいのか。
「プログラミングを勉強しても、AIに置き換えられるのでは?」と考える人もいると思います。
私は、これからのエンジニアに必要なのは、AIに負けない技術を身につけることではなく、AIを使いながら問題を定義し、判断し、解決まで持っていく能力だと考えています。
特に重要なのは、次の5つです。
問題を言語化する力
業務・ドメインを理解する力
設計・判断する力
人と調整し、意思決定を前に進める力
AIを使って思考と実行を拡張する力
結論:AI時代は「コードを書く力」だけでなく「何を作るかを考える力」が重要になる
AIによってコード生成や調査のハードルが下がるほど、単純な実装作業だけで差別化することは難しくなります。
一方で、次のような仕事は残ります。
そもそも何を解決すべきかを考える
なぜその仕様が必要なのかを理解する
複数の案から適切なものを選ぶ
関係者の意見を整理して合意形成する
AIが出した結果を検証し、責任を持って世の中に出す
つまり、AIによって「エンジニアの仕事がなくなる」というより、エンジニアの価値が発揮される場所が、実装そのものから問題設定・判断・推進へ広がっていくと考えています。
1. 技術力そのものより「悩みを正しく言語化する力」が重要になる
AIを使ううえで、意外と重要なのが言語化能力です。
「AIに質問すれば答えが返ってくる」と思われがちですが、実際には、自分が何に悩んでいるのかを適切な言葉にできなければ、欲しい回答にたどり着けません。
私自身は、AIを使ううえで、技術力そのものよりも「悩んでいることを適切にプロンプトに起こす力」の重要性を感じています。
ただし、ここで「技術知識はいらない」と考えるのは間違いです。
技術知識は、AIに正しい用語で質問し、返ってきた回答を評価するための土台になります。
例えば、エラーの状況を「なんか動きません」としか説明できなければ、AIから得られる回答も曖昧になります。
一方で、使用している技術、発生条件、期待する挙動、実際の挙動、エラーメッセージなどを整理できれば、AIに対してかなり精度の高い質問ができます。
つまり、これから重要になるのは、
技術知識 × 言語化能力 × AI活用能力
の組み合わせです。
2. 業務・ドメイン知識は、AI時代の強い専門性になる
AIが技術的な知識を広く扱えるようになるほど、特定の業務領域を深く理解していることの価値は相対的に高くなると考えています。
例えば会計システムであれば、「この処理をJavaで実装するにはどうすればいいか」はAIに質問できます。
しかし、
なぜこの処理が必要なのか
この数字にはどんな業務上の意味があるのか
現場ではどのように使われているのか
どの仕様なら業務上受け入れられるのか
といった判断には、業務の文脈が必要です。
私自身、金融系システム開発を経験し、後半では要件定義にも関わりました。今後は会計・経営管理領域にも関わりながら、技術と業務の両方を理解できる人材を目指しています。
AIが一般的な知識を持っていても、特定の会社・業務・システムに固有の事情まで正しく判断できるとは限りません。
だからこそ、業務知識を一つの専門性として積み上げる意味は大きいと考えています。
3. AIが出した答えを「採用していいか」を判断する力が必要になる
AIにコードを書かせること自体は、今後さらに簡単になっていくでしょう。
難しいのは、そのコードや設計案を本当に採用してよいのかを判断することです。
特に難しいのが、既存システムへの変更です。
私が実際の開発で難しいと感じるのは、レガシーな大きなシステムに対して、既存の枠組みの中で新機能を追加するような仕様設計です。
このようなケースでは、単純に「新機能を実装するコード」を生成できれば終わりではありません。
既存仕様との整合性
既存ユーザーへの影響
周辺機能への影響
過去の経緯を踏まえた制約
将来の保守性
などを考える必要があります。
AIは案を出すことはできますが、その案を自分たちのシステムに適用してよいかを最終的に判断するのは人間です。
だからこそ、AI時代に技術力を捨てるのではなく、技術を使って「AIの出力を評価できる力」を維持することが重要です。
4. 環境構築や障害対応など「AIだけでは完結しない問題」に対応する力
AIを使って仕事をしていると、アプリケーションのコードを書くこと以外にも、意外と人間側の知識が必要な場面があります。
私自身、AIを使っていて特に難しいと感じるのが、環境構築、インフラ整備、サーバー起因の障害対応などです。
これらは、アプリケーションエンジニアが普段から直接触れているとは限らない領域です。
もちろんAIに相談することはできます。
しかし、実際の環境や構成、権限、ネットワーク、ログなどを理解していなければ、AIから提示された解決策が正しいかどうかを判断できません。
ここからも、AI時代に必要なのは「AIに全部やらせること」ではなく、AIを使いつつ、自分で状況を把握して判断できる基礎力だと分かります。
5. AIを使える人より「生成結果に責任を負える人」が強い
AIを使うこと自体は、今後ますます一般的になります。
そのため、単に「ChatGPTを使えます」「コードを生成できます」というだけでは、大きな差別化にはなりにくいでしょう。
私が重要だと考えているのは、AIの生成結果を自分で検証し、意思決定し、責任を持って世の中に出せることです。
AIを使うのが上手いエンジニアは、これから無数に出てくるはずです。
一方で、生成された内容について、
本当に正しいのか
この仕様で問題ないのか
このリスクを許容してよいのか
関係者にどう説明するのか
最終的に誰が責任を負うのか
まで考えて判断できる人は、相対的に少ないと考えています。
意思決定や判断は、人間の重要な役割として残り続けるでしょう。
若手エンジニアが今後3〜5年で伸ばしたい3つの能力
私自身が今後3〜5年で特に伸ばしたいのは、次の3つです。
1. AIにも回答が難しい領域で、一芸に秀でる
会計・経営管理など、自分が深く理解しているからこそ価値を出せる業務領域を作ります。
「広く浅くAIに聞けば分かる」領域ではなく、業務の文脈まで理解している専門性を目指します。
2. 適切なプロンプトを作る言語化能力
AIに何を聞けばよいのか、何が問題なのかを整理する力を鍛えます。
これは単なるプロンプトテクニックではなく、問題設定力そのものに近い能力だと考えています。
3. 健全な意思決定を支える基礎体力を維持する
少し意外に思われるかもしれませんが、私は体調管理も重要な能力の一つだと考えています。
AIによって情報処理や作業の速度が上がっても、最終的に判断する人間の集中力や思考力が落ちていれば、良い意思決定はできません。
その意味で、体調管理は単なる健康管理ではなく、長期的に判断力を維持するための土台です。
「AIを使えるエンジニア」と「AIに仕事を奪われにくいエンジニア」は違う
ここは明確に分けて考えたほうがよいと思います。
AIを使えるエンジニアとは、AIを使ってコードを書いたり、調査したり、資料を作ったりできる人です。
一方、AIに仕事を奪われにくいエンジニアは、AIを使っても最終的な判断・設計・業務理解・合意形成・責任を担える人です。
AIの性能が上がるほど、前者の能力は一般化していく可能性があります。
だからこそ、後者を目指す必要があります。
私が目指している方向
私はこれまでJava、Spring Boot、TypeScript、React、AWS Lambdaなどを使った開発を経験してきました。
今後は技術だけを専門にするより、技術 × 業務 × プロジェクト推進の組み合わせを強くしたいと考えています。
もともとPL/PMとしての能力を伸ばしたいと考えていましたが、AIの普及によって、この方向性はさらに合理的になったと感じています。
AIに実装を支援してもらいながら、自分は問題設定、業務理解、設計、判断、関係者との調整により多くの時間を使う。
これが、これからのエンジニアとして目指したい姿です。
まとめ
AI時代のエンジニアに必要なのは、「AIにできない仕事」を探すことだけではありません。
重要なのは、AIを使うことで、人間にしかできない判断や、AIだけでは難しい業務理解・問題設定・合意形成により多くの力を使えるようにすることです。
特に私が重要だと考えているのは、次の5つです。
問題を適切に言語化する力
業務・ドメインを深く理解する力
AIの出力を評価する設計・判断力
人と調整して意思決定を進める力
AIを仕事のプロセスに組み込む力
技術力は不要になるわけではありません。
むしろ、技術を土台にして、その上に業務知識・言語化能力・判断力・プロジェクト推進力を積み上げることが、AI時代のエンジニアにとって重要だと考えています。
そして、最終的に目指したいのは「AIを使えるエンジニア」ではなく、AIを使って成果を出し、その成果に責任を持てるエンジニアです。
