第4章. 70%を超えて人間の貢献を最大化する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
あなたは、Cursor、Cline、Copilot、WindsurfのようなAIコーディングアシスタントが、ソフトウェアの構築方法をトランスフォーマー化し、約70%に相当する多くの雑務やボイラープレートを肩代わりしているのを見てきた。1 しかし、おもちゃの解決策と本番システムを分ける最後の「30%」の仕事 はどうだろうか?このギャップには、複雑な要件の理解、保守可能なシステムアーキテクト、エッジケースの処理、コードの正確性の確保といった難しい部分が含まれる。言い換えれば、AIはコードを生成することはできるが、エンジニアリングで苦労することが多いということだ。
ティム・オライリーは、数十年にわたるテクノロジーの変遷を振り返りながら、自動化が進むたびにプログラミングの方法は変化してきたが、熟練プログラマが必要な理由は変わっていないことを思い起こさせる。私たちはプログラミングの終焉に直面しているのではなく、「今日私たちが知っているプログラミングの終焉」に直面しているのだ。
今日のエンジニアの課題は、AIが最も得意とすること(最初の70%)を受け入れる一方で、残りの30%に必要な耐久性のあるスキルと洞察力を倍増させることだ。本記事では、専門家の知見から、どのヒューマン・スキルが引き続き重要であるかを明らかにする。シニアやミッドレベルの開発者が引き続き活用すべきものと、ジュニアの開発者がAIとともに成長するために投資すべきものを探る。
本章のゴールは、あらゆるレベルのエンジニアにとって実用的なヒントを提供し、かけがえのない30%の価値を最大化することである。
シニア・エンジニアと開発者AIの経験を活かす
もしあなたがシニアエンジニアなら、 AIコーディングツールの出現()を、あなたの経験を適切な方法で活用すれば、あなたの影響を増幅するチャンスと捉えるべきだ。シニア開発者は一般的に、深いドメイン知識、何がうまくいかないかに対する直感、高度な技術的判断を下す能力を持っている。
これらの強みは、AIだけでは処理できない30%の部分である。このセクションでは、ベテラン開発者がその価値を最大化する方法について見ていく。
アーキテクトになり、編集長になる
解決策をアーキテクトし、AIのアウトプットを洗練させることに集中する間、コードの最初のドラフトはAIに任せよう。 スティーブ・イェッゲは、多くの組織において、「(a)実行すべきタスクを記述する、つまりプロンプトを作成する、(b)出来上がった作業の正確さと正しさをレビューする」チームが「シニア・アソシエイトだけ」を必要とするようなシフトが起こるかもしれないと書いている。このモデルを受け入れよう。シニア開発者として、あなたは複雑な要件をAIアシスタントのための効果的なプロンプトや仕様に翻訳し、その後、あなたの批判的な目を使って、作成されたすべての行を吟味することができる。 あなたはAIとペアプログラミングをしているようなもので、タイピングは速いが、頭脳はあなたなのだ。
レビュー中も高い基準を維持する:コードの品質、セキュリティ、パフォーマンスのベンチマークがあなたの組織の基準を満たしていることを確認する。アーキテクト兼エディターとして行動することで、「高いレビュー負担」に圧倒されるのを防ぐ。(注意点:もし若手スタッフがAIの生のアウトプットを単に壁越しにあなたに投げてくるようなら、背中を押すこと。そうすることで、あなたが唯一のセーフティネットではなくなる。) ...