AIの時代にもプログラマの教育は必要だと思うというスタンスで書く。
AIがコーディングすれば人がいらなくなるという雰囲気がある。この数年のAI進化をみると、そうはならんとは言い切れない。短期的な人件費削減と効率化の観点から見れば、一定の説得力があるように見える。
しかし、その短絡的な空気感を信じてIT人材、特に若手に対する育成投資を停止したり縮小したりすることは、大きなリスクがある。
AIは人の知性を拡張する強力なツールであるものの、システム全体を見通すアーキテクチャ設計能力、ビジネス上の複雑な要求を解釈し、倫理的かつ技術的にガードレールを設定する能力など、上流工程や非技術的な側面に求められる高度な能力を代替することはできない 。
■ AIで人が不要になる?
コーディングに人が必要なくなっただけで、コンピューターサイエンスなどの知識を持った人が重要であることに変わりない。人の役割が変わるとしても、育成しなくて良いわけではない。
重要となるのは、AIが生成したコードの品質を評価し、複雑なシステムアーキテクチャに統合する能力、そして技術的な解決策をビジネス戦略、データ、感情、論理といった異なる要素と結びつけ、新たな価値を創造する役割である。
この役割の変換の構造的な問題は、高付加価値な知性を習得するためには、実務経験(OJT)を通じての反復的な学習や、文脈理解、非定型的な問題解決の経験が不可欠であるという点にある。AIによるコーディングの自動化は、この高付加価値な知性を獲得するための初期訓練の機会、つまり「泥臭い」現場でのOJTを奪うというパラドックスを生み出している。
もしこの育成機会の空洞化が進むならば、企業は短期的な効率を得る代わりに、将来的に複雑な問題に対応できる、あるいはAIを戦略的に活用できる高度人材の供給を途絶えさせることになる。この空白期間は、かつての特定世代における雇用機会の不足が引き起こした人材の断絶と同様に、日本のデジタル競争力を決定的に損なうリスクを抱えている。
すごくできるエンジニアや要件定義ができる人だけが生き残る。それもそうかもしれない。しかし、根拠を求められると薄い「勘」としか言いようがないが、エンジニア、というかコンピューターに指示をだして仕事をする人はこれからもずっと重要で必要だと感じている。
■ 若手の育成機会がすごく減ってる件
AIによる「経験の価値」の破壊
若手の育成機会は、AIの登場で大きく減っている。研修や学校教育で補えないOJTレベルの仕事が全くなくなってる。
先輩やリーダーが無理やり仕事を作って、若手の育成のために分け与える。それはこれまでも同じだった。しかし、無理やり作ってもらった成長機会を、AIを使ってこなすもんだから成長機会になってない。
これまでのプログラマ育成でのOJT(On-the-Job Training)の価値は、単にタスクをこなすことではなく、非効率な作業や業務を通じて技術的負債を理解し、失敗から文脈と暗黙知を学ぶことにもあった。
若手は、初期段階で非効率な手法を通じて泥臭いコーディングやデバッグを経験することで、なぜ特定の設計が採用されたのか、なぜこのコードが複雑なのかといった「技術の裏側にある文脈」を把握することができた。AIは、この「非効率だが価値ある学習プロセス」を代替してしまう。AIは若手の持つツールとして利用され、すぐに結果だけを生み出してしまうため、若手は技術的負債や非機能要件の裏にある顧客の「感情」といった、真に難しいが成長に必須な要素に触れることなく、目の前のタスクを完了してしまう。
AIは短期的なタスク完了能力を高めるが、長期的にはシステム全体を見る能力、非定型な問題解決能力をつけられなくしている。
採用側の投資意欲低下と構造変化
若手育成のためのOJTはもともと短期的には人件費コストであり、短期的な効率化を求める企業にとって、負担と見なされやすい。AIの導入は、この短期的な効率化圧力をさらに強める。その結果、企業(特にコストに敏感な中堅・中小企業)は、若手育成のための「非効率なコスト」(先輩社員が時間をかけて指導するコスト)を削減する方向に強く動くことになる。
これは、育成機会の二極化を生み出す。育成コストを戦略的に負担できる「よほどの大手企業」など、ごく一部の組織のみが、AI時代に求められる複雑な文脈理解や戦略的思考を教えることができる高度なメンタリング環境を提供し続けることになる。
一方で、それ以外の企業は、短期的なタスクをこなすAI依存型のエンジニアしか育成できなくなり、産業構造全体のデジタル成熟度に格差が生じ、日本経済の二層化が加速する。
さらには、学生や若手も米国のGAFAMなどからの大量のリストラなどのニュースに触れて、エンジニアになりたくないと、そもそも人気が急落してるところもある。(ある人曰く、GAFAMなどは業界に変化があったときにいつもリストラしてるだけで今回が特別ではないという)
■ どうやって若手をコンピューターサイエンティストやITエンジニアや、エンジニアとして育てられるか
上述のように、プロの現場でのOJTが構造的に空洞化しているため、IT人材育成における教育機関(大学、専門学校、企業内研修)の役割を根本的に再定義する必要がある。
従来の教育機関が基礎知識の習得に重点を置いていたのに対し、今後は「プロの現場で経験すべき初期段階の失敗と反復、そして文脈理解」を安全かつ効率的にシミュレートする機能を担うべきである。
これは、皮肉にも、育成機会を奪ったAIそのものを、基礎能力の急速な習得と、高度スキルの実践的訓練のためのツールとして活用するというアプローチが不可欠だ。
アダプティブ・ラーニングによる基礎能力の「一足飛び」育成
AI技術を活用したアダプティブ・ラーニング(個別最適化学習)は、基礎教育における効果的な解決策となる。アダプティブ・ラーニングは、学習者の習熟度や理解度に応じて、最適なコンテンツや学習パスを柔軟に調整する。これにより、若手は定型的なコーディングスキルや基礎知識の習得時間を劇的に短縮できる。
AIアジャスティブなシミュレーション環境の構築
基礎能力をアダプティブ・ラーニングで加速させた後、若手育成戦略の核心となるのは、AIを組み込んだ高度な実践シミュレーション環境の構築である。この戦略は二段階で実行される。
フェーズ1:基礎力加速 AIが個別最適化された指導を通じて、定型的なコーディングや基礎知識の習得時間を短縮する。これにより、指導者側のリソースを基礎的な説明から解放する。
フェーズ2:文脈理解の経験 教育機関や企業内研修が、AIを活用して以下のようなプロの現場の困難な状況を仮想的に生成する。
技術的負債のシミュレーション: AIが意図的に曖昧な仕様や技術的負債を抱えた仮想プロジェクトコードを生成する。
要件定義の不確実性の訓練: 仮想顧客(AIエージェント)が、矛盾した、あるいは潜在的なニーズしか表現しない曖昧な要件を提示し、学生に複雑な交渉・合意形成を強いる。
安全な失敗の経験: 学生は、現実の現場では許されないような「大きな失敗」を安全に経験し、その失敗から技術的、文脈的な教訓を引き出す。
この環境では、AIは「コーディングの代行者」ではなく、「評価者」「メンター」「文脈の提供者」として機能する。 アダプティブ・ラーニングの導入は、若手育成の「効率化」ではなく「高付加価値化」を目的とする。