先日、私はかなり興味深いことに気づきました — ソフトウェア開発業界は、私の20年以上のキャリアで見たことのない変革の真っ只中にあります。



20年以上前、私はDCSL Software (を始め、その後はOne Beyond)となりました。2023年に退社したときには、従業員数は300人を超え、グローバルに展開していました。その後、ロボティクスのスタートアップを立ち上げ、400万ポンド以上の資金調達に成功しました。実は、再びコードを書き始めるとは思ってもみませんでした。

2014年以降、私は日常的にコードを書かなくなりました。できないからではなく、会社の成長に伴う自然な流れです。優秀な人材を雇い、リーダーシップに集中し、次第にキーボードから遠ざかるのが普通になったのです。そんな十年近くは全く違和感なく過ごしてきました。

しかし、最近になって、私は再び開発者としての役割に戻っていることに気づきました — 懐かしさからではなく、実際の必要性からです。私は非常に複雑なロボティクスプラットフォームを構築しています。そして、私の働き方は以前とは全く異なっています。

この個人的な変化は、私に明確に示しています:ソフトウェア開発へのアプローチに根本的な変化が起きているのです。

昔を振り返ると、私たちはウォーターフォールモデルで作業していました。それは理論ではなく、純粋な経済学でした。コードは高コストで遅く、最初から慎重に考えるのが唯一合理的な方法でした。詳細な仕様書を作成したのも、そのためです — 契約、納品、すべてがそれに依存していました。良い仕様書を作るのは希少なスキルで、私は幸運にもそれが得意でした。完成品がどうなるかを事前にイメージし、複雑な部分を予測し、行動を正確に記述して、チームがそれに基づいて構築できるレベルまで詳細に描き出せたのです。

その後、業界はアジャイルに移行しました。表向きは、変化に対応しやすいからです。裏では、大規模で長期的なシステムには完全な仕様書は存在し得ないと気づいたからです。企業は変わり、ユーザーも変わり、技術も進化します。アジャイルは有用ですが、その代償も伴います。最初から深い設計を放棄し、段階的に発見していく方式に変わったのです。それは機能しますが、同時に「遠い未来の思考は不要」または「リスクが高い」と考える思考を標準化してしまいました。

今になって、私は気づきました。コードに戻れる理由は、突然時間ができたからでも、新しいツールを学び直したいからでもありません。AIが、試行のコストを根本的に変えたからです。

多くの人はこのポイントを誤解しています。実際の変化は、コードが速く書けるようになったことではありません。今や、すべてを迅速かつ安価に試せるようになり、ほとんどの場合取り消しも容易です。かつて数週間かかっていた開発作業が、数分で試せるのです。アプローチを試し、感触を確かめ、完全に捨てて別の方向に進むことも、ほとんど罰則なく行えます。これは以前は不可能でした。

かつて、コードは感情的・金銭的な結びつきが強くありました。2人の開発者が3週間かけて作ったものを簡単に捨てられないのは当然です。早期に決定を固めるのも、正しいからではなく、取り消しにコストがかかるからです。その拘束は消えつつあり、だからこそ私は再びコードを書き始めたのです。

今、私は最も得意とするレベルで活動しています — 問題を理解し、システムを形作り、複雑さを見極める一方で、AIが仕組みを処理しています。私は20代の頃のようにコードを書いているわけではありません。むしろ、指示し、微調整し、修正し、時には誤った方向に進まないように止める。これは、コードを書くよりもチームをリードしている感覚に近いです。あなたは本当にリーダーです — 方向性を設定し、結果を評価し、怠惰な方法を見つけて排除します。

誤解されやすいのは、この新しい自由が設計の重要性を低下させるという考えです。実際は逆です。明確で詳細な設計思想は、依然として非常に価値があります。それはAIの出力を改善させることさえあります。意図が明確であればあるほど、結果は良くなるのです。曖昧な思考は、より曖昧なシステムを早く作るだけです。

AIは人間に似ています。助けたい、答えを提供したいと望んでいます。曖昧だと、その空白を埋めようとします。不注意だと、仮定を置きます。挑戦しなければ、自信を持って誤った道を進み続けるでしょう。

しかし、設計はもはや壊れやすい製品のように、何年も変わらず存在し続けるものではありません。むしろ、試行のガイドラインとなるものであり、拘束ではなくなります。明確なビジョンを持ちつつも、試し、排除し、進化させる柔軟性を持つのです。

新しいスキルは、「いつ探索が効果的か」と「いつそれがノイズに過ぎないか」を見極めることです。AIは、長期的な仮定を簡素化すべき時期を知らずに、長く構造を作り続けることもあります。ファイルが大きすぎるとき、抽象化が漏れているとき、今日動いているものが後で痛手になるとき、その判断は経験から来るものです。

試行が安価になった今、長期的な仮定の多くは正しくなくなります。計画はもはやすべてを事前に固めることではありません。意図を設定し、制約と境界を決めることです。努力の見積もりは控えめにし、探索する空間を理解することに重きを置きます。私たちのコードとの関係は根本的に変わっています。具体的な実装への執着は減り、行動、構造、結果により焦点を当てるようになっています。

これが、ソフトウェア開発業界が不安を感じる理由です。多くの人は古い精神モデルを新しいツールに無理やり適用しようとします。それは一時的には機能しますが、核心を見失っています。

私は、この変化は永遠に続くと確信しています。その理由は非常に単純です:そうでなければ、再構築しないからです。私が10年以上にわたり実践的なソフトウェア開発に戻ると信じている唯一の理由は、最初に私を縛っていた制約がもはや適用されなくなったからです。コードは、ガイド付きの試行を通じて進化できるのです。これは以前には不可能だったことです。

これは、経験の価値が低くなることを意味しません。むしろ、価値の質が変わるのです。価値はもはや、構文やフレームワークを覚えることにありません。判断力、構造化、そしていつ止めるかを知ることにあります。

これは、ソフトウェア開発の終わりではありません。しかし、古いモデルの終わりです。そして、このやり方で働き始めると、元に戻る道はありません。
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
コメントを追加
コメントを追加
コメントなし
  • ピン