大規模言語モデルやAIコーディングアシスタントの台頭は、ソフトウェア開発の経済性を根本的に変えました。主な目的がビジネス価値を効率的に生み出すことであるプロフェッショナルな環境では、すべてのコードを一行ずつ手書きする必要性は低下しています。この変化はプログラマーの役割についての議論を引き起こしており、職人技の喪失と見る向きがある一方で、より高次元な問題解決への移行と捉える向きもあります。しかし、多くの人々にとって、プログラミングの核心的な魅力は最終的な出力よりも、その探求のプロセス自体にあります。
多くの開発者にとって、プログラミングは好奇心や技術的な障害を克服する満足感に突き動かされる趣味であり続けています。これには、Agdaのような依存型言語の概念を用いてJavaの型安全性を押し広めるといったニッチなトピックの探求や、プログラムの正当性をより深く理解するためにモノイドのような複雑な数学的構造を研究することなどが含まれます。たとえこれらの努力が即座の商業的価値や完成した製品に結びつかない場合でも、これらのアイデアを頭の中で「焼き付ける」プロセスは報酬としての感覚を与えてくれます。この視点は、AIが単純なゲームのクローンや基本的なスクリプトを「ワンショット」で生成できる一方で、困難な問題を手動でナビゲートすることから得られる個人的な成長や知的充足感までは代替できないことを示唆しています。
このような個人的な喜びがある一方で、基礎となるソースコードを一度も見ることなくAIを使用してアプリケーション全体を生成する「バイブ・コーディング(vibe-coding)」への移行は、新たなトレードオフをもたらします。この手法は迅速なプロトタイピングを可能にし、そうでなければ構築されなかったであろうアイデアを実現できる一方で、最終的な製品における洗練さや職人技の欠如を招く可能性があります。さらに、次世代のエンジニアに関する懸念も高まっています。ジュニア開発者が設計案や実装の詳細を生成するためにAIに依存するようになるにつれ、システムを手動で構築、設計、デバッグするという基礎的なスキルが失われるリスクがあり、プログラマーの役割がユーザーとAIの出力の間の仲介者に変わってしまう可能性も懸念されています。
