開発者はついに終わりです(またしても、マジでマジで本当に)

AGIに仕事を奪われたい
この記事は約24分で読めます。

14,250 文字

Its Finally Over For Devs (again, fr fr ong)
Twitch Backend Dev: i make courses for them)This is a...

よし、始めましょう。開発者は今度こそ本当に終わりです。これを見てみましょう。始めましょう。私は希望的なメッセージでブログを立ち上げることにしました。開発者はついに今度こそ絶滅します。諦めてください。プロンプトの書き方を学んで、栄光あるAIの覇者にあなたのターミナルを明け渡してください。この投稿は「開発者置換騒ぎの繰り返されるサイクル」と呼ばれています。
私はこの技術的トリガー、幻滅の試練、啓発の坂、生産性の台地を見てみたいと思います。はい。わかりました。これは全部、これは全部本当に本当にリアルに見えますね。
ノーコードからAI支援まで、数年ごとに、ソフトウェア開発者を時代遅れにすると約束する新しい輝かしい技術が現れます。見出しは予測可能なパターンに従っています。
「コーディングの終わり」「今や誰でもアプリを作れる」あるいは私のお気に入り「なぜあなたの5歳児が読み方を覚える前にプログラマーになるのか」。実際に誰もそんな記事を書いていないでしょう?「5歳児のためのコーディング。始める最良の方法」って何ですか?わかりました。実際、その検索結果で私はもっとがっかりしました。その記事を見つけて「ああ、人々は狂っている」と言えることを期待していました。
しかし代わりに、「今それをやる方法」のような本当の記事を見ただけでした。わかりました、それは私を動揺させます。幹部は興奮します。コンサルタントはサメのように群がります。パワーポイントのデッキが増殖します。予算がシフトします。そして現実が迫ってきます。実際に起こることは置換ではありません。それは変革です。技術的専門知識の必要性を排除すると約束する技術は、完全に新しい専門分野を作り出すことになり、多くの場合、以前よりも高い給与水準で終わります。
ノーコード運動は開発者を排除しませんでした。それはノーコード専門家とバックエンド統合者を作り出しました。クラウドは、つまり、それは文字通りSAPですよね?それはSalesforceのようなものではないですか?Salesforceは他の皆から離れて存在する独自の世界のようなものです。ノーコードの話は本当すぎて痛いです。
クラウドはシステム管理者を排除しませんでした。それは彼らを倍の給与のDevOpsエンジニアに変えました。それは実際に本当です。これには面白い部分があります。私が若い頃、初期のウェブスタートアップのいくつかで働いていた時のことを覚えているからです。いつも一人の男がいました。彼の名前はいつもビルドマスターか何かそのような感じでした。
そしてそれはいつも、何らかの理由でWindows IISとLinuxの両方を深く知っている男でした。両方を知っていました。いつもWindows IISを嫌っていました。その男を責めることはできません。そして彼は立ち去って、いや、コードマスターではなく、ビルドマスターです。ビルドマスター、ウェブマスター、時にはCIS管理者として様々な形で見られるものです。
そして彼らはいつもあなたに最もクレイジーなことを納得させようとしていました。常に非常に早い段階で仮想環境に、非常に早い段階でえーっと、何でしたっけ?Vagrantですね、そのようなものについて非常に興奮していました。申し訳ないですが、こんなことを言って申し訳ありません。ビルド・コスビー。はい、彼らは通常ビルド・コスビーとして知られていました。
そして私たちにはいつもそのような男の一人がいて、彼らは私たちの基本的なクラウドコンピュートを全て運営していました。そしてある時点でそれは全てAmazonに移り、そして今度は何らかの理由でDevOpsエンジニアを代わりに持つようになりました。ああ、あなたもポールを知ってたんですね?はい、私たちは皆ポールを知っていました。彼らは最初にDockerについて知っていました。
ああ、はい、彼は私に本当に早い段階でDockerについて教えてくれました。私は2012年、2011年頃にコンテナについて聞いていましたが、それらが何なのか全く分からず、ただ何が起こっているのかさえ分からないという感じでした。その時点では私はLinuxについても全く理解していませんでした。今、今私たちはTerraformブロです。今あなたはただTerraformブロで、それは全く素晴らしいことです。
今、私たちはAI支援開発で同じパターンを目撃しています。AIがあなたのコードを全て書くという約束は、AIシステムを効果的に統括できるエンジニアが必要だという現実に進化しており、基本的に同じエンジニアですが、今度は新しいスキルとより高い給与期待を持っています。それは本当ですか?それが本当かどうか疑問に思います。なぜなら私の頭の中では、もしあなたが一群のAIコーディングアシスタントを統括するなら、あなたが生産するもののために、根本的により低い階層にいることになるからです。
一方、AIコーディングアシスタントを生産する人々はより高い階層にいるように見えます。もしあなたが今日より良いAIツールを生産できるなら、YCがあなたを強烈にアップデートして、彼らは今すぐあなたに何百万ドルも渡そうとするでしょう。今日、ただ今日、あなたがそれをやれば、100万ドルを手に入れられます。そしてそれは私が忘れてしまうことであり、私が思い出さないことの極めて大きな被害者である何かです。
開発の巨大な部分は、技術的でない店舗のためにコンテンツを大量生産することです。彼らは単なる請負業者です。彼らはプロジェクトを作成し、物事を出し、デザイナーがものをパイプインし、可能な限り速くCRUDアプリを作ることを中心に開発された完全なツールセットを持っています。
想像できるでしょう?このようなAIツール、これらのAIツールが本当に彼らを非常に速くするAIツールのような人々の完全なセットがあることを想像できるでしょう。なぜなら彼らは技術的負債を気にしないからです。彼らは技術的負債について気にする必要がないのです。なぜなら彼らがしなければならないのはただ生産するだけだからです。ただXを生産すればいいのです。
より長期的なビジョンはありません。ただXを生産して、それだけです。次の単一機能セットアップウェブサイトに移って、それで終わりです。だからそれはただドンドンドンという感じです。だからそのプロセスが速くなればなるほど良いのです。それはマーケティングサイトが得ることができるより多くのビジネスを意味します。私はこれがこれらのツールに関する誤解の多くが起こる場所だと思います。維持される必要がない小さなソロプロジェクトを立ち上げる人々の完全なグループがあるということです。あなたが知っている、何でも短い期間よりも長く。
そしてそこでAIはこの巨大な乗数のようなものになりますが、この特定の変革にはもっと深いことが起こっています。主に解決策を実装する方法を変えた以前の技術的変化とは異なり、AI支援開発は常に存在していたが今や無視することが不可能なソフトウェアエンジニアリングに関する根本的な真実を浮き彫りにしています。ソフトウェアで最も価値のあるスキルはコードを書くことではなく、システムを設計することです。私はそれはもっとマクロゲームのようなものだと思います。私はその声明には明らかに彼らが作っているよりももっと多くのものがあると思います。多分私が言うかもしれません。なぜならこの全体のような問題は、わかりました、それはただアーキテクチャについてだけのことです。人々がアーキテクチャについて考える方法はいくつかあります。
非常に上部にある箱と矢印があります。それは、私はこれらのサービスを使用してこれらの機能を連鎖させることができる必要があるということです。全ての最後の人がlambdaを使用して彼らの全体のアーキテクチャをコントロールすることを想像してください。彼らはこれをそれに流し込み、それをこれに流し込んでいます。あなたはこれを千回見たことがあります。わかりました、素晴らしい、これはそのバージョンの一つです。
しかし、コードを書く時に、しばらくの間存在できる十分に良いAPIを持つほど速くコードを生産できるバージョンもあります。それは一般的すぎません。特定すぎもありません。それはただそれです、そうでしょう?それは、これは本当に本当に素晴らしく、今私はこれを使ってかなりの期間これで走ることができる、というゴールディロックス領域のようなものです。そしてこれはもっとマイクロ特定のアーキテクチャのようなもので、多くの人が十分に価値を置いていないと思います。
そしてこれがAIが興味深くなる場所だと思います。なぜならAIの全体的なアプローチは、あなたがこれを捨てることができるということだからです。あなたはそれを捨てて、新しい形に書き直すことができます。なぜなら今コードを書くことは安いからです。私はこれが安くないと主張します。私はこれが小さなプロジェクトでは安いと思います。なぜなら小さなプロジェクトでは、何と呼ばれるでしょうか?あなたのコードの一部を書き直すことにはあまりリスクがないからです。なぜなら起こり得る全てのバグを、あなたは最終的に排除できることを願っているか、リファクタリングの波が起こる結果として、あなたのプログラム全体に波及するリファクタリングの波は小さいからです。
しかしそれが大きくなり、AIにこれらの大きなセットリファクタリングをより多くの責任を与える時、さあリファクタリングしてください、すべての破壊的なものはどこですか、その上にリファクタリング、その上にリファクタリング、その上にリファクタリングして、そしてそのような波リファクタリングをしてこれらの本当に安い変更をするだけの種類は、私たちが見ることになると思うのはただの大きなクソ化です。
私は本当にクソ化が来ると確信していて、それは今まで以上に大きくなるでしょう。なぜなら今それは多くのウェブサイトでかなり酷いものでした。私は本当に迷惑なバグを常に持つウェブサイトにますます遭遇していることに気づきました。どこでも小さいです。
それらは取引を破るようなものではありませんが、どこでも常にある程度迷惑なだけです。Twitterで3回目の更新ごとに、それがただ動かないという事実を私は嫌います。それは迷惑です。そしてあなたはこれを非常に頻繁に見ます。ただ「これは動きますか?」いいえ、これは動きません。なぜなら何らかの理由で、それはただ動かないでしょうし、私たちはただその余波を処理しなければならないからです。それは今この時点でただ迷惑になっています。
だから私は最も価値のあるスキルがこの全ての真ん中のどこかにあると思います。それはシステムをまとめ、他の人々と話すことができ、最小のカテゴリーでクソではないコードを作ることができる世界が存在するでしょう。これが視覚です。あなたは実用的である必要があります。
あなたは理論的になることができる必要があり、人々とコミュニケーションすることができる必要があります。それはAIが置き換えることに近くない一つのスキルです。置換約束の終わりなきカルーセル。私たちは何回この回転木馬に乗ったでしょうか。回転数を数えてみましょう。ノーコード、ローコード。はい。
ドラッグアンドドロップインターフェースがビジネスユーザーに自分のアプリケーションを構築させることになっていた時を覚えていますか?約束は明確でした。なぜ誰でもアプリを作れるのに高価な開発者を雇うのでしょうか?これは災害でした。実際に何が起こったでしょうか?これらのツールは新しいクラスの問題を作り出しました。誰かはまだそれらの光沢のあるインターフェースを支えるデータモデルを設計し、既存のシステムデータベースを統合し、エッジケースを処理する必要がありました。
ビジュアルツールは対処、維持、およびアップグレードできませんでした。要件が進化しました。結果はより少ない開発者ではありませんでした。それはビジネスドメインとこれらのプラットフォームの技術的制限の両方を理解するノーコード専門家の誕生でした。そして何だと思いますか?彼らは彼らが置き換えたとされる開発者よりも高い給与を命じました。
彼はCOBOLから始めるべきでした。COBOLは実際にCOBOLの素晴らしい例です。それは実際にそのような良い指摘です。COBOLはプログラミングが英語に近いべきだというアイデアでした。つまり、それは文字通りプログラミングがCOBOLでピリオドで終わった理由です。なぜなら英語に見えるものを書くことができるべきだからです。
それは皮肉ではなく要件で、考えるのが本当に難しいものです。それが本当だと思うのは本当に難しいです。Pythonがそうだったとは感じません。PythonやJavaScript、Luaがそのようだったとは感じません。私は彼らが自分の場所を理解していたと感じますが、COBOLは実際に何か違うものになろうとしました。
クラウド革命。クラウドに移行すれば、あなたのops チームを解雇できます。これは毎回私を困らせます。まるでインフラが他の誰かのサーバーに一度移れば何らかの理由で自分自身を管理するかのように。クラウドはシステム専門知識の必要性を排除しませんでした。それはただその専門知識がどのように見えるかを変えただけです。そして実際にあなたはこれの上に追加することができるでしょう、もし彼らがこれをしたなら、彼がこれに対処するかどうかわかりませんが、全体のサーバーレス革命を追加することができるでしょう。
誰か他の人があなたのサーバーを管理するというだけでなく、それはちなみに本当に素晴らしいことです。Amazonはただ常に物事を稼働し続けます。しかしその上に、全体のサーバーレスな一つ、あなたはサーバーについて考える必要さえありません。週に何回か誰かがツイートしているのを見ますか。「私は何をしているのかわかりませんでした。何をキャッシュするのかわからず、今10万ドルの請求書があります。それは毎回同じ学習です。私は何をしているのかわかりませんでしたし、今完全に台無しになっています。はい、知っています。ああ、何らかの理由であなたのサイトは常に1.5秒のスタートアップがあります。はあ。クレイジーです。それが起こり続けるのはクレイジーです。これがどのように動作するかについて何かを学ぶべきであるかのようです。
サーバーレスは実際にはサーバーモアです。サーバーレスはただあなたがサーバーについても考えなければならないということを意味します。それだけです。システム管理者は排除されませんでした。彼らは派手な新しい職種タイトルと大幅により高い補償パッケージを持つDevOpsエンジニアとして生まれました。彼らは仕事が消えませんでした。それはインフラストラクチャアズコード、自動化されたデプロイメントパイプライン、分散システム管理に進化しました。
そして最悪の部分は、ほとんどの人々のプロジェクトが月に千人以上のユーザーを見ることがないということです。私たちは事実上ほとんど何もない上でこの全ての強度を持っているのでしょうか?マイクロサービスについての私のLinkedIn投稿で述べたように、私は完全に機能的なシステムを数か月かけてマイクロサービスに分解し、一つの問題セットをより高価な問題セットと交換したことを発見したチームを見てきました。
それは本当にそうです。しかし私は、私はまだ友人との非常に重要な相互作用を覚えています。彼はついに私に認めました。これは皮肉ではありませんでしたが、彼らはユーザーよりも多くのマイクロサービスを持っていました。そして彼はついにただ「私はこれが嫌いです。私は自分の人生に何をしたのでしょうか?私は実際に、ただできたであろうことを達成するためにローンチしなければならない非常に多くの異なることを作ってしまいました。」ライブラリを通じた暗黙の契約ではなく、ただ一つのものを構築できたはずでした。
モジュラーモノリスに全ての賞賛を。正直に言って、よく考え抜かれたモノリスである必要さえありません。ライブラリを持って、そのライブラリを使ってデータストレージを行い、後でそれが必要になった時に戻ってきて変更することがどれほど簡単かを知っていますか。
私がMetaで競合していたプロジェクトがありましたが、彼らはプロジェクトに取り組んでいる人々よりも少ないユーザーを持っていました。それは、それを構築した人々でさえそれをクリックしなかったことを意味します。気分が良いです。とても良いです。Google+。はい、オフショア開発の波です。現地の開発者にお金を払うのではなく、海外で一部のコストで同じ仕事を完了させることができるのに、なぜでしょうか?劇的なコスト削減の約束は、コミュニケーションの課題、品質の問題、そして効果的なソフトウェア開発には深い文脈的知識と継続的なコラボレーションが必要であるという発見の現実と迅速に衝突しました。
これがどのように見られなかったのかわかりません。私は妻を愛していますが、時々私たちは喧嘩をし、私は彼女と可能な限り最高にコミュニケーションを取ることに完全に動機づけられています。そして私は他の何よりも動機づけられています。だから今、あなたが行かない人々とコミュニケーションを取っていることを想像してください。あなたが理解しない全ての種類の文化的慣用句と、彼らはあなたのものを理解しません。
あなたの頭の中にある全ての種類の異なるアイデアがあり、あなたが同じ言葉を言う時に意味するか、異なる絵を作ります。実際のコミュニケーションに関してはただとても多くの、ただとても多くのクレイジーさがあります。これが純粋なトレードオフになると考えるのは狂気です。
代わりに現れたのは、より微妙なアプローチでした。明確な所有権境界、より強いアーキテクチャ実践、そして驚くべきことに、最初の予測よりも高い総コストを持つ分散チーム。はい。AIコーディングアシスタント革命。今私たちには私たちのためにコードを書くと約束するAIがあります。ただあなたが欲しいものを説明すれば、AIがそれを生成します。ふむ。ふむ。誰か誰か彼らが欲しいものを説明できますか?誰でも彼らが欲しいものを正確に説明できますか?あなたが欲しいものを正確に説明できる時でさえ、あなたはまだあなたが欲しいものを正確に説明していません。なぜならあなたが作っている非常に多くの根本的な仮定があるからです。
コードは最も正確です。コードは常に最も正確でした。コードはコードは人の反映された意図です。AIはしばしば微妙な方法で失敗する妥当に見えるコードを生成します。シニアエンジニアは正しいAI出力を検証するのに大きな時間を費やします。
バイブコーディング現象は、経験豊富な開発者が新人よりも多くの価値を抽出することを意味します。バイブコーディングについてそれが抽出について本当かどうかわかりません。正直に言って、それが本当かどうか全く分かりません。私はバイブコーディングの一部はあなたが彼らに何をすべきかをバイブで伝えることができる必要があり、適切な場所で適切な言葉を使うことができることは、おそらく異なるタイプのコード分離を得ることを意味するという意味で本当だと思います。なぜなら、もしあなたがアイデアを持っていなければ、はい、わかりました。
AI支援で完全に構築されたシステムはしばしば一貫したアーキテクチャを欠いています。しばしば。私は「しばしば」という言葉がここに含まれているのが好きです。それは本当にそれが本当にそれは物事ですか。しばしば、あなたはいいえ、これは埋め草の言葉です。しばしばはありません。パターンは明確です。
各ケースで、技術はスキルを置き換えませんでした。それはそれをより高いレベルの抽象化に押し上げました。パターンはこの時点でほとんど公式的です。新しい技術が技術的専門知識を置き換えると約束し、早期採用者が隠れた複雑さを発見し、役割は消えるのではなく変換され、スキルがより専門的になるにつれて給与が増加し、X革命的技術で洗い流しそして繰り返します。
しかし、このAIツールの現在の波には何か違うものがあります。常にバックグラウンドで動作している真実を浮き彫りにする何かです。オーケストラのアナロジーを見てみましょう。
なぜ私たちにはミュージシャンだけでなく指揮者が必要なのか。AI とソフトウェア開発で何が起こっているかを理解するために、私はアナロジーを誘導したいと思います。ソフトウェアを構築することは音楽を作ることのようですが、ソロパフォーマーとしてではなく、オーケストラとしてです。このアナロジーでは、個々の開発者は美しく楽器を演奏できる熟練したミュージシャンのようなものです。
技術とフレームワークは楽器自体のようなものです。プログラミング言語は楽譜です。わかりました、このアナロジーで少し引き延ばしています。AIコーディングアシスタントは、何を演奏すべきかを知った後でのみ、どの部分も完璧に演奏できる非常に才能のあるセッションミュージシャンのようなものです。
しかし、あなたはただ彼らがしばしばアーキテクチャなどを欠いていると言いました。ここで少し賞賛しすぎです。ここで少し賞賛しすぎです。AIアシスタントができることは、そこにあるべきに聞こえるメロディーを作ることですが、何があっても、それをまだ調整しなければなりません。しかし、ここに重要な質問があります。どの音楽が演奏されるべきかを誰が決めるのでしょうか?これらの才能あるミュージシャン全員が不協和音ではなく調和を作ることを誰が保証するのでしょうか?明らかにプロダクトマネージャーですよね?プロダクトマネージャー。
私たちは皆、それがプロダクトマネージャーを持つ理由だということに同意できるでしょうか?彼らはあなたの人生を幸せにするためにそこにいます。なぜならあなた、愚かな開発者は、何を構築したいかを知らないからです。だからあなたには何を構築したいかを知っている人々がいます。わかりますか?彼らはプロダクトマネージャーと呼ばれます。それが一般的にプロダクトマネージャーと呼ばれる指揮者です。
私はいつもそれをCEO、ドライブバイCEOイングとも呼んでいます。ドライブバイCEOイングを愛さなかった人はいませんでした?そして本当に、これは任意の種類のドライブバイボシングである可能性があります。そこで彼らはただボス男が通りかかって「おい、これを違ってやるべきだ」と言います。そして最悪の部分は、あなたがそれを違ってやり、そして実際のデザイナー/プロダクトマネージャーが「一体ここで何が起こっているんだ?なぜこれをやっているんだ?」と言うことです。そしてあなたはただ「それが私がいつもやることです」となります。
指揮者のいないオーケストラ。世界クラスのオーケストラ、すべての楽器の名手パフォーマンスを想像してください。しかし指揮者はいません。何が起こるでしょうか?彼らは異なるテンポで同じ曲を演奏するかもしれません。金管楽器セクションが重要な瞬間に弦楽器を圧倒するかもしれません。ミュージシャンは動的に異なって中断するかもしれません。
各個人のミュージシャンが完璧に自分のパートを演奏しているにもかかわらず、全体的なパフォーマンスには結束が欠けています。実際、何が起こるかわかりません。何が起こるかわかりませんが、それはかなり魔法的かもしれません。ヨーヨー・マ。ヨーヨー・マ。ヨーヨー・マ。そこにあります。ヨーヨー・マ。それはかなり魔法的かもしれません。実際に何が起こるか全く分かりません。
強いアーキテクチャリーダーシップのないソフトウェアプロジェクトで正確に何が起こるか。AIは完璧な関数、コンポーネント、さらには全体のサービスを生成できます。しかし、それらがどのように一緒に働くかを導くアーキテクチャなしでは、交響曲は得られません。ノイズを得ます。だから再び、これが何ですか。
これは人々が常に見逃すことです。これは本当ではありません。彼らは完璧な関数やコンポーネントやそれらのもののどれも生産しません。そしてこれは私がアンチAI氏になろうとしているのでもありません。ただ、彼らがどこで失敗するかを理解しなければ、文字通り愚かなことを繰り返す運命にあることを理解する必要があります。だから、これの本当に良い例は、あなたがXを見る時はいつでもです。スクワートはどこですか?
わかりました、ここにスクワートはありますか?わかりました、これは異なります。ここで何を見ますか?わかりました、これはAIによって書かれています。私はAI男にこれを書いてもらいました。Docs equals source。はい、私はAIにこの全体のプロジェクトを書いてもらいました。わかりました、この強調表示された領域で何を見ますか?あなたが見るのは、距離関数が複数回計算されているということです。多くのスクワート、正しいでしょう?
しかし、距離関数の生成でさえ実際に異なって行われていることに注意してください。あなたはdxdyを持っていますが、この方法もあります。ベクター操作でベクターが作られていないことに注意してください。それは単に、わかりました、時々私たちはこの方法でやります。時々私たちはmath.powとmath.squirtを使います。時々私たちはこの方法でやります。時々私たちは距離の二乗を使います。
時々それがただ起こることです。ああ、これを見てください。別のスクワート。ああ、クレイジーでしょう?単一のファイルでベクターなしで距離を計算する4つのインライン方法があり得るのはクレイジーです。だから私が言っているのは、それはそれは私はAIをばかにしようとしているのではありません。私はただ、もしあなたがそれがこのようなものを生産すると思うなら、あなたはただより悪いものを生産するだけだと言っているのです。
あなたは文字通り自分自身をもっと傷つけています。あなたはすべてについて超警戒しなければなりません。また、スクワートは必要ありません。はい、あなたは距離の二乗比較もできます。すべてが距離の二乗だけでいいのです。あなたはただプロンプトローの仕方を学ばなければなりません。私は皆がこれを言うことを知っています。だからそれが人々が理解しない私の大きな心配で、彼らがなぜそれが悪いのかを理解しないということです。
それはここで正しいことをしているから悪いのではありません。つまり、技術的に、これも正しいことではありませんでした。それはこの奇妙なソート関数をやって、実際にソート関数をやる必要がありませんでした。ここで起こっているこの全体のソーティングは実際に存在する必要がありませんでした。なぜならそれは実際にそれがやっていることの重要な部分としてソートの状態を使わないからです。
それが最高の部分です。敵を更新していますが、すべてのゲームでレンダリングする前にzindexによってレンダリングするものをソートする必要があるからです。それをやりましたが、それを通常の更新を実行した更新関数でやりました。それはとても良いです。とても良いです。このコードは全く存在する必要さえありません。
指揮者が実際にやること。人々は指揮者がただ時間を保つ人間のメトロノームだと間違って思っています。しかし、見てみましょう、しかしどんなオーケストラ楽団員も指揮者がはるかに多くのことをすると言うでしょう。
作曲者の意図を解釈する。ページ上の抽象的な音符を特定のビジョンに翻訳する。バランスをコントロールする。どのセクションも他を溺れさせないことを確実にする。動的を形作る。強度を構築する場所とスペースを作る場所を決定する。解釈を統一する。すべてのミュージシャンにわたって一貫したスタイルとアプローチを確実にする。リアルタイムで調整する。ページ上にあるものだけでなく、実際に起こっていることに応答する。
今、作曲者の意図をビジネス要件に、バランスをリソース配分に、動的をパフォーマンス特性に置き換えてください。そうすればソフトウェアアーキテクトが正確に何をやるかがわかるでしょう。
だから、私はこれはソフトウェアについて書くことの一つの側面、つまりアーキテクチャだけに焦点を当てすぎていると思います。再び、それは、あなたが知っている、ソフトウェアについてのすべては実際にコミュニケーションであり、あなたが知る必要があるすべてだと言う人々がいるようなものです。それはそれでもありません。「いいえ、それはアーキテクチャについてだけです」と言う人々。いいえ、それもそれだけではありません。それはただコーディングについてだと言う人々。いいえ、それもそれだけではありません。それは実際にそれらすべてのものの交差点になるでしょう。
指揮者の耳。指揮者が持つ最も価値のあるスキルは、バトンを振る能力ではありません。それは複雑な音の中で微妙な不協和音を検出できるオーケストラの耳を持つことです。どのセクションや楽器が調子外れかを正確に特定する。小さな調整が全体的なパフォーマンスにどのように影響するかを理解する。ソフトウェアでは、これはアーキテクチャ的思考と呼ばれます。複雑なシステムの微妙な設計の不一致を検出する。
大きなプロジェクトで働いたことがありますか?それはただそれは文字通りそれがただ大きなプロジェクトと呼ばれるものです、設計の不一致です。成功したものではありません。はい、成功したもの。何の話をしているのですか?それはただ2つと呼ばれるものです。それは数行のコード以上のすべてのプロジェクトが、ただお互いにますます場違いになるものです。
パフォーマンスの問題を引き起こしている正確にどのコンポーネントかを特定する。これは簡単にやることではありません。しばしば、あなたが書くコードの方法のために広がりコストがあり、それは理解しやすくないだけです。そして時々、完全な燃やし尽くしと書き直しが、これらのものから真のパフォーマンスを救うことができる唯一の方法です。
それは、これらのことは簡単ではありません。小さな設計決定が全体的なシステム行動にどのように影響するかを理解する。これは、ちなみに、これはホットスポットパフォーマンスと呼ばれるもので、ホットスポットパフォーマンスの問題は起こり得るし、実際に起こります。そしてあなたは明らかにそれらのものを取り除くことができます。時々本当に悪いパフォーマンスをするものがただあります。
全く。全く合理的ですが、同時に、これは常にあることではありません。あなたはこの種の耳についてAIを訓練することはできません。なぜならそれは、AIが根本的に欠いている何かを必要とするからです。経験と直感に基づく全体的な判断。AIはコードがコンパイルするかどうか、またはそれがパターンに従うかどうかをあなたに教えることができます。しかし、まず第一に、AIはコードがコンパイルするかどうかを教えることはできません。それは根本的に真実ではないか、パターンに従うかどうか、しかしそれは特定のビジネスコンテキストでアーキテクチャが正しく感じられるかどうかを教えることができます。
なぜミュージシャンにはまだ指揮者が必要なのか?同じ曲を何百回も演奏したミュージシャンで満たされた世界最高のオーケストラでさえ、まだ指揮者を必要とします。なぜでしょうか?誰かが必要だからです。
わかりました、これはAIで書かれているに違いありません。ここにはリストが多すぎます。すべてのリストにリストがあります。なぜこの人たちにこんなに多くのアップ票があるのでしょうか?私はあなたを信頼しています。
私はあなたが良い判断をするために私のサイトであなたを信頼しています。わかりました、私はあなたを信頼しますが、指揮者がどのように働くかについてこれほど正確な説明が必要だと言い続けることはできません。わかりました、見てください、それが必要でしょうか?見て、見てください。ここから始まってただ続きます。続きます。わかりました。みんな、あなたたちは私に何をしているのでしょうか?
わかりました、何らかの種類のものを見つけてみましょう。それはまだ、それはまだこのことについてです。それはまだ、それはまだリストを作っています。もしあなたが考えているなら、私たちはただAIにもっと多くのことを書いてもらい、あなたはただアーキテクトのアーキテクトであるべきだと言っている記事について私が怒っていないと理解しなければなりません。
私はあなたが明らかにこのアーキテクチャであなた自身のドライ原則の多くに従わなかったと言わなければなりません。わかりました。なぜならあなたは一貫して自分自身を繰り返すからです。私は最初の数行、正直に言って最初の数つの小さなビットが指摘すべき本当に本当に良いことだと思います。クラウド革命は実際にCIS管理者を必要としないことから私たちを救いませんでした。
ローコード、ノーコードは人々がプログラムしなければならず、これを起こすためにかなりプログラムしなければならないことを防ぎませんでした。オフショア開発はすべての仕事を奪い去りませんでした。実際、それはただ今現地であることの必要性をより強調しました。だから私はAIコーディングでも同じことが起こると思います。
私はこの記事からの本当の要点は以下のことだと思います。何かがよりアクセシブルになり、それが生産するものが負債である時、コストが上がるということです。人々はコードが戦略的な堀だという奇妙な概念を持っています。コードは実際には戦略的な堀ではありません。コードはほぼ普遍的に負債です。だから、もしあなたがその負債をより速く生産でき、一貫性がなく誰かの頭の中で美しいコードでなくても、それでも同じコードです。
それでも誰かが同じコードを書いて、彼らはそれに慣れています。少なくとも一人の人がコードを書いて、完全にひどい1つの8,000行の関数を書いても、少なくともその人はコードを知っています。何かが壊れた時、彼らはコードがどこで壊れたかを知っています。私の言っている意味がわかりますか?少なくともそれは彼らの頭の中にあります。
しかし、これは、それはあなたの頭の中にありません。あなたはそれがどこで壊れるかを知らず、それでも負債です。それは負債です。終わりです。そして今私たちには負債を生産する多くの人々がいます。もっと多くの人がいるでしょう。

コメント

タイトルとURLをコピーしました