AI時代、新人エンジニアに「コードを書く力」は必要ないのか?


生成AIの進化によって、ソフトウェア開発のあり方は大きく変わりつつあります。
 
AIにやりたいことを伝えれば、コードを生成し、エラーの原因を探し、修正案まで提示してくれる。
これまでエンジニアが担っていた作業の一部を、AIが担えるようになりました。

 
企業の人材育成という観点から見ると、一見するとこれは大きな追い風です。これまで時間をかけて身につけてきた「コードを書く」という作業をAIが支援してくれるのであれば、新人エンジニアの育成も、これまでより簡単になるように思えます。
 
 
本当にそうでしょうか?
 
 
AIによって変わったのは、単にコードを書くスピードだけではありません。
私たちは今、「コードを書ける」ということ自体の意味を、改めて考える必要があるのかもしれません。
 

AIが変えたのは、「コードを書ける」の意味


 
これまで、コードを書くためには一定の知識や理解が必要でした。
何をつくるのかを理解し、必要な処理を考え、適切な実装方法を選び、それをプログラミング言語で表現する。
 
もちろん、コードを書ける人が必ずしもすべてを深く理解していたわけではありません。
既存コードの流用や検索によって実装することも以前からありました。
それでも、「コードをアウトプットできること」と「一定の理解や判断があること」は、比較的強く結びついていました。
それはコードを書くまでの過程で、自分自身が考える必要があったからです。
 
ところが、生成AIによってこの関係が変わり始めています。
 
やりたいことを自然言語で伝えれば、プログラミング経験が浅くても、それらしいコードを生成できます。
場合によっては、そのコードの仕組みを十分に理解していなくても、実際に動くところまで到達できます。
 
つまりAIによって、
 
「コードを出せること」と「そのコードを理解し、考えられること」が分離し始めた
 
ということです。これは、人材育成における「評価の仕方」にも影響します。
 
以前であれば、「課題を完成できた」「一定時間内に実装できた」といったアウトプットから、理解度や技術力をある程度推測できました。
しかし、AIが実装を支援するようになると、成果物だけを見ても、どこまで理解し、判断してつくったものなのかが見えにくくなります。
 
この変化は、「いいエンジニアとは何か」を考えるうえでも重要です。
 

AIによって見えてきた、「いいエンジニア」の本質

 
では、コードを書くことを一度横に置いたとき、「いいエンジニア」には何が残るのでしょうか。
考えてみると、優れたエンジニアが以前から行ってきたのは、単にコードを入力することではありません。
 
まず、理解すること
 
何をつくるのか。なぜそれが必要なのか。システムがどのように動き、どこに影響するのか。
目の前の実装だけでなく、その背景まで理解する力です。

 
次に、判断すること
 
どのように設計するのか。どの技術を使うのか。可読性と処理性能をどう両立するのか。ソフトウェア開発には、明確な正解が一つに決まらない場面が数多くあります。その中で、状況に応じて適切な選択をする必要があります。
 
そして、検証すること
 
コードが動いたからといって、それだけで正しいとは限りません。要件を満たしているのか、想定外の入力に対応できるのか、セキュリティ上の問題はないのか。成果物を疑い、自分で確かめる力が求められます。
 
最後に、責任を持つこと
 
なぜその設計にしたのか。なぜそのコードを採用したのか。それを自分の言葉で説明し、最終的な成果物に責任を持つことです。
 
これらは、AIの登場によって新しく生まれた能力ではありません。
以前から、「いいエンジニア」に求められてきたものです。
そう考えると、AIによって「いいエンジニア」の定義が変わったというよりも、
 
AIによって、これまでコードを書く力の中に隠れていた「いいエンジニアの本質」が見えやすくなった
 
と考えた方が自然なのかもしれません。
 

AIは、エンジニアの地力を「増幅する」


 
AIを使えば、誰でも同じように成果を出せるのでしょうか。
おそらく、そう単純ではありません。
 
たとえば、AIがあるコードを生成したとします。
あるエンジニアは、そのコードを見て「ここには問題がある」「この設計より別の方法が適している」と判断し、AIに修正を指示できます。
逆に、その領域への理解が十分でなければ、コードが動いたことだけを確認して、そのまま採用してしまうかもしれません。
 
使っているAIは同じでも、結果は変わります。
 
AIは単に人間の能力不足を埋めてくれるのではなく、その人が持つ知識や理解力、判断力を増幅するとも考えられます。
 
十分な地力を持つエンジニアであれば、AIによって、より速く、より広い範囲の仕事ができるようになります。
一方で、理解が十分でない状態でもコードを生成できるため、「よく分からないものを、短時間で大量につくる」ことも可能になります。
ここに、AI時代の人材育成の難しさがあります。
 
AIによってコードを出すことは簡単になりました。
 
しかし、それは必ずしも、エンジニアを育てることまで簡単になったという意味ではありません。
むしろ、これまでコードを書く過程の中で自然と求められていた「理解する」「判断する」「検証する」といった力を、より意識して育てる必要が出てきたとも言えます。
 

AIがコードを書くなら、「コードを書く力」はもういらないのか?

 
ここで、疑問が出てきます。
 
AI時代に重要なのが理解力や判断力、検証力なのであれば、コードそのものはAIに任せてしまえばよいのではないか。
これからのエンジニアには、自分でコードを書く力は必要なくなるのではないか。
 
しかし、そう単純ではありません。
AIが生成したコードについて、
 
「この処理は何をしているのか」
「なぜこの実装になっているのか」
「このコードに問題はないのか」
「ここを変更すると、どこに影響するのか」
「もっと適切な実装方法はないのか」

 
と判断するためには、コードそのものを理解する力が必要です。
 
つまり、自分ですべてのコードを書く必要性は下がっていったとしても、コードを書けるだけの地力まで不要になるわけではありません。
むしろ、コードを書く力の「役割」が変わっていくと考える方が適切でしょう。
 
これまでは、
 
自分で成果物をつくるための力
 
として、コードを書く能力が必要でした。
これからは、それに加えて、
 
AIが生み出した成果物を理解し、判断し、検証するための土台
 
としても、プログラミングの知識や経験が必要になります。
AIがコードを書く時代だからといって、コードを理解する力までAIに任せられるわけではありません。
 

AI時代の新人育成では、「何をつくれたか」だけで評価しない


 
ここで、最初の問いに戻ります。
 
AIでコードが書けるようになれば、新人エンジニアの育成は簡単になるのでしょうか?
 
コードという成果物をつくるまでの時間だけを見れば、以前より短縮できるでしょう。
しかし、人材育成として考えたとき、重要なのは「成果物ができたか」だけではありません。AIによって「コードを出せること」と「理解していること」が分離したのであれば、育成する側も、成果物だけを見て成長を判断することが難しくなります。
 
たとえば、研修や新人育成で、
 

  • 課題を完成できたか
  • どれだけ多く実装できたか
  • どれくらい短時間で完成できたか
  • 正常に動くものをつくれたか

 
といった結果だけを評価している場合、その評価方法がAI時代にも適切なのか、一度見直す必要があります。
 
これからは、それに加えて、
 

  • 要件をどのように理解し、問題を分解したか
  • なぜその設計や実装方法を選んだのか
  • AIから複数の案が出たとき、何を基準に選んだのか
  • AIが生成したコードをどのように検証したのか
  • 問題を発見したとき、どのように原因を考えたのか
  • 自分の判断を、自分の言葉で説明できるか

 
といった思考や判断のプロセスも、育成成果として見ていく必要があります。
これは、アウトプットの量や速度を評価する必要がなくなる、ということではありません。
 
AIによってアウトプットを生み出すハードルが下がったからこそ、「何をつくったか」だけではなく、「どう考えてつくったか」まで評価するという視点を加えることが重要になります。
 
企業がこれから育てるべきなのは、
 
「AIを使ってコードを出せる人」ではなく、AIを使いながらも、自分で理解し、判断し、検証できるエンジニア
 
ではないでしょうか。
 
そのためには、研修内容だけでなく、「何ができれば、この新人はエンジニアとして育ったと判断するのか」という評価軸そのものも、AI時代に合わせて見直す必要があります。
まずは、自社の新人研修や育成制度について、
 
成果物の量や完成までの速さだけでなく、要件理解や設計、検証のプロセスにおける「判断の質」まで評価できているか。
 
一度、確認してみることから始めてみてはいかがでしょうか。
 

AI時代の新人エンジニア育成|ピジェトレ「AI駆動開発コース」

AIを使いながらも、自分で理解し、判断し、検証できるエンジニアを育てるには、どのような研修設計が必要なのでしょうか。
 
アスリーブレインズの「ピジェトレ|AI駆動開発コース」では、AIの活用方法だけでなく、プログラミングの基礎や原理原則の理解、AIが生成した成果物を検証する力までを含めて、新人エンジニアの育成を設計しています。
 

AI駆動開発コースについて詳しく見る