コードを書く時間は、かつてないほど減っている

私はかつてないほど多くのソフトウェアを構築している。

AIは私のエンジニアリングの仕事を減らしたのではない。エンジニアリングのあり方を変えたのだ。

5年前、私は生産性をコードの行数やマージされたプルリクエストの数で測っていた。コードを書けば書くほど価値を生み出しているのだと考えていた。しかし、それは間違いだった。単に測定するのが最も簡単な指標だったに過ぎない。

今日の私の仕事は以前とは違う。コードをタイピングする時間は減った。その代わりに、以下のことに多くの時間を費やしている:

• AIが生成したコードのレビュー • システムアーキテクチャの設計 • ビジネスルールの定義 • データモデリング • 仮説の検証 • 評価パイプラインの構築

ソフトウェア開発におけるボトルネックは、タイピングの速さではない。ボトルネックは「理解」だ。

ユーザー、ビジネス、システム、そしてトレードオフを理解しなければならない。これらの決定が、ソフトウェアが生き残れるかどうかを左右する。

コードは「出力」である。エンジニアリングとは「意思決定のプロセス」なのだ。

AIは実装においては非常に優れている。しかし、次のような問いに答えることはできない:

• このサービスがこのデータを所有すべきか? • バリデーションはどこで行うべきか? • 障害からどのように復旧するか? • 自動化された決定をどのように監査するか?

AIが置き換えているのは摩擦(手間)であり、エンジニアではない。シリアライザやマイグレーションの作成といった反復的な作業を取り除いてくれる。これにより、解決策を構文に翻訳するのではなく、問題そのものを解決することに集中できるようになる。

最近、私はTransaction Intelligence Systemを構築した。AIモデルが最も難しい部分だと思っていたが、それは間違いだった。

本当に大変だったのは以下の作業だ:

• データ構造の設計 • 合成データセットの作成 • ビジネスタクソノミーの定義 • エンティティ解決パイプラインの構築

AIはコーディングを加速させたが、ビジネスを理解する必要性をなくしたわけではない。

ソフトウェアの生成は今や安価になった。複雑さを理解することは、依然としてコストがかかる。

課題は、明文化されていないことを解釈することだ。隠れたビジネスルール、規制上の制約、セキュリティ上のニーズを見つけ出さなければならない。これらはドキュメントではなく、会話や経験の中に存在する。表現されていない知識を推論できるモデルは存在しない。

AIは優れたアーキテクチャに恩恵をもたらす。アーキテクチャに取って代わるのではない。

システムに明確な所有権とモジュール化されたサービスがあれば、AIは生産性を高めてくれる。もし基盤が脆弱であれば、AIは単に複雑さをより速く生成するだけだ。

私はエンジニアリングをやめたのではない。より高いレベルでのエンジニアリングを始めたのだ。

タイピングの時間は減り、設計の時間は増えた。 構文のデバッグに費やす時間は減り、仮説の検証に費やす時間は増えた。

これが、この職業が進むべき方向だ。

Source: https://dev.to/uigerhana/i-spend-less-time-writing-code-than-ever-before-395b

Optional learning community: https://t.me/GyaanSetuAi