AIで加速する?エンジニア生産性のリアル

本記事は 2024/10/24 開催イベント 「開発生産性 ✕ コード ✕ AI – AI時代の開発生産性向上への取り組み方」 の内容をもとに執筆されました。

コード×AI ー ソフトウェア開発者のための生成AI実践入門」(以降「コードAI本」)の著者である 服部佑樹 と、「エンジニア組織を強くする 開発生産性の教科書」を執筆された ファインディ株式会社 CTO 佐藤 将高さん が、AI時代のプラットフォーム をテーマに対談した本記事は二部構成の後編です。(以降敬称略)


ベテランからジュニアまで:経験値差がもたらすAI活用の温度差

服部:最近、AIと開発生産性の関係について佐藤さんの方で何か見えてきている傾向はありますか?特にFindyさんではFindy Team+でメトリクスを取って開発生産性を計測されていますよね。

佐藤:そうですね。実は組織やエンジニアの経験レベルによって、かなり明確な違いが出てきているんです。面白いことに、私の観測では開発支援AIツールの活用度合いが、ジュニア、ミドル、シニアで明確に分かれているんですよ。

服部:具体的にはどんな違いが見られるんでしょうか?

佐藤:まず組織レベルでいうと、大きく3つのグループに分かれています。AIをバリバリ使いこなしている組織、使いたいけどまだ本格導入できていない組織、そして、たとえば「GitHub Copilotって何ですか?」というレベルの組織です。最後のグループは徐々に減ってきていますが。

服部:エンジニアの経験レベルによる違いも気になります。

佐藤:ジュニアエンジニアの場合は面白い現象が起きていて、AIの出力をそのまま使ってしまう傾向があるんです。コードの中身を十分理解せずにコピペしてしまうケースが少なくありません。 一方、シニアエンジニアは逆の傾向を示していて、「自分で書いた方が確実だ」という考えが強いんです。AIの補完機能は使うものの、全面的な依存は避ける傾向にあります。

服部:なるほど。じゃあ、最も恩恵を受けているのは…?

佐藤:ミドルエンジニアですね。彼らは独力で開発できる能力を持っていながら、AIをうまく活用してチーム開発の効率を上げています。例えば、レビューの質を向上させたり、通常なら同僚に質問する必要がある事項をAIとの対話で解決したり。結果として、より質の高いプルリクエストを出せるようになっているんです。 特筆すべきは、AIをうまく使いこなせるミドルエンジニアが、シニアレベルの生産性を発揮できるようになってきているという点です。これは組織にとって非常に大きなメリットになっています。


タスク難易度で変わるAIの真価:ドメイン知識 vs. コード支援

佐藤:エンジニアの経験レベルによって、AIツールの活用度合いって結構違いが出てくるんですよね。シニアエンジニアになると、単純なコーディングよりもコードレビューの機会が増えてきます。

服部:なるほど。タスクの難易度によっても違いが出そうですね。

佐藤:そうなんです。ジュニアエンジニアは比較的シンプルなタスクを担当することが多いので、AIツールの恩恵を受けやすい。一方で、シニアエンジニアが担当するような複雑なタスクは、AIだけでは太刀打ちできないことが多いんです。

服部:具体的にはどういった部分でしょうか?

佐藤:例えば、ドメイン知識が必要な開発や、インフラ寄りのアーキテクチャ設計なんかですね。これらは単純なコードの問題じゃなくて、現実世界の様々な制約や要件を考慮しないといけない。AIツールはそういった文脈を完全には理解できないんです。

服部:なるほど。以前、「良いコード/悪いコードで学ぶ設計入門」の著者であるミノ駆動さんとお話した時も、依存関係の複雑さについて言及されていました。 コードの依存関係が増えてくると、AIがそれらの関係性を適切に理解するのは難しくなってきます。かといって、ドメインを細かく区切りすぎても、今度は逆に参照すべき対象が多くなりすぎて扱いづらくなる。 結局、人間の判断が必要になってくるわけです。

佐藤:私たちのFindy Team+でも、組織の生産性向上を目指していますが、AIで解決できる問題よりも、人間系の課題の方が多いんです。例えば、メンタルモデルが十分に形成されていないまま開発に取り組んでしまうケースとか。

服部:メンタルモデルの形成って、一朝一夕にはいかないですよね。

佐藤:そうなんです。これって継続的な改善と、誰かが地道に教え続けることが必要なんです。AIにも一定の役割はありますが、やっぱりテックリードや優秀なエンジニアからの直接的なフィードバックの方が効果的なことが多い。

服部:確かに、AIは受動的なツールですからね。こちらから問いかけないと答えは返ってこない。

佐藤:組織としての成長を考えると、VPエンジニアリングやテックリードからの能動的な指導の方が、より大きなインパクトを生み出せるんですよ。AIはあくまでもサポートツールとして活用するのが現実的かなと思います。

このように、AIツールの活用は確かに開発効率を上げる可能性を秘めていますが、エンジニアの経験レベルやタスクの性質によって、その効果は大きく異なってきます。特に、組織全体の生産性向上を考えた時、AIだけでなく、人間同士のコミュニケーションや指導の重要性は依然として高いと言えそうです。


AIがもたらす“実験室”――エンジニアの創造性を拡張するメトリクス視点

服部:最近、AIと開発の関係について考えることが多いんですが、佐藤さんはAIによって開発者体験がどう変わると思われますか?

佐藤:面白い質問ですね。エンジニアって、コードを書くこと自体が好きな人も多いと思うんです。でも、本質的にやりたいことって、頭の中にある設計をいかに早く動くものにできるか、というところだと思うんですよ。 私も開発していると脳汁バリバリ出る時があって、コーディング自体に中毒性を感じることもあるんですが…

でも、エンジニアの本質って「実験好き」なんじゃないかって最近思うんです。自分の中に実験設備があって、それを自由に使って試行錯誤できる。そういう体験に魅力を感じている人が多いんじゃないかな。 実際、コードを書くのって、時には「めんどくさいなー」と思いながら書くこともありますよね(笑)。でも、本当にやりたいのは、アイデアを形にして、その結果を検証して、改善につなげていくサイクルなんです。

服部:そこでAIの出番というわけですね。

佐藤:そうなんです。AIを使えば、コードを書く時間を減らして、より本質的な「実験」の部分に時間を使えるようになる。「やりたくないこと」をAIに任せられれば、エンジニアはより創造的な部分に集中できるんです。 例えば、新しい機能のアイデアがあったとき、従来なら実装に時間がかかって諦めていたようなことも、AIを使えば素早くプロトタイプを作れる。そうすると、より多くの実験が可能になって、イノベーションのスピードが上がるんです。

服部:確かに!私も最近、AIを使って短時間でプロトタイプを作ることが増えました。アイデアから実装までのサイクルが劇的に短くなりましたね。

佐藤:そうそう。でも注意したいのは、AIに頼りすぎないことです。あくまでもAIは道具であって、エンジニアの創造性や判断力が重要なのは変わりません。 AIを上手く活用することで、エンジニアはより本質的な問題解決や創造的な作業に時間を使えるようになる。それが、これからのソフトウェア開発の姿なんじゃないかと思います。

服部:AIによって、エンジニアの仕事がより創造的で面白いものになっていく…そんな未来が見えてきますね!

AI時代に必須のスキル―エンジニアが磨くべきコア能力

服部:AI時代のエンジニアに必要なスキルについて、佐藤さんはどのようにお考えですか?

佐藤:私の考えでは、これからのエンジニアに絶対に必要になってくる能力が2つあります。1つは「ディレクション能力」、もう1つは「意思決定・判断力」です。AIを使う場面が増えても、この2つの能力は決して代替できないんですよ。 例えば、AIに適切な指示を出すにしても、出てきた結果を評価するにしても、結局は人間の判断が必要になってくるんです。プロンプトをいくら工夫しても、最終的にそのアウトプットが正しいのか、使えるものなのかを判断できる力がないと、AIをうまく活用できません。 例えば、AIが生成したコードをそのまま使って「AIが出力したから」で済ませてしまうと、バグだらけのコードを抱え込むことになりかねません。結局、そのコードが何をしているのか、なぜそれを使うのかを理解し、判断できる力が必要だと思います。

服部:最近、プロンプトエンジニアリングのスキルが重要視されていますが、これについてはどうお考えですか? 例えば簡単なプロンプトテクニックだと「あなたはシニアエキスパートです」といったロールプレイ的なものもあったりします。でも実際に必要なのはもっと本質的な部分ですよね。表面的なテクニックだけでなく、深い理解に基づく意思決定能力が重要になってきます。

佐藤:そうですね。特にジュニアエンジニアの育成において、AIと共存しながらどうやってスキルを積み上げていくか。これは現代のマネージャーが直面している大きな課題です。単にAIの使い方を教えるだけでなく、本質的な理解と判断力を養うための道筋をどう示すか。これは本当に難しい問題だと感じています。

AIとの対話でスキルアップ―学習体験を革新するカレーレストランボット

服部:最近面白い取り組みをされているとお聞きしましたが、具体的にどんなことをされているんですか?

佐藤:実は、自分の考えを整理するためにAIボットと対話する習慣があるんです。例えば、AIイベントでの登壇前に、「どういうスタンスで話すべきか」をボットと対話しながら整理していきます。実際の登壇では全然違う話をすることもありますが(笑)

でも、事前の試行錯誤として非常に有効なんです。

例えば、新しい知識を学ぶときには、一問一答形式でボットに問題を出してもらうんです。間違えたら解説してもらって、分からないところは別の角度から質問する。そうやってAIと対話を重ねることで、アーキテクチャ設計やデータ構造といった複雑な概念も、自然と頭に入っていくんです。

最近作ったのが「カレーレストランのオペレーション」に例えてIT用語を説明するボットですね。例えばSREって概念、ビジネスサイドの人には分かりにくいじゃないですか。そこで「カレーの品質を常に保つためのスタッフです」って例えると、「あー、なるほど!」って腑に落ちるんです。こういった特化型のボットを、今、週1、2個のペースで作り続けています。

服部:それって社内でどう共有されているんですか?

佐藤:全部社内に公開していますよ。SlackボットとしてDefyを介してChatGPTに問い合わせる形です。文字起こしボットや一問一答ボットなど、用途に応じて様々なものを展開しています。

服部:そうやって組織全体でAIを活用する文化を作っているんですね。他のメンバーの反応はどうですか?

佐藤:特にエンジニア以外のメンバーにとって、新しい技術への理解を深めるきっかけになっています。例えば、業務効率化のスクリプトを作ったら、それを組織で共有して歓迎する。そうすると、それが生産性向上につながり、最終的に全員の働きやすい環境づくりに貢献するんです。

服部:なるほど。AIを介して組織全体のコミュニケーションや理解が深まっているわけですね。

佐藤:そうなんです。例えば問い合わせ対応でも、まずAIに一次対応してもらって、解決できない場合だけ人間が対応する。そうすることで、開発チームは中断されることなく集中して作業できます。

服部:AIと人間の役割分担を上手く設計されているんですね。今後のAIと人間の関係性について、どうお考えですか?

佐藤:人間が駆逐されることは絶対にないと思います。ただし、求められるスキルは確実に変化していくでしょう。これからは、AIを活用して自分のやりたいことを爆速で実現できる人材が重宝されると考えています。特に、物理的な世界やリアルな現場など、まだAIが苦手とする領域では、人間の介在が不可欠です。そこでの活躍の場は、むしろ広がっていくんじゃないでしょうか。

開発生産性の教科書――組織が共有できる知識の泉

服部:佐藤さんの著書「開発生産性の教科書」について、特徴的な点を教えていただけますか?

佐藤:この本は、組織での輪読会や共同学習の材料として活用していただきたいと考えて書きました。「開発生産性」という言葉自体が少し分かりにくい概念かもしれません。でも、組織が目指すべき姿を考える上で、重要なテーマの一つなんです。

服部:確かに、各セクションが簡潔にまとまっていて読みやすいですよね。

佐藤:ありがとうございます。チーム内での限られた時間でも、効率的に読み進められる構成になっています。専門用語も極力避けて、誰でも理解できる言葉で書くように心がけました

服部: ぜひ、皆様も手に取っていただきたい一冊ですね。佐藤さん、今日は本当に貴重なお話をありがとうございました!


AIとの協働について書いた**コードAI本は好評につき重版決定**。
そして佐藤さんの「エンジニア組織を強くする 開発生産性の教科書」も、開発生産性について深く学びたい方におすすめの一冊です。 AI時代のエンジニアの生産性について、さらに深く学びたい方は、ぜひ両書をお手に取ってみてください!

エンジニア組織を強くする 開発生産性の教科書

開発生産性とは何か?に答えながら、開発生産性がエンジニア組織やビジネスに与えるポジティブな影響について知ることができます。

コードAI本、好評発売中

好評発売中! 生成AI時代のエンジニア必読書。AIを使ってどのようにコードを書いたら良いのかを学べる一冊です。

AI × モブプログラミングで生み出す次世代の開発スタイル - 知識共有の最前線
Older post

AI × モブプログラミングで生み出す次世代の開発スタイル - 知識共有の最前線

モブプログラミングとAIの組み合わせが、チームの学習と開発にどんな相乗効果をもたらすのか?川口さんへのインタビューを通して、その本質を探ります。

Newer post

【後編】AI×プラットフォームエンジニアリングで加速する未来

プラットフォームエンジニアリングとAIが融合することで、どんな新たな可能性が広がるのか?PagerDutyの草間一人氏と「コードAI本」著者・服部佑樹が、LLMを交えた実践的な視点から深掘りします。

【後編】AI×プラットフォームエンジニアリングで加速する未来