ソートリーダー
AIがエンジニアの開発方法を変える

約1年前、ソフトウェア業界では、ジュニアエンジニアの将来についての議論が起こった。議論の内容は、AIがすでに多くのジュニアレベルのコーディングタスクを処理できるようになったため、ジュニアエンジニアを採用して育成する必要があるのかどうかというものだった。
この質問は、多くの賢い人々が真剣に考えるものだった。
当時、私の回答は、他の職業でも同様の問題がすでに解決されているというものだった。医学校を卒業したとしても、すぐに単独で開胸手術を行うことはできない。医師は、長年にわたって経験を積み、実践を重ね、指導を受けることで、最終的に単独で手術を行うことができるようになる。
同様のパターンは、経営陣にも見られる。大学を卒業したとしても、すぐにフォーチュン500企業の経営者になることはできない。経営者は、徐々に経験を積み、より大きなビジネスユニットを管理し、最終的に指導的立場になる。
私は、エンジニアリングも同様の方向に向かっていると考えている。しかし、最近の3つの無関係な経験から、問題に対する私の考え方が変わった。
3つの例
友人がチェコ語の試験の準備をしていた。友人とその仲間は、人間のチューターを雇い、実際の金額を投資した。友人は試験に合格したが、他の多くの人は合格できなかった。
友人が話すには、最大の違いは、友人の主なチューターが実際にはChatGPTだったことである。
友人は、11時になっても勉強することができた。友人は同じ動詞の練習を40回繰り返すことができ、誰かの気を散らすことを心配することなく、チェコの税務官とやり取りするような特定の状況をロールプレイすることができた。
人間のチューターは優秀だったが、利用の可用性、繰り返し、パーソナライゼーションをChatGPTに匹敵することができなかった。
私は、息子と物理学の勉強で同様のことを見ている。息子はすでに物理学をよく理解しているので、Claudeに答えを教えてもらうのではなく、挑戦するために使っている。息子は、Claudeにより難しい問題を生成してもらったり、仮定を押したり、間違ったアプローチの理由を説明してもらったり、インタラクティブにクイズを受けたりしている。
私が考えることができる最も近い類似点は、賢い子供が物理学を専攻している兄または姉と出会う経験である。ただし、このバージョンは常に利用可能で、決して我慢がなく、決して「後で聞いてね」と言うことはない。
甥はまだ高校生だが、小さな趣味プロジェクトを作成しており、将来的には商業化したいと思っている。甥のコードをセットアップし、自動化するためのエージェントを設定した。毎晩5時に、エージェントは甥のコードベースをスキャンし、改善点を提案する。毎週、別のワークフローが実行され、新しいアイデアが浮かぶ。
甥はそれを愛していた。
ある時、甥は「コーディングがこれほど簡単なら、アイデアが尽きてしまう」と冗談で言った。
私は「アイデアは常に希少な資源だった」と言った。ただし、違いは、実行がもはやアイデアを制限しないことにある。実装が劇的に安くなったからだ。
より迅速なフィードバックループ
これらの例は、チェコ語、物理学、コードレビューについてではない。個人化されたフィードバックが継続的に利用可能になることを示している。
歴史的に、ジュニアエンジニアは繰り返しと、経験豊富な人々への近さを通じて学んだ。コードを書き、レビューを待ち、シニアエンジニアがバンド幅を確保したときにフィードバックを受け取り、年月を経て蓄積されたミスの判断を築いた。
AIはフィードバックループ自体を変える。
適切に設定されたAIアシスタントを備えたジュニアエンジニアは、シニアエンジニアの利用可能性に依存していたものを多く受け取る。即時のコードレビュー、将来の問題を説明するデザイン選択、コードベース内の類似パターンへの参照、最も明らかな実装に手を伸ばしたときの押し戻し。
最も重要なのは、フィードバックが問題の中にいる間に到着することであり、2日後にコンテキストが消えた後に到着するのではない。
それは重要である。ジュニアからシニアへの移行は、主に判断によって推進される。判断は、主にパターン認識を通じて構築される。誰かが繰り返し、トレードオフ、エッジケースを通じて進む速度が速いほど、その判断が発達する速度も速くなる。
バンド幅のボトルネックは、シニアエンジニアにあった。現在は、学習者にいる。
セーフティネットの改善
ここでは、別の重要な変化が発生する。
強力なAIレビューシステムを使用するジュニアエンジニアは、意図しないミスでプロダクションシステムを損なう可能性が大幅に低くなる。
多くのクラシックミスはすぐにフラグが付きます。ハードコーディングされた資格情報、飲み込まれた例外、安全でないクエリ、セキュリティの問題、明らかなアーキテクチャの問題、スコープの狭い依存関係。悪いプルリクエストは、ラップトップを離れる前にキャッチされることが多い。
それはジュニアの仕事の底を変える。
歴史的に、シニアエンジニアの多くの時間が、組織を予防可能なミスから保護することに費やされていた。AIレビューレイヤーは、その負担の一部を吸収し、ジュニアが以前よりも独立して動作できるようにする。
それは、指導や監督の必要性を排除するものではない。指導が最も価値のある場所を変える。
ギャップの拡大
この将来の最適なバージョンは、個々のエンジニアがシステムを使用する方法に大きく依存する。
AIをショートカットとして考えている人は、多くのコードを生成するかもしれないが、ほとんど何も学ばない。10年前、同じ人はStack Overflowから解決策をコピーしていた。メカニズムは変わったが、根本的な行動は変わらなかった。
AIは知的怠慢を解決することはできなかった。
より興味深い結果は、エンジニアが受け取るフィードバックと積極的に関わる場合に発生する。誰かがレビューを注意深く読み、時々反論し、フォローアップの質問をし、代替案をテストし、時にはモデル自体が間違っていたことを発見する場合、判断を以前の世代よりも速く構築する。
認知努力は消えなかった。ループの早い段階にシフトし、繰り返しやすくなった。
それは、関与しているエンジニアとそうでないエンジニアの間のギャップを拡大させる可能性が高い。
ほとんどの重要な生産性の変化は、そのように機能する。読み書き能力は、読み書きできる人とできない人との間のギャップを拡大させた。インターネットは、好奇心のある人と受動的な人との間のギャップを拡大させた。AIは、同じパターンを継続する可能性が高い。
製品判断の重要性
より興味深い質問は、ジュニアエンジニアが実装自体がより簡単になるにつれて、どのような貢献をするかということである。
答えは、すでに強力なシニアエンジニアが貢献しているものと似ている。創造性、製品の直感、味、優先順位、判断、そして何が最初に存在するべきかを特定する能力。
エンジニアリングの役割は、実装の摩擦が続々と崩壊するにつれて、製品志向の思考にますます近づいている。パイプワークは、システムが実際に正しい問題を解決しているかどうかを理解することよりも重要ではない。
システム設計はまだ重要である。名前を付けることはまだ重要である。製品判断はまだ重要である。ユーザーを理解することはまだ重要である。ある意味では、これらのスキルは、組織がアイデアを以前よりも迅速にテストできるようになったため、より重要になる。
AIから始めて育ったエンジニアは、15年前に訓練された誰かとは大きく異なる考え方をする可能性が高い。
彼らは、イテレーションが安価であると仮定する。彼らは、1つのアプローチについて議論するのではなく、迅速に複数のアプローチをプロトタイプ化する。彼らは、実装のコストが低いことを期待し、ユーザーと実装の間のフィードバックループがより緊密になる。
それは、アイデアと実行のサイクルが以前よりもはるかに短い、別の種類のエンジニアを作り出す。
組織は、採用、評価、指導、昇進について再考する必要がある。しかし、ソフトウェアはすでに、Webの到来、モバイルの到来、クラウドインフラストラクチャがオンプレミスシステムに取って代わったときのように、同様の移行を何度も経験している。
各移行は、エンジニアリングが何を意味するかを変えたが、エンジニア自体の必要性を排除しなかった。
運用上の影響
ジュニアエンジニアにとってのアドバイスは、特に華麗ではない。
実際のプロジェクトを選び、AIを影のレビューアーとして使用しながら作業する。フィードバックを注意深く読み、時々反論し、フォローアップの質問をし、ミスをキャッチするパターンを追跡する。
それが、判断を発達させる最も速い方法の1つである。忙しいシニアエンジニアが最終的に時間を確保して指導できるのを待つよりも速い。
マネージャーにとってのボトルネックも変わる。
ジュニアの成長は、シニアエンジニアがコーチングのためにどれだけの時間を割くことができるかに大きく依存していた。現在、より大きなレバレッジポイントは、AIの使用を取り巻く強力な学習環境を設計することである。レビューの期待、エスカレーションルール、プロンプトパターン、ガードレール、プロジェクトの選択。
これらのシステムをうまく構造化した組織は、以前の世代よりも速く才能を育てる可能性が高い。
リーダーシップチームにとっては、ジュニアエンジニアを主に実行可能な容量として見るのをやめることが賢明である。多くの組織では、彼らは実験、エネルギー、創造的なイテレーションの最も安価な源となる可能性がある。
異なる世代のエンジニア
友人は、チェコ語を学ぶためにポケットの中にパーソナライズされたチューターを携帯していた。息子は、私がアクセスできなかったレベルのインタラクティブなフィードバックで物理学を学んでいる。甥は、寝ている間に毎晩コードレビューと市場調査を受け取っている。
次の世代のエンジニアは、継続的なコーチング、即時のレビューループ、努力とフィードバックのサイクルが劇的に速くなった状態で業界に入ることになる。
それはジュニアエンジニアを排除するものではない。彼らがどのように発達し、どのようなスキルが道中で最も重要となるかを変える。
多くの人が育った役割のバージョンは、おそらく消えている。ただし、代わりに、以前の世代がなり得なかったより速く学び、より良くコーチされ、より実験的で、より製品志向のエンジニアが現れるかもしれない。












