HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

石工から大工へ

From Stonemasons to Carpenters (thelastsoftwareengineer.substack.com)

14 pointsby azhenley1 コメント

要約

AIによるコード生成の台頭により、ソフトウェア開発者は石を一つずつ積み上げていく石工から、AIがコードを生成するための型枠(構造、テスト、ドキュメントなど)を構築する大工へと役割が変化しています。この変化は、開発者がよりプロダクトマネージャー的な思考を持ち、システム設計に注力し、より速いイテレーションサイクルを回すことを要求します。

全文翻訳

石工から大工へAI時代のソフトウェア開発マイケル・ヒルトン2026年9月17日21シェア私の祖父はカリフォルニア州中部の海岸線沿いに橋、高架橋、ボックスカルバートを建設してキャリアを積みました。これらはコンクリート構造物でしたが、彼の職業は大工でした。彼が大工であった理由は、彼らが大きな木製の構造物を建設し、それがコンクリートを流し込むための型枠(本質的にはコンクリートの型)を形成したからです。これは、AI、特にソースコードを生成する能力によってソフトウェア業界がどのように変化しているかを考える上で、私が繰り返し思い返すことです。 写真提供: Joao Aldeia (Pexelsより) 歴史的に、橋は石工によって建設されていました。彼らは橋が建設されている間に直接素材(石)を操作し、より多くの石を配置するにつれて、橋は徐々に成長し、最終的な形を達成しました。有名なところでは、ローマ人は建設にモルタルさえ使用しなかったと言われています。 お読みいただきありがとうございます!新しい投稿を受け取り、私の活動をサポートするために無料で購読してください。 購読 しかし、現在の建設技術はかなり異なります。現在、ほとんどの橋はコンクリートでできています。私の祖父がこれらの構造物を建設していたとき、彼と彼のチームは石工ではなく、橋を少しずつ建設していたわけでもありませんでした。代わりに、彼らは大工と見なされ、ほとんどの時間を木製の型枠の建設に費やし、その型枠にコンクリートを流し込んで最終的な橋を建設しました。これは石工が橋を建設した方法からの大きな変化です。 写真提供: Jean-Paul Wettstein (Pexelsより) では、このアナロジーはAI時代のコーディングにどのように適用されるのでしょうか?私は、ソフトウェア開発が石工の時代から大工の時代へと移行していると提唱します。歴史的に、ソフトウェア開発者は石工に近く、素材(コード対石)を直接扱い、一度に1つの石(1行のコード)としてシステムを漸進的に構築していました。しかし、AIコード生成の出現により、開発者は自身を橋を建設する大工と見なすべきだと提唱します。システムを漸進的に構築するのではなく、コードが正しく生成されるようにするための型枠(テスト、ドキュメント、ガードレールによるシステムへの構造の追加)を構築しています。これにはソフトウェア開発の方法論のシフトが必要であり、重大な影響があると私は信じています。 開発への影響誰もがプロダクトマネージャーに 歴史的に、開発は「本物の」仕事であり、プロジェクトマネジメントは技術的ではない/有効ではないと見なされることがよくありました。しかし今、すべての開発者は、内部構造だけでなく、構築しているソフトウェアの境界/インターフェースに焦点を当てることを余儀なくされており、本質的にすべての開発者はプロダクトマネージャーになることを求められています。最も重要な質問が「これをどうやって構築するか」や「構築できるか」ではなくなり、今や最も重要な質問は「何を構築すべきか」となっています。このように考えることは、多くの開発者にとって大きな変化となるでしょう。 ソフトウェアエンジニアがより多くのソフトウェアエンジニアリングを行う ソフトウェアエンジニアリングの一つの定義は「ソフトウェアエンジニアリングは、コンピューターサイエンスの分野であり、コンピューターおよび情報処理の問題に対して、実用的で費用対効果の高いソリューションを作成し、特に科学的知識を適用し、人類のためにソフトウェアシステムを開発すること」です。 この定義は、コードの記述に直接言及しておらず、システムの構築に言及していることに注意してください。実用的で費用対効果の高いソリューションを作成する作業は、これまで以上に重要になっており、ソースコードを記述するコストが低下するにつれて、開発者の仕事はシステムの設計、および設計が正しく検証されることを保証する方法の開発によって支配されるようになります。歴史的には、開発者は設計上の決定を下し、その後、その設計上の決定の影響が関連性を持つまで、数週間、あるいは数ヶ月の開発期間がありました。しかし今、開発者は設計上の決定を下し、コードは即座に生成されるため、開発者はそれらの設計上の決定の影響をほぼ即座に目にすることになります。これにより、ソフトウェアエンジニアのOODAループ(Observe-Orient-Decide-Act)が劇的に短縮されます。また、開発者が設計上の決定の影響を明確に把握できるようになり、ソフトウェア設計とそのシステムの特性との間のより緊密な因果関係を理解するのに役立ちます。これは、ソフトウェア設計が日々の業務のより大きな部分を占めるようになるにつれて、開発者がソフトウェア設計スキルをより速く向上させることを要求するでしょう。 外部からのシステム設計 このシフトのもう一つの影響は、歴史的には多くのソフトウェアが内部から外部へと設計されていたということです。つまり、コア構造が決定され、外部の振る舞いは、石工が一石ずつ橋を建設するのと同じように、コードの内部構造に大きく影響されていました。しかし、この新しいパラダイムでは、エンジニアは外部の振る舞いに多くの時間を費やし(大工が構築する型枠のように)、生成されるコードは、コードがどのように構築されたかの反映ではなく、エンジニアによって設計されたコードが持つべき形状をより反映するものになります。 このアナロジーの限界 すべてのアナロジーと同様に、このアナロジーにもいくつかの限界があります。アナロジーが破綻する明確な場所の一つは、コンクリートで橋を建設するとき、一度流し込むと設計にコミットしなければならないことです。しかし、ソフトウェアでは、外部の制約を開発することができ、すべてのコードを再生成するコストは多少かかるものの、これは複数回行うことができ、以前のイテレーションから得られた教訓をソフトウェアの将来のイテレーションに適用することができます。 結論 石工の時代から大工の時代へと移行するにつれて、ソフトウェアエンジニアの役割が急速に変化していることは明らかです。開発者の役割は、もはや石工のように一行一行コードを書いてソフトウェアを構築することではなく、ソフトウェアエンジニアリングを使用して完全なシステムを構築することに焦点を当てることです。ソフトウェアエンジニアとして、私はこの変化に興奮しており、以前はコストが高すぎたり困難すぎたりしたが、AIによって可能になった大規模ソフトウェアシステムを構築する開発者によって現在採用されているソフトウェアエンジニアリング技術の採用を楽しみにしています。 お読みいただきありがとうございます!新しい投稿を受け取り、私の活動をサポートするために無料で購読してください。 購読 21シェア