ジュニア開発者の生成AI利用に関する定性調査:AI利用をどう判断しているか
公開日
開発生産性
生成AIツールの普及により、ソフトウェア開発の現場では作業の大幅な効率化が進んでいます。一方で、経験の浅いジュニア開発者やインターンが初期キャリアにおいてどのようにAIを活用し、自身のスキルや自律性を形成しているのかについては、まだ十分に解明されていません。AIに頼ることで短期的な生産性が高まる半面、基礎的な技術力の定着や批判的思考力の育成にどのような影響が生じるのかは、開発者自身だけでなく受け入れるチームやマネージャーにとっても重要な関心事です。
こうした課題に対して、CESAR SchoolのPedro Henrique Andriotti Bastos氏とDanilo Ribeiro氏は、論文「Verification-Conditioned Use: A Qualitative Study on How Generative AI Reshapes Learning, Autonomy, and Market Entry for Junior Software Developers」において、現場で働くインターンおよびジュニア開発者13名を対象とした定性調査を行いました。本記事では、この研究で示されたジュニア開発者のAI利用における判断基準と、学習や市場参入において生じる構造的な影響について紹介します。
調査の概要:ジュニア開発者13名への定性インタビュー
本研究は、生成AIの利用がジュニア開発者の日々の作業、学習、自律性、および労働市場への参入に与える影響を解明することを目的としています。
ブラジルのソフトウェア企業で働くインターンおよびジュニア開発者13名(開発経験約4ヶ月〜2年)を対象に個別オンラインインタビューを実施しました。
判断基準は「結果を検証できるか」:タスクの明確な切り分け
調査分析の結果、ジュニア開発者がAIを利用するか手動で作業するかを決定する最大の基準は、納期やタスクの複雑さではなく「出力された結果を自分自身で検証・評価できるかどうか」であることが明らかになりました。研究ではこの行動パターンを 「検証条件付き利用(Verification-Conditioned Use)」 と名付けています。
参加者は、自分がコードの正誤を判断できるタスクには積極的にAIを活用する一方で、検証する知識を持たない未知の領域やプロジェクト固有の背景知識が必要なタスクでは、AIの使用を回避する傾向を示しました。たとえば、参加者E10は「自分で結果を判断できることだけにAIを使う。やったことがないタスクには絶対に使わない。正解か不正解か判断できないからだ」と述べています。
この基準に基づき、参加者が日々の開発でAIに委ねるタスクと手動で行うタスクは明確に分類されていました。
表1:ジュニア開発者が報告したAI利用タスクと回避タスクの分離
| AIを利用するタスク | AIの利用を回避するタスク |
|---|---|
| フロントエンド、HTML、レイアウト構築 | アーキテクチャに関する意思決定 |
| CRUD操作や単純なデータ処理 | ビジネスルールの実装 |
| 一時的な構文や文法の参照 | 複数リポジトリにまたがる広い文脈の理解 |
| 自動テストコードの生成 | インフラ設定やログ出力の設定 |
| 初期のプロジェクト構造(スキャフォールディング)作成 | 手動で行った方が早い軽微な作業 |
| 既存コードのデバッグや解読 | — |
| リファクタリングおよびコードの要約 | — |
この結果は、「知識の乏しい初心者ほど無批判にAIに頼るのではないか」という一般的な懸念とは異なる一面を示しています。多くの参加者は誤ったコードを導入するリスクを自覚しており、自責で対処できない事態を防ぐために意図的にAIの利用範囲を制限していました。
学習プロセスの再構成:認知的摩擦の減少とシニアへの質問の変化
AIの導入は、ジュニア開発者の学習方法やチーム内でのコミュニケーションにも大きな変化をもたらしています。
認知的摩擦の喪失と「浅い学習」
従来の学習では、ドキュメントの熟読、検索フォーラム(Stack Overflowなど)の探索、手動でのデバッグといった「試行錯誤の負荷(認知的摩擦)」を経ることで知識が定着していました。しかし、AIが個別の疑問に即座に回答することで、この摩擦が失われ、学習が浅くなる傾向が報告されています。
参加者E04は「回答が早く得られるほど記憶に残りにくくなり、脳が情報を保持する優先度を下げてしまう」と分析しています。また、参加者E02は「トラブルシューティングの苦労なしに答えを得ると、忘れやすくなる」と述べており、長期的なスキルの定着に対する不安が示されています。
シニアエンジニアに持ち込まれる質問の質的変化
AIが概念の説明や基本的な実装手順を代行するようになった結果、ジュニア開発者がシニアエンジニアへ相談する内容の性質が変化しました。
以前は「この機能をどう実装すればよいか(How)」というコード書き方の質問が中心でしたが、AI導入後は「この実装が自社のビジネスルールや設計方針に適合しているか」という確認や設計に関する質問へとシフトしています。これにより会話の効率は上がったものの、基礎的な実装力を測る機会が減っている面も指摘されています。
自律性のパラドックスと市場が求めるスキルの変化
インタビュー分析を通じて、ジュニア開発者が抱える感情的・構造的な2つの緊張関係が浮き彫りになりました。
自律性のパラドックス
多くの参加者は、AIを活用することで未知の言語やライブラリを扱えるようになり、「自律性が高まった」と感じています。しかし同時に、その成果物に対する本当の意味での所有感や確信を得られず、「AIがなければ自分では達成できないかもしれない」という依存の感覚を並行して抱いています。
参加者E03は「AIがあればNASAにロケットを送れるくらい何でもできる気がするが、AIがなければ何もできない」と極端な自律感と依存の共存を表現しています。一方で、AIへの依存リスクについて尋ねられた際、多くの開発者は「一般的な他者は依存している」と認めつつも、「自分自身は学習のために制御して使っている」と第一人称視点での依存を否定する心理的傾向も見られました。
市場参入障壁の上昇と評価軸のシフト
参入障壁に関して、定型的なコード作成タスク(CRUD作成やスクリプト記述など)がAIに代替されるにつれて、ジュニアエンジニアに対する採用・評価の基準が上がっているという認識で一致していました。
従来は「手動で正確なコードを書く力」が主な差別化要因でしたが、現在は「AIが生成したコードの誤りを見抜き、ビジネスルールや設計に合致しているかを評価・判断する力」が早期から求められるようになっています。
育成上の課題:「教育的パラドックス」への対応
本研究が提示する最大の理論的貢献は、AI時代のエンジニア育成における 「教育的パラドックス」 の存在です。
教育的パラドックスとは、以下の2つの状況が同時に進行することによって生じる矛盾状態を指します。
- AI主導の学習: 認知的な負担が少なく手軽なAI利用は、試行錯誤の機会を奪い、コードの深い理解や評価能力の構築を遅らせる。
- 市場要求の変化: 一方で、労働市場は定型コーディングをAIに任せ、ジュニア段階から高いコード評価力や判断力を要求する。
つまり、「判断力を養うための泥臭い経験(試行錯誤)」がAIによってスキップされる一方で、「その試行錯誤によって育まれるはずの判断力」が市場から強く求められるというねじれが発生しています。
チームや組織での対応策
このパラドックスを乗り越えるために、個人の自己調整だけに頼るのではなく、組織や教育の側で明確なアプローチをとることが検討できます。
- オンボーディングでの検証方針の明示: ジュニア開発者に対し、「AIを利用してよいか」だけでなく「どの範囲をどのようにテスト・検証すべきか」という検証条件付き利用の観点を明示的に訓練する。
- 意図的な「試行錯誤」の保護: 研修や課題において、あらかじめAI非依存で基礎的なデバッグや構築を行わせる期間を設け、深い認知的摩擦を経験させる。
- メンターによる本質的理解の確認: 相談を受けたシニアエンジニアは、提示されたコードの表面的な動作だけでなく、「なぜこの実装方式を選んだのか」という根本的な理解度を対話の中で確認する。
まとめ
本研究は、ジュニア開発者がAI利用の可否を「成果物を自分で検証できるか」で判断しており、高速な課題解決と引き換えにコードの評価・判断力の育成が阻害される「教育的パラドックス」を示しています。組織やチームは目先の生産性だけでなく、若手エンジニアが自力で試行錯誤し判断力を育める環境を意識的に提示することが求められます。
開発生産性やチームビルディングにお困りですか? 弊社のサービス は、開発チームが抱える課題を解決し、生産性と幸福度を向上させるためのさまざまなソリューションを提供しています。ぜひお気軽にご相談ください!
参考資料: