
75,517 文字

Vibe codingは未来です。少なくともY Combinatorによればそうです。もしご存知なければ、私はYCの創業者で、彼らがやっていることにはかなり好意的です。すべてに賛成しているわけではないし、彼らの周りで起きる大きな騒動の多くは誤解であると考えています。また、間違った内容が間違った人々に届くことで変な状況が生じるのもよくあることです。
変な話といえば、私は彼らのビデオを見るだけでなく、Primeのそれに対するリアクションを見ていきます。これがメインチャンネルの動画になるかどうかはわかりません。見ていきながら考えてみましょう。もしこれが実際の動画になるなら、エディターの仕事に対して支払いをしなければなりません。今日のスポンサーからお話を聞いてから本題に入りましょう。
今日のスポンサーは基本的にすべてを間違ってやっている会社です。彼らは価格を下げ、すべてのコードを無料で公開し、自分たち自身を常に冗談のネタにしています。彼らは自分たちの会社を「PostHog」と名付けるほど、良いビジネスを経営することにほとんど関心がありません。ですから、彼らが自滅しているのを利用したいなら、彼らをチェックしてみるべきです。
冗談はさておき、これはとても素晴らしい製品で、無料枠だけでも十分に使えるでしょう。また、彼らは私に支払いをしてくれています。私は4年間彼らの製品を使っていて、無料で宣伝していたでしょうが。彼らはすべてを間違ってやっていますが、それが私のチャンネルやビジネスの運営を簡単にしてくれているし、あなたにもきっと役立つでしょう。
これが実際に私がT3 chatの追跡に使用しているダッシュボードです。PostHogはNextJSのようなものに簡単に追加できるため、バックエンドとフロントエンドの分析を持つことができます。これらは広告ブロッカーに対して耐性があります。自分のもの経由でルーティングできるからです。こういったインサイトを得られるのは素晴らしいことです。PostHogを使っていない企業と話すと、いつも二つのうちどちらかです。競合他社を使っていて高すぎる料金を払っているか、これらの数字を持っておらず、ユーザーが実際に何をしているのか把握できていないかのどちらかです。
実際のユーザーがいるサービスを構築しているなら、彼らをチェックしてみてください。実際のユーザーがいないサービスを構築しているなら、まずそれを修正し、それからチェックしてください。PostHogのスポンサーに感謝します。今日はsoy.link/posthogでチェックしてみてください。
さて、これをどうやって動画にするか頑張っているFaZeに感謝します。やりましょう!Vibe codingは未来です。まるで誰かが夜に巨大な豆の種をばらまいて、朝起きたら何が起きているのかわからない状態のようです。今の感覚では、これは過ぎ去るものではなく、コーディングの主流な方法になっていて、もしそれを使わなければ取り残されるかもしれないということです。
私はこの考えをいつも嫌っていました。とても単純な理由です。「今使わなければ取り残される」という同じ議論が持ち出されます。「本当ですか?それでは、AIは1年後も同じままなのですか?」と聞くと、「いいえ、次の数年で非常に異なるものになるでしょう」と言われます。ということは、今それを学んでも、数年後にはどうせ再学習する必要があるということですね。
皆さんは私がこの不一致についてどちら側に立っていると思いますか?GaryとPrimeのどちらの側にいると思いますか?Garyは「今これを学ばなければ取り残される」と考え、Primeは「どうせ大きく変わるだろう」と考えています。
完全にPrime側にいます!誰も見ていない私の動画でこのことについて話しています。遅れることは悪いことではないと常に言っています。Reactを始めたのは5〜6年後でした。当時のReactの寿命のほぼ半分が経過していました。すでに長い間存在していて、もうすぐ置き換えられるように感じました。Felt 3が起こっていた頃に参入しました。Reactへの参入が遅すぎたわけではありません。
遅れることは悪いことではなく、むしろ良いことであることが多いです。なぜなら、それまでの間違いをすべて飛ばすことができるからです。新しいツールや技術には多くの想定が存在し、もしhooksが発表される半年前にReactを始めていたら、hooks発表の1〜2ヶ月後に始めた人よりも不利です。クラスコンポーネントの混乱をすべて飛ばして、より良いDXに直接進むことができるからです。
遅れることで困ったことはありません。開発者YouTuberになるのも遅かったですが、私が始めてから全く新しいタイプの開発者YouTuberが登場し、それを見るのは素晴らしいことでした。AIも遅れて参入しましたが、Chat GPTの2年半後にAIチャットアプリをリリースし、それでもうまくいっています。遅れることはしばしば良いことなのです。
私がよく挙げる例は、モバイル開発です。モバイルに非常に早く参入したとします。スマートフォンが登場し始めた時、モバイルが未来だと確信しました。これは良い考えです。モバイルに全力を注ぐことにしましたが、iPhoneはまだ登場していません。スマートフォンが未来であり、人々がデスクトップよりもスマートフォンでより多くのことをするようになると知っています。そこで、最高のモバイルJavaアプレット開発者になることを決めました。
モバイルに早すぎる参入は失敗につながります。現在存在するアプリプラットフォームが存在する前にモバイルに入ったなら、App Storeが登場して数年後に参入した人よりも不利です。早すぎる参入者は間違ったことを学んでしまうのです。
これがもっとも顕著だったのはYouTubeです。YouTubeの最初の5年間のトップ100クリエイターを見ると、今も活動しているのは3人だけです。そのうち2人はアルゴリズムがプラットフォームを台無しにしていると常に文句を言っています。アルゴリズムは単に人々が望むものに従っているだけです。当時は非常に新しく、YouTubeビデオ制作のメタは非常に異なっていました。彼らは間違った方法で良いビデオを作ることを学び、今では基準が上がり、期待が変わり、プロセス全体が根本的に変化しているため、早く始めたことでより良くなっているわけではなく、新しい方法を学ぶことができません。古い方法に深く根付いているからです。
だから私はGaryに同意しません。彼のことは好きですし、2日前も話していました。しかし、少し遅れてこれに参入しても大きく損をするとは思いません。しかし、もしあなたがこれに興味があるなら、今は非常に良い位置にあり、これらの技術でできることの中には本当に素晴らしいものがあります。
もしすでにVS Codeを使っているなら、Cursorを試してみてください。少なくともこれらのツールを試すことができるものを試してみてください。必ずしもそうする必要はありませんが、驚くかもしれません。私はCursorを3回使ってやめましたが、最終的にはクリックして使い始めました。これらのものを試す必要はありませんが、もしSvelte 3が登場した時にそれに大きく賭けていたら、台無しになっていたでしょう。このものはずっと先に進んでおり、より多くのことができます。
私が言いたいのは、Primeに完全に同意するということです。これらを少し早く試さなかったからといって、損をしたり見逃したりするとは感じるべきではありません。
この最初の30秒で既に一時停止しています。長い動画になりそうです。
私はGaryに反対します。過度に編集された動画が嫌いです。最初の30秒はちょっと派手にして注目を集めるのは良いですが、それ以降は派手なアニメーションや何かは不要です。ただ彼らの名前を表示すれば十分です。
「私たちはY Combinatorのパートナーで、集合的に何百億ドルもの価値のある企業に資金を提供してきました。今日はVibe codingについて話します。これはAndre Karpathyの最近話題になった投稿からのものです。「新しい種類のコーディングがあります。私はこれをVibe codingと呼んでいます。完全にThe Vibesに身を委ね、指数関数的なものを受け入れ、コードが存在することさえ忘れるのです。」」
「現在のYCバッチの創設者たちにVibe codingについての考えを調査しました。どのツールを使っているか、ワークフローがどのように変化したか、ソフトウェアエンジニアリングの未来についてどう考えているかなどを尋ねました。」
私はチャットGPTのRedditで読んだすべての投稿が「助けてください、私のプログラムは30ファイルあり、すべてがフリーズして常に壊れています」というものであることが好きです。Vibe codingが良いとは思えません。専門知識がなく、自分の位置を気にしないことほど良いものはありません。
多くの人が、会社で開発パターンを設定しようとした経験があるでしょう。その建築内で行った決定でさえ、時間が経つにつれて難易度が指数関数的に上昇しました。そこで建築を見直し、曲線を少し平坦にしましたが、時間が経つとまた指数関数的な難易度の曲線に再び直面します。何かを変更するたびに問題が膨らみ、より多くの問題や奇妙な副作用が発生し始めます。
ではVibe codingに完全に移行し、建築を気にせず、実際にどれだけ進めるのか考えてみてください。現実的にどれだけ続けられるのか試す必要があるかもしれません。
私はVibe codingという言葉が「コードを見ないでのコーディング」という意味で使われていることに少し残念に思います。私がコードのVibe(雰囲気)について考えるとき、非常に異なる感覚を持ちます。コードレビューで何かを読み、その書き方に違和感を感じることがあります。これはうまく維持できないように見えます。行ごとにこれが間違った方法だと思う理由を説明できますが、単にこの雰囲気が合わないのです。
そのような状況に陥ったとき、私の解決策は何度か試みを繰り返し、問題の解決方法を変えて、新しい解決策についてどう感じるか見てみることでした。私にとってのVibe codingは「Vibeに身を任せる」ことではなく、「コードのVibe」についてでした。コードを見ないでコーディングするという意味でこの言葉が使われるようになったのは残念です。
これらのツールを使用する方法の一つは、問題に対して3つか4つの異なる解決策を生成し、どの解決策の雰囲気がより良いか見ることです。これは規模拡大のための大きな可能性を持っており、AIの最もクールな点の一つでした。以前は、500行のコードファイルや3つの複雑な部分を持つ特定の機能があり、維持が難しくなっていた場合、その機能をパッチして動作させ、エッジケースを修正して先に進むために多くの時間を費やしていました。今では、その部分を吹き飛ばして、ユーザーには同じように見えるが、より単純で自分にとってより良い雰囲気のものを一から作り直すことが簡単になりました。
これらのツールの興奮することの一つは、どのような規模でも、一部のものを削除して再試行することから恩恵を受けることができることです。以前は、10年間に20人が構築した複数のファイルを削除するコストは実行不可能でした。それは単に高すぎたのです。今では、数分で3つの代替案を作成し、それらを見て、その後どう感じるかを確認することができます。
ゲーム開発の視点からは、AIゲームを擁護する予定の動画があります。そこにはいくつかの本当にクールなことがあり、その良さについてまだ認識されていないフレーミングがあると思います。
AIゲームコードの問題の一つは、良いゲームを作るための良いオープンソースコードの例が非常に少ないことです。良いゲームと良いアプリの数はすでに比較的少なく、良いオープンソースの例の数は100対1000の差があります。適切なオープンソースゲームは2、3個しかなく、ゲーム開発に使用するツールのほとんどはオープンソースではありません。アプリケーション開発の世界では、物事を正しく行う方法を示す驚異的な量のオープンソース例があります。
良いオープンソースのトレーニングデータの量と、良いデータと悪いデータの比率のギャップにより、AIツールはデータが多くて高品質なものには非常に優れていますが、そうでないものにはそれほど優れていません。もし誰かがこれらの大きなゲーム会社に行ってソースコードを購入し、モデルをトレーニングしたら、それはもっと良くなるかもしれませんが、現在、ゲームのものに関するAIをトレーニングするためのデータは比較的少ないです。私たちは主に3jsで作られたデモを持っていますが、実際のゲームや実際のゲームが構築されているツールはあまり持っていません。
だから、ゲームはAIがアプリケーションをアーキテクトする際にどれほど強力になれるかの最良の例ではないと思います。単に適切なデータがないからです。
Zackの「ゲーム開発は非常にVibe basedである」という引用が好きです。彼らがここで言っている方法とは文字通り反対の意味で使っています。良いゲームは数が少ないのです。
Dan Vilからのもう一つの指摘があります。ゲームの性質上、クロスプラットフォームの互換性があるため、C++の組み込みハッシュマップなどを使用することさえできず、AIはそれを理解していないのです。AIは標準文字列を使用するように求めますが、それは私たちが行う多くのことでは機能しません。
モデルがゲームの世界を理解するための良いデータがあまりにも少ないため、一貫して良いコードを生成できるものがあるとは思えません。Unreal Engineを理解できるものがあれば、驚くでしょう。良い例がありません。gd auはオープンソースエンジンですが、それを使用している良いゲームはほとんどなく、gd auで構築された素晴らしいゲームの中でオープンソースのものはありません。良い例がないのです。
オープンソースのウェブフレームワークも多くあります。AIでSveltアプリを作ってみてください。Sveltで物事を書く良い例がないことが問題であり、技術自体の問題ではありません。また、ゲーム開発の場合、技術自体もクローズドソースであることが多いため、さらに悪くなります。ツールがあまりにも少ないのです。
プライム、お元気ですか?これまでのところ、ほぼすべての点で同意してきました。これは興味深いものになりそうです。私たちがこれに同意しないだろうと言われていましたが、そうではないようです。ポイント4つで完全に同意しています。
「統計的モデルは通常、Z軸でソートしてから何かをするものですが、実際には統計的にそうあるべきだからそれが起こるだけかもしれません。」
Primeさん、AIについて合理的な見解をお持ちですね。人々はあなたがAIについてクレイジーな悲観主義者であるかのように私に誤って引用していますが、全くそうではありません。あなたと完全に同意するのは、これらのことをまだ使っていなくても取り残されることはないということです。何年も遅れて参加しても誰が気にするでしょうか。AIチャットアプリの構築に2年半遅れて参加しましたが、それでも爆発的に成長し、私たちに多くのお金をもたらしています。Reactには5年遅れて参加しましたが、全く痛手を受けていません。遅れることは良いことであることが多いです。なぜなら、そこに至るまでの面倒なことをすべて飛ばすことができるからです。
だから、私たちはこのすべてにほぼ完全に同意しています。どこで意見が分かれるのか興味があります。
「私たちは創業者にいくつかの質問をしました。どのツールを使っているか、ワークフローがどのように変化したか、そして一般的にはソフトウェアエンジニアリングの未来についてどう考えているか、Vibe codingの世界に入るにつれてソフトウェアエンジニアの役割はどのように変化するのかを尋ねました。創業者からいくつかの興味深い回答が得られました。」
「お気に入りの引用はありますか?創業者から出てきたものの中で」
「そのうちの一つを口頭で読むと、「ソフトウェアエンジニアの役割はプロダクトエンジニアに移行すると思います。コーディングツールが全員を10倍のエンジニアにするため、人間の感性がこれまで以上に重要になります。」」
Primeの意見に左右される前に、私の見解を述べさせてください。半分同意します。「感性」は単に良い感性という意味ではなく、悪い感性という意味でも重要です。AIが3つのものを組み合わせることを推奨しているのを見て、十分な感性と経験があれば、「うーん、これはしっくりこない、これについては確信が持てない」と感じることができます。だから再試行したり、自分で主導権を取って進めたりします。これは今、これまで以上に重要です。AIが間違った道を進んでいるのを捕まえ、正しい方向に導いたり、自分で引き継いでやったりする能力が重要です。
あるいは、もっと重要なことに、意味のないバグを引き起こす奇妙なエッジケースに遭遇し始めたとき、以前よりもコードに慣れていない状態でも、原因がどこにあるかを特定するための適切なスキルを持つことが重要です。
これらのツールで起こり得る奇妙なことは、以前は数千のファイルと数十万行のコードを持つコードベースのために、数十人のエンジニアが必要でした。各ファイルがどのように機能するかを誰かが知っている必要がありました。しかし、その人が休暇中で、あなたがオンコールで、以前に触れたことのないコードベースの一部で何かが壊れている場合、それは関係ありません。それを自分で解決しなければなりません。
今や個人の開発者や2〜3人の小さなチームが同じ状況に陥っています。なぜなら、彼らは通常多くのエンジニアを必要とするモノリスにVibe codingを使ってたどり着いたからです。そして、事態が崩れ始めると(人間が構築した場合に比べてシステムが自身を認識していないため、より積極的に崩れ始めます)、これらのスキルはこれまで以上に重要になります。コードをまだ知らなくても、以前に見たことのないコードベースに飛び込み、本番バージョンのバグを示されて修正方法を見つけることができますか?これは信じられないスキルであり、私はそれを感性と同様と見なしますが、それは別のものです。
さて、Primeの感想を見てみましょう。コード生成はあなたを10倍のエンジニアにするでしょうか?
「彼が言おうとしていることは、私が何かを私が好む形に変える能力だと思います。ゲームを作ることは、究極的には、あなたのビジョンを実行するためのプラットフォームを作るための多くの困難なことです。10倍の部分については同意できません。しかし、なぜ私が何かを好きか嫌いかということに関心を持ちたいという考えは理解できます。そしてコーディングが十分に速ければ、技術的にはもう一度コードを書く必要はありません。これがたぶん彼らが主張していることだと思います。」
「スタートアップの創業者はこれについて尋ねる最悪の人々だと思います。私の一般的な考えは、スタートアップの創業者は、製品を維持したり、長寿命の製品に機能を追加したりする人々とは根本的に異なる方法でプログラミングをするからです。創業者はできるだけ早くアイデアを出すためにプログラミングし、使用するテクノロジー、選択する言語、使用するサービスなどすべてに妥協します。何でもいいから出す速度を優先して妥協するのです。」
「だから、全体的なアーキテクチャが最優先事項ではないかもしれないと想像できますし、特定のことにVibe codingすることは問題ないかもしれません。Vibe codingが機能する世界があるかもしれません。もし1000行以下のコードのセクションに分割すれば。アーキテクチャを設定し、その後小さな部分をVibe codingすることができるかもしれません。予測が小さくなるほど、LLMが正しく行う可能性が高くなるからです。」
これについては、独特の視点を提供します。私は完全に同意しますが、ここには本当に有望な層があると思います。Twitchにいたとき、AIツールやVibe codingの概念が登場する前に、頻繁に遭遇した問題があります。
本質的に複雑な機能があり、将来拡張できるようにその周りに複雑なシステムを構築しました。そして3年が経ち、何も追加せず、さらに1年が経ち、2〜3のものを削除しました。今や時間が経過し、この機能のために書かれた1万から5万行のコードのうち、多くても2万行しか使われておらず、ほとんどはもともと想定していたよりも複雑です。なぜなら、それらは結局真実にならなかった想定に基づいて構築されたからです。
同じものを2回書くと、2回目はいつも良くなります。これは非常に価値のある回顧です。AIツールの素晴らしい点は、コードベースにそのような巨大な災害がある場合、以前ならしばらくそれを維持しなければならず、それを捨てて再構築するための敷居が非常に高くなるということです。会社やチームから許可を得るために多くの説得が必要でした。
私はそれを常に行っていました。私はスレッジハンマー係でした。崩れ落ちかけていて再構築が必要なものがあるとき、私が呼ばれて、それを破壊して再構築しました。それは非常にVibe basedなことでした。ソファに座り、音楽を大音量で流し、大麻を吸いながら、50以上のファイルを削除した機能をどれだけ簡単に再作成できるか見るために一生懸命コードを書いていたことを鮮明に覚えています。冗談ではなく、3万行のコードを捨てて、それを500行ほどで置き換えたことがありました。それは完全に問題なく、単純なものでした。
これは、ここで切り離して下のすべてを捨て、再構築して、実際に私たちの問題を解決する、はるかに単純で維持しやすいものを持つことができる、クリーンなカットポイントがあることを認識できる能力であり、それ自体がスキルです。これは今までになく利用しやすくなっています。それがT3 chatで楽しみにしていることの一つです。1ヶ月以内にデータレイヤー全体を3回書き直しました。1週間で2回データベースを変更しました。これは以前は不可能でした。1日で完全なデータアーキテクチャを書くことは馬鹿げていました。手作業で2週間かけて書くよりもバグが多かったかもしれません。しかし、それは最初の2つの計画がどのように失敗したかをより早く見ることができたため、それらをより早く捨てることもできたということです。
それは素晴らしいことです。巨大なコードベースの一つの小さなセクションのために3つの異なるアーキテクチャをプロトタイプ化し、それぞれの壁にぶつかったときに捨てることができました。それは素晴らしいことでした。以前にそれを行うことは悲惨だったでしょう。
Primeからの素晴らしい引用:「500行のコードで問題を解決するのに、なぜ3万行を使うのか。私の最初のスタートアップを辞めたのはこのためでした。サーバー上でウェブソケットを同期するためにRedux Sagaを使用する巨大なバックエンドコードベースがあり、パフォーマンスが非常に悪く、1つのノードに約5人のユーザーしか持てませんでした。平均ユーザー数が5人だったのに、20の専用サーバーを立ち上げていました。このスタートアップでは、ユーザー数の4倍のサーバーがあり、私は気が狂いそうでした。
これはすべて不必要でした。狂気を感じていました。そのバックエンド全体を300行のコードで書き直し、より多くの機能、より良い互換性、そして他のウェブプラットフォームだけでなくモバイルプラットフォームにも完全なドロップイン置き換えを実現しました。それに対する反応は「これは出荷できない、ユニットテストがされていない、あなたは何をしているのかわからない、Theo、このコードをテストしていない」というものでした。
私の最後のPRは、その書き直しの100%のコードカバレッジを達成した200行の追加でした。それを退職届と一緒に提出しました。
これらのツールの素晴らしい点は、AIを使ってバックエンドを再構築し、100倍効率的になったと創業者に言えば、彼は大賛成だったでしょう。しかし、私がそれを書いた事実、私がフロントエンド担当だったという事実から、彼はその仕事を軽視しました。私が30,000行のコードを正しい500行に書き換えるのを阻止した大ボスは、AIを使って行ったと言えば、もっと受け入れてくれたでしょう。
馬鹿げていますが、理解できません。これらの人々はバカですが、気にしません。以前にはできなかった方法で今はVibe outできますし、殺人と同じくらいのことができ、それはより速いです。とても良いことです。
これが私がこれらのものを好きな理由です。コードベースのこのパスが最悪だから書き直すと、より多くの人が見ることができるようになります。これはどんなサイズにもスケールしますが、スタートアップでは何もかもが最悪なので、すべてを捨てる可能性が高いです。
ここでの違いは、スタートアップが新しいAI生成のものですべてのコードベースを捨てるかもしれないのに対し、大企業はコードのごく一部、1%未満を捨てるでしょう。それでもスタートアップ全体のコードよりも多いかもしれません。Prime氏が言ったように、チャンクの書き直しがこれまで以上に容易になり、React.jsのような素晴らしいツールやソリューションを使用すれば、巨大なフロントエンドコードベースやモバイルコードベースを区分化することがはるかに簡単になります。
「残りの人生をユニットテストを書くことに費やしたくない。仕様とテストを書いて、それを機能させるように自分自身をプロンプトするだけの世界があると想像してください。」
「MRAからのObyが言っていました。「私はコードをあまり書きません。ただ考えてレビューするだけです。」」
エンジニアで実際にそれが良いことだと思う人はいるのでしょうか?「もっとコードレビューがしたい」と思う人がいるのでしょうか?
これは実際にAI関連で私が持っている最大の懸念の1つです。コードレビューが好きではない人は困ります。私は書いたコードよりもレビューしたコードの方が多いです。それはエンジニアとしては珍しいことです。コードレビューが好きというわけではありません。誰も実際にはコードレビューが好きではありませんが、それがどれほど重要か、そしてそれが私と周りの開発者をどれだけ良くするかを理解しています。皆が一緒にレベルアップするのを助けます。
異なるレベルの経験を持つ2人の開発者がいるとします。泡の大きさが経験値だとして、開発者1がこれくらいの経験で、開発者2がそれよりも少ない経験を持っているとします。開発者1が開発者2のコードをレビューすると、その円を大きくするのを助けることができます。しかし、開発者2が開発者1よりも経験が少ないので、それは一方通行だけだと思うかもしれません。最も経験豊富な人と同じレベルの経験を持つようにみんなを助けることしかできないのではないかと。
しかし、これは実際にはベン図です。円の間にはおそらく多くの重複がありますが、その間にもギャップがあります。開発者2が知っていて開発者1が知らない領域があり、その逆もさらに多くあります。ですから、経験レベルが大きく異なる2人の開発者が協力し、お互いのコードをレビューしていても、両方の円が大きくなります。それは素晴らしいことです。
チームがそのように成長するのを見る能力、チーム上のエンジニアリングの知識のバーが全員のユニークな知識の合計と同じくらい高くなるのは素晴らしいことです。チームがそのように成長するのを見るのは素晴らしいことで、それが私がコードレビュースタッフのためにそれほど強く推進する理由です。私は会社でコードレビューから始めて終わるなどのルールを推進し、コードレビューのみがオンコールの問題であるというルールに反対しました。
コードレビュー中により多くの質問をするよう人々に促し、PRが20行以上のコードを持つ場合、少なくとも1つのコメントを残さない限り承認とはみなされないというところまで進めました。本番環境に出荷しているコードという重要な要素で人々が協力できるようにするサイクルは、エンジニアとしての知識をレベルアップさせるために非常に価値があります。それでも、それはまた苦痛でもあります。そうでないふりはしません。
同時に、私たちがそれをとても嫌うようになった原因の一つはGitHubだと思います。GitHubはこれまでに作られた最悪のコードレビューツールです。もっと良いウェブサイトがあれば、20%ほど嫌いにならずにすむでしょう。
そういえば、最近発見したものですが、ここで紹介するのに良い場所です。新しいGitHub Pull Requestsエクステンションに感謝します。今、ここでPRをクリックすると、VS Code内ですべての変更を見ることができ、コメントも残せます。このコメントをGitHubに表示することができます。ひどいGitHub UIを使うよりずっと良いです。
誰かが「GitHubモバイルアプリはコードレビューに関してウェブサイトよりも優れている」と言っていました。それは大幅に良いです。そのエクステンションはGitHub Pull Requestsエクステンションです。GitHub Pull Requestsで検索すれば見つかるでしょう。
「私はそのような望むエンジニアを知りません。「ただ考えてレビューする」というのは、非常に技術的な創業者のようです。前の会社も開発ツール会社だった人です。彼はコードを書くのが非常に得意であり、そのような人々がこのようなことを言っているのは興味深いです。」
「CopycatからのObyが言っています。「私は今、コードをAIに話しかけているので、コードを維持するか書き直すかの判断にバイアスが少なくなっています。3倍速くコードを書けるので、必要なら簡単に捨てて書き直すことができます。」」
これは私が言おうとしていたことと完全に一致します。コードを捨てる意欲が素晴らしく、AIコードが常に素晴らしいわけではないにもかかわらず、私が今日構築しているコードベースでの全体的な品質と経験は良くなっています。なぜなら、何かがひどい時、それを捨てることを恐れないからです。3倍速くコードを書けるので、必要なら簡単に捨てて書き直すことができます。
「これらのことが本当にクールなのは、実際に並列化できることです。CIXからのYoavは「私はすべてを並列で書いています」と言っています。」
それは全く並列化しません!複雑なものに取り組むために複数のAIコードを同時に行うのは最悪です。これを言う人は十分に複雑なことに取り組んでいません。コードベースで一度に2つのエージェントを実行しようとすると恐ろしいことになります。時には、Cursorの2つのウィンドウを並列で開き、2つの異なる機能についてプロンプトすることさえあります。
Cursorでワークツリーが正しく動作するようにしようとしているところです。2つの異なる機能に同時に取り組むことはできません。なぜそうしないのか?なぜ3つではないのか?それは自然なマージ競合です。それほど心配していません。
「彼が言った部分で、コードの一部が気に入らなければ、それを捨てて再構築できるというのは、メンタリティの選択です。コードへの執着は常に修正できます。速度とは実際には関係ありません。」
「もっと速くなりたいなら、あなたの言語を学び、タイプするのが速くなりましょう。何をしているのか知っていれば、たくさんのコードをこなすことができます。それは恐らく無関係でしょう。コードの変更が速ければ速いほど、バグを再導入したり、微妙で非常に難しい新しいバグを導入する可能性が高くなります。それは確かに課題の一つです。」
ここで飛び込みたいところです。完全に同意しているわけではありません。
皆さんに楽しい練習をしてもらいたいと思います。過去に一緒に働いたことがある、または知っている人を想像してみてください。最も平均的な開発者を想像してください。このようなチャットに参加しない人、サーバーコンポーネントが存在することに悩む人、5年前に学んだ方法からReactが変わることを望まない人、少しバーンアウトし、お金のためだけにやっている人、時にはコードレビューで良いコメントを提供することもあり、時には出すPRが良いこともあれば、ひどいこともある、そんな平均的な人を想像してください。このような平均的な開発者を思い浮かべてもらえましたか?理想的には自分ではなく、知っている人間です。
雇ったことを後悔はしていないが、特に喜んでもいないような完璧に平均的な開発者を想像してください。彼らが明日いなくなったとしても「まあ、そういうこともある」という感じです。その人を頭に思い浮かべていますか?
開発者の半分はその人よりも愚かです。これが平均の仕組みです。ちょうど真ん中にいる人がいれば、開発者の半分はその人よりも愚かです。ツールやテクノロジーについて決定を下す際に理解しておくべき重要なことです。
一般的に言って、平均的な開発者と平均以下の開発者、つまり開発者の大多数はソフトウェアにそれほど優れていません。これらの開発者と何年も一緒に仕事をして見てきたことがあるとすれば、彼らは実際に通過した仕事にかなり執着するようになります。PRに賛成票を得て、そのコードがコードベースにマージされるためにより懸命に働かなければならないからです。そのため、彼らがものを捨てる意欲は一般的にはるかに低いです。
Prime氏が話していたスキル、つまりもはや気にしている問題を解決しなくなったときにコードを捨てる意欲は学ぶことができるスキルですが、それはあなたを非常に高いティアのエンジニアに位置づけるスキルです。エンジニアの大多数は自分のコードが捨てられることを好みません。
これは私が早い段階でキャリアで学ばなければならなかった非常に難しい教訓でした。なぜなら、私はスレッジハンマー係だったからです。巨大なゴミの山を取り除き、それを300行のより維持可能なコードに置き換える人でした。そこでバグを導入することもあったでしょう。実際にそうしたことは事実として知っています。しかし、導入したバグごとに、3つのバグを潰し、さらに4つ目の誰も文書化さえしていなかったエッジケースも潰していました。
これはしょっちゅう起こりました。私のプロダクトマネージャーと上司がどれほどイライラしていたか言い表せないほどです。Jiraに50の問題が放置され、1年後に確認すると、私はこれらの半分を2つのランダムな変更で解決してしまったと言うのです。それを閉じるために適切にリンクできるPRさえも見つけられませんでした。
システムはそのマインドセットのために構築されていません。ほとんどの人が自分の仕事に対して任意に執着しているからです。
「平均」と「中央値」を混同していないです。何を言っているか分かっています。中央値のプログラマーを理論化するように人々に言っているわけではありません。平均的なプログラマーと中央値のプログラマーは非常に似通っているでしょう。もしこれが重要だと思うなら、おそらくその中央値の間違った側にいるでしょう。
「これは本当に良い指摘です。K Martinez. スキルとメンタリティには違いがあります。100%同意します。」
私が言おうとしていることは、スキルを向上させる最大の障壁の一つがあなたのメンタリティだということです。間違ったメンタリティを持つ熟練した開発者を多く知っていますが、正しいメンタリティを持った悪い開発者はほとんど見たことがありません。もし正しいメンタリティを持っていれば、あなたのスキルは進行中の作業に過ぎず、かなり速く到達するでしょう。
コードを捨てる意欲のあるメンタリティは、はるかに速くスキルアップするため、そのメンタリティを持った人がかなり熟練していないことは想像できません。残念ながら、ほとんどの開発者はそれほど熟練していません。
ここで起きた本当に魔法のようなことは、それらの熟練度の低い開発者がすでにメンタリティをシフトさせていることです。そのメンタリティがシフトしている理由は、今では「Vimの神」のような感覚を持つことができるからです。
これらの開発者の多くにとって、AIは複雑な問題を解決するために何百行ものコードを書き、最初の試みで動作させることができた最初の経験です。これらは過去にそれらのことに何週間もかかっていたはずの開発者です。Prime氏や私のような人なら一日、あるいは数時間でそれを行うことができるかもしれないことに同意します。
AIによって、以前はできなかった人々がそれを行うことができるようになり、それにより能力の低い開発者、マインドセットの悪い開発者が、これをより簡単に受け入れることができるようになりました。彼らの多くはこれを最も恐れています。AIを最も恐れている人々は、多くの仕事を投入したために自分のコードを削除するのを恐れている同じ人々です。AIはそれらの人々がより速く乗り越えるように強制し、同時に彼らがそれを行うことを少し簡単にしています。
私がここでPrime氏が言っていることに追加したい一つの部分は、コードを捨てる特定のスキルを発展させるのに苦労してきた多くの開発者がいることです。AIはそれを理解し、最初の場所でそれを行うことをより簡単にしました。なぜなら今では彼らはコードをより速く生成できるからです。彼らはそのコードにあまり執着しなくなり、それは良いことです。
あなたが書いた問題の特定の実装に非常に執着することは悪いことであり、エンジニアとしてあなたを妨げ、あなたが所属するチームのコードベースの品質を妨げます。新しいツールでは、これがはるかに発生する可能性が低くなります。
「会社を売却する能力を、聞くべき人かどうかの手段として使うという考えが好きではありません。本当に賢い人がいたり、彼らが行ったことを見て、ただラッキーだったり、他の人が単に売り出して脱出しようとしているのを見た誰かが自分の道を油でヌメヌメさせて入り込んだりと、いろいろな理由があります。」
最もクレイジーな接線に行かないように一生懸命戦っています。この動画はすでに長すぎます。しかし、ここで一つだけ言わせてください。
Y Combinatorに成功して入り、それを通過して先頭に立つということは、あまり多くのことを証明していません。YCに入るのはいろいろな理由がありますが、すべては一つの重要なポイントに帰着します。あなたはグループパートナーに、彼らが話している他のすべての企業よりも印象を与えました。グループパートナーに十分な印象を与えれば、あなたは入れます。そうでなければ、入れません。
Y Combinatorに入る成功によって私たちが知っている唯一の本当のことは、グループパートナーの一人があなたを気に入ったということです。それだけです。あなたが素晴らしいエンジニアであることを証明したわけではありません。確かに良いアイデアを持っていることを証明したわけでもありません。実際、その逆かもしれません。
YC企業の4分の3は方向転換し、成功した企業の10社に9社はそうします。あなたが会社を売却する方法や資金調達する方法を知っていることを証明したわけでもありません。それはスタートアップ創業者の多くが苦労して理解しようとしていることを見てきました。
Y Combinatorに入ってY Combinator企業になることは、特定の人間に印象を与えたこと以外に何も意味しません。私は誰かに印象を与えたとき、多くの場合間違っています。それはYCパートナーにも当てはまると思います。会社がYCに入るということは、彼らがスーパースターであるとか、本当に才能があるとか、成功するであろうということを意味するわけではありません。それは一人の人間に印象を与えたということを意味し、一人の人間に印象を与えることは多くの理由で起こり得ます。そしてそれらすべてがその人が良かったということを意味するわけではありません。
もう一つの接線について、将来これを望むかどうか言っておくと、これらの人々のいくつかの擁護です。皆さんはLevels.ioを知っていると思います。彼は小から中規模のプロジェクトを多数作成し、かなりの収益を上げています。彼の新しい飛行Vibe codedゲームは、おそらく稼ぐべきではないほど多くのお金を稼いでいます。これらのことでお金を稼ぐ能力は、彼が熟練した開発者であることを証明するものではありません。その上、彼のソフトウェアのアドバイスを聞くべきだということを意味しません。
しかし、私たちは皆、Levelsからもっと学ぶべきだと思います。なぜなら、彼が気にすることは私たち全員が学べることだからです。彼が問題を解決し、ソフトウェアを構築するとき、彼が最も気にすることは、変更を迅速に行い、問題が発生したらすぐに対処する能力です。
彼は私たちの多くが恐れるようなスタックを構築しました。彼のエディタでは2回クリックするだけでなく、キープロンプトのようなものです。彼がコマンドSを押すと、保存はしません。なぜなら彼はすべてのキープレスで保存するからです。それはコミットします。彼がコマンドEnterを押すと、それは自動的にVPSにデプロイします。
私たちは彼のワークフローをコピーすべきではありませんが、これらのことについての彼の考え方から学ぶべきであり、より速く出荷することの本当に意味のある利点を見るべきです。それにより、顧客の懸念に対処することが容易になり、彼が構築しているものについて人々がより興奮するのが容易になります。なぜならそれはずっと速く移動するからです。彼とユーザーとの間の往復関係は根本的に異なります。
それはまた、彼がより効果的に販売し、物事をより速く回転させることができることを意味します。最も重要なのは、彼が機能しないものを構築し、それをずっと速く捨てることができることを意味します。多くの点で、Levelsは最初のVibe coderでした。なぜなら彼は15のプロジェクトを書き、それらをすべて捨てることをいとわなかったからです。16番目が彼の期待以上に良かったからです。
そこから学ぶことはたくさんあります。それは彼が構築する技術的な詳細ではなく、彼がこれらの決定を下すときに使用する哲学です。だから、Levelsのように成功している誰かでも、彼らが言うことをまだ信頼することはできませんが、Levelsの場合、実際に私たちが学ぶことがたくさんあります。それが私が彼や彼のやり方についてとても防御的な理由です。
私は、FTPを介してPHPサーバーに自動デプロイするためにコマンドEnterを使用するべきだと言っているわけではありません。彼の考え方が興味深いからこそ言っているのであり、より良く、より速く出荷するよう私たち全員に挑戦すべきだと思います。
ほぼ完全にPrimeに同意します。YCにいることが何かを言っているということは全く意味がありません。その人が実際に非常に賢いか、多くの先見性を持ち、正しい時期に正しい問題を解決できるかもしれません。「良いか悪いかの理由として会社を売却したからその人の言うことを聞く」というのは興味深いです。それは良い理由でしょうか?
「リテラルシステム設計について話していて、実際に大きなコードベースがあって何をすべきか言えるけれど、どこを見るべきか言わなければならない。Wind Surfはあなたのコードベース全体をインデックス化し、自分でどのファイルを見るべきかを理解するのがかなり得意です。」
彼は異なるIDEの比較についての多くのことで間違っています。Cursorもコードベースをすべてインデックス化します。彼がこれらのものをどのように使用しているのかわかりません。Wind Surfがコードベースの全体的な問題に対してCursorよりも優れていると感じるのはなぜでしょうか。私は逆の経験をしています。
Wind Surfが得意なのは、マシン上でプロジェクトを実行する方法がわからない場合に、ランダムなbashコマンドを実行することだけです。しかし、私の経験では、コードベースの難しい問題を実際に解決するのには良くありません。
「Wind Surf用は1、Cursor用は2、もし両方使ったことがあれば意見を聞かせてください。Wind Surf用は1、Cursor用は2。」
「奇妙なことに多くの0があります。それほど奇妙ではないかもしれません。私はおそらく非創業者のチャットにインデックス化していると思います。現実には、あなたがたのほとんどは創業者ではないでしょう。Theoのチャットでこのポールをやり直すと、おそらく非常に異なる回答のセットになるでしょう。」
やってみましょう。どのIDEを使っていますか?
思った通りでした。Wind Surfのハイプが全く理解できません。これらの人たちが誰なのかわかりません。私が話したすべてのWind Surfタイプの人々は、コーディングを始めて1年未満です。
私は真剣な開発者がWind Surfを使っているのを知りません。そして多くの悪口を言うのは悪いと感じます。ただ彼らに会ったことがなく、どこにもいないからです。もしあなたがCursorを試し、Wind Surfの方が良いと感じた経験豊富な開発者で、ソフトウェア開発で年間10万ドル以上稼いでいるなら、DMを送ってください。あなたの頭の中を探りたいです。なぜなら私には理解できないからです。
Wind Surfはコードの学習方法に関しては本当に良いように見えますが、他のすべての人にとっては全く意味がありません。
また、これは狂っています。Cursorとバニラのvs codeがほぼ互角です。少なくとも私の明らかに偏ったコミュニティからは、Cursorを使っている人はAIチャットアプリを使っていないvs codeユーザーと同じくらいいます。これは狂っています。
これは巨大な変化です。最も人気のあるIDEは8年間ほど私たちの空間で変わっていませんでした。VS codeは2018年頃から標準となっていました。そしてほとんど時間をかけずに、ここでは分割された世論調査があります。これは今、非常に激しい変化の瞬間です。
明らかに、VS code + Co-pilotはまだ勝っていますが、35%というのは、1年前でさえ想像もできなかったことです。これは非常に驚くべきことです。
でも、Wind Surfが2票しか得られないというのも、私の意見を裏付けています。「創業者ではない、成功しないだろう」という事実です。
「もしLevels IOが同じ調査を行ったら、あるものと別のものを使っている人の割合も非常に異なると思います。」
彼の聴衆におけるWind Surfの人の数は、彼がいかに深いオタクの泡から抜け出したかを示しており、彼を誇りに思います。Primeは一日で25万回再生を安定して獲得できるという事実は信じられないほどですが、それは彼の聴衆にも経験の少ない人が多くいることを意味します。これらの人々はお金が少ないので、Wind Surfは彼らにとって魅力的であり、経験が少ないため、Wind Surfは彼らにとって魅力的です。
「Devinも言及されていますが、Devinが真剣な機能に使われていないという欠点は、コードベースを本当に理解していないということです。」
「私は今、Wind Surfについて辛辣なことを言っていますが、私が言っていることに同意せず、Wind Surfで実際に良い経験をした経験豊かな人であれば、チャットでそれを共有してくれても、私はそれを批判しません。私は実際に本当に理解したいのです。」
「それは主に小さな機能に使われており、ほとんど言及されていません。そしてそれが使われる理由は、彼らが実際に推論モデルを使いたいからです。」
バッチ内の少なくとも20人か30人の人々がT3チャットを使っていることを知っています。彼らはこのビデオが録画された後に始めましたが、もしYC創業者で見ている人がいれば、Facebookのお得情報ページで無料の1年間クーポンを獲得できます。それをチェックしてください。多くのYC創業者がそれを見落としているようです。
「推論のためにより強力なモデルを使用するために利用されています。なぜなら、現在、CursorとWind Surfはまだ旧世界(6ヶ月前の旧世界)、つまり推論モデル前の世界、テスト時間計算前の世界にいるからです。創業者はそれを使っており、一部の創業者は自己ホスティングもしています。彼らはより重要な機密IPを持っている可能性があるからです。」
「シフトについて話していると、私は実際に、会社のために局所的に実行されている、カスタマイズされた、またはボロボロの、細かく調整された、そして適切な言葉がここにあるすべてのモデルの世界が存在すると思います。それは多くの企業が望むものです。あなたのアーキテクチャに合わせて調整し、これらすべてのことに合わせて調整するだけです。」
「新しい調査です。あなたは何ですか?学生、コードを学んでいる人、プロの9時から5時の人、フリーランサー、つまり9時からnの翌日までの人、他に何かありますか?失業中、創業者、または単にバイブのためにここにいる非コーダー、あなたはただバイブのためにここにいますね?」
これは非常に興味深いです。彼の調査がどのように分かれているのか全く見当もつきません。調査結果を見るのがとても楽しみです。
これはばかげて聞こえるかもしれませんが、私たちが配信する時間帯が大きく違うことも影響していると思います。与えられた時間に周りにいる視聴者が異なるだけでなく、より重要なことに、私たちが配信する時間帯のために構築してきたライブストリームの視聴者は全く異なります。もし彼と同じ時間に定期的に配信し始めたら、私の数字は彼の方向に傾くと予想します。
「もし組み合わせなら?もしあなたが働いていて、フルタイムで雇用されているなら、学校にいても雇用されています。」
「私はプロフェッショナル、次に学生に大きくインデックスを持ち、非コーダーが私の最小のセクションであると推測します。」
「はい、そして創業者はフリーランサーより大きいことに驚いています。本当は創業者とフリーランサーはある意味で同じようなものだと思っていました。」
これは私が思っていた大きな違いです。ちょっと待って、学生については両方とも25%ちょうどですね?私は自分の方が低いと予想していましたが、興味深いです。
私たちの数字はほぼ同じです。プロで6%、フリーランスで6%、創業者で27%です。私はプロがわずかに低く、フリーランサーがわずかに高いですが、それだけが違いです。実際には非常に似ています。これは興味深いことであり、私たちは両方ともここで間違っていました。私たちは両方とも非常に異なると想定していましたが、そうではありません。
「ライブ視聴者と非ライブ視聴者の間にも大きなギャップがあります。」
「バイブのためだけにここにいて、コーダーでさえない人々に、感謝していることを知ってほしいです。特にあなたです。絶対に素晴らしいです。絶対に大好きです。痛みに中毒です。」
「私も間違って投票しました。」
「それなら、おそらくそうです。私たちはこれに投票する資格さえないのでしょう。」
「モデルの面では、6ヶ月前に見た大きなゲームはClaude 3.5でした。それはまだ実際に大きな競争相手ですが、ほとんどはそれを使用しています。しかし、O1、O1 Pro、O3 miniなどのこれらの推論モデルは、Claude 3.5とほぼ同じになりつつあります。」
私はO1とO1 Proの使用を理解していません。それらはあまりにも遅く、O1 Proは使用するとあまりにも信頼性がありません。もし問題が難しすぎてO1 Proの助けが必要なら、おそらく自分でやった方がいいでしょう。
O3 miniは私にとって大きなことでした。安いだけでなく、とても速いです。それはとても速く、本当に気に入っています。O3 miniはDeep Seekを恐れて急いで出されたものであり、O3 miniの価格はDeep Seekの価格の正確に2倍です。他の誰かを直接狙っているのでない限り、$4.40で何かを価格設定していません。
「もう一つの興味深いことは、Deep Seek R1です。問題はGeminiが非常に愚かな初期立ち上げをしたため、人々が「Geminiを試してみるべきだ」と言うと、私はただ「いいえ」と言ってしまいます。」
「Gemini Flash 2は実際にはかなり良いです。それは理由があって私たちのサイトのデフォルトになっています。しかし、元のGeminiはゴミでした。だから、そう感じるのも理解できます。」
「最長のコンテキストウィンドウを持っています。創業者の何人かからそれを使用していると聞いています。彼らの使用方法は、コードベース全体をコンテキストウィンドウに入れて、それにバグを修正するように指示することです。」
「それは彼らのコードベース全体がただnpmパッケージのためのグルーである場合にのみ、そのようにしか見ることができないからです。それは数百行しかありません。」
「100万トークンは狂ったように多いです。それはたくさんのコードです。」
「常に機能するわけではありませんが、時にはそれで一発修正できることもあります。なぜなら、全体がコンテキストウィンドウにあるからです。」
「新しくリリースされた推論モデルがフラッシュバック2.0を使って人々からもっと採用されるのを見るのは興味深いでしょう。」
これは実際にクールです。Sister Barlがここで彼の姉妹がGeminiで働いていると言っています。とても素晴らしいことです。そしてカスタムTPUsに完全に同意します。
Googleには他の誰も持っていない奇妙な利点があります。彼らにはモデルを訓練するために必要なすべてのデータ、良いモデルを作るために必要なすべての科学者、そして本当に速くするためにDIYするアーキテクチャやCPUなどがあります。これら3つすべてを持っている他の場所はありません。1つ、そしておそらく2つを持っている場所はたくさんありますが、3つすべてを持っている人は他にいません。これにより、彼らは現在クレイジーな位置にいます。
Googleが今AI競争に負けるためには、彼らは大規模に失敗しなければなりません。もちろん、大規模に失敗することはある意味でGoogleのDNAであり、それが彼らのブランドですが、もし彼らがそれから少しでも離れ、今後何かを正しく行うことができれば、彼らが負けるのは難しいでしょう。
「現在のバッチで、LLMによって書かれているコードの推定割合はどれくらいですか?」
「これはかなりクレイジーです。私たちはこの質問を明示的に尋ねました。コードベースの何パーセントがAI生成されていると推定していますか?私はこの質問を、インポートしたライブラリを含まない、実際のコードベースの文字の何パーセントが人間の手によって入力されたのか、対LLMによって出力されたのかと解釈しています。そしてクレイジーなことに、創業者の4分の1が彼らのコードベースの95%以上がAI生成されていると言っています。」
これは私も少し痛いです。私が生成するコードの95%はAIかもしれませんが、コミットするコードはそれほどではありません。彼の意見を聞いてみましょう。
「私はこれが少し馬鹿げた答えであり、または質問が悪いと思います。より良い質問は、コードの行のどれくらいが排他的に100%AIによって生成されたか、対人間のある程度の相互作用があったかということです。なぜなら、プログラミングをしていて、「View.yes.yes.yes」などと入力すると、そのコードのどれだけを私が実際に入力したか、ということになります。実際には多くのコードを入力していません。実際にはLSPを使って多くのコードを入力しただけです。」
「だから、もしあなたが行を生成し、View と入力し始め、それをして、「いや、これはいらない、実際はこれが欲しい」と言い、「これが欲しいけど、これはいらない、これが欲しい」となったら、それは実際に何パーセント生成していますか?AIが行うことを修正しなければならない場合、それが90%行っているとは感じません。文字自体は良い測定ではありません。」
「それは影響を受けていない行、つまり純粋にLLMによって生成された、手付かずのコード行であるべきです。それが非常に良い回答になるでしょう。なぜなら、もしクリティカルにどれも捕まえられない場合、またはLLMが多くのことをしていると感じるが、常に書き直す必要があるなら、人々はそのようなパーセンテージを予測するのに本当にひどいからです。」
「それは狂っています。私たちが非技術的な創業者の束に資金を提供したわけではありません。これらの人々の全員が非常に技術的であり、一年前なら完全に自分の製品をゼロから構築できる能力を持っていました。しかし今、その95%がAIによって構築されています。」
「私たちには一人か二人の例があるようです。彼らは非常に若いので、実際に過去2年間でコードを学び、Cursorが存在しない世界を知らないのです。」
「それなら、彼らはおそらく非常に技術的ではないでしょう。誰かがAIツールだけを使ってコードを学び、それに完全に依存するというのは非常に難しいです。個人的には非常に驚くでしょう。Cursorのようなものだけを使ってコードを学んだ場合、オフラインになったら実際に何かできるのでしょうか?」
「私は特定の部分のコードを学びたくないときに定期的に使います。Tree Sitterを使ってC++を解析し、深度チャートを構築するなど、気にしないコードの部分がいくつかあります。そのドキュメントを読む必要はなく、ただ愚かなツールを完成させたかったのです。そして私はそれを非常に下手に書きました。そのツールは絶対にひどかったです。後で基本的な変更をいくつか加えましたが、基本的にそれを通してVibe codingし、そのコードをすべて捨てて二度と使わないつもりでした。」
「AIの素晴らしさを割り引きたくはありませんが、同時に皆さんが興奮し、学びたいと思うことを願っています。」
私はここで完全に同意します。何かを構築しようとするとき、あなたのモチベーションを妨げ、プロジェクトを最後まで進めるのを阻止する多くのことがあります。それは最悪の感覚です。AIがそれらの部分、Wrangler tomlファイルの理解などの煩わしさを取り除き、楽しい部分、実際に重要なものの構築に戻ることができるというのは素晴らしいことです。
これらのツールの最良の部分の一つです。問題は、すべての痛みを最適化して取り除き始めると、それを経験せず、経験しなければ上達しないということです。仕事をしなければならず、そうしなければ苦労します。
これらのツールをモチベーションを維持するために使用すれば、煩わしく退屈なことをスキップでき、また質問を尋ね、そこから学ぶことができるアシスタントとして使用すれば、それらはあなたをはるかに良くレベルアップさせることができます。しかし、難しいことを避けるためにそれらを使用している場合、成功を見つけることはできません。
「なぜそれが悪いのか理解してから、あなたが作成したVibe(horseshitという言葉と同義語)を取り、それを実際に有用なものに変形してください。」
「今回のバッチで私の最高の企業の一つは正確にこれです。創業者は非常に技術的な頭脳を持っていますが、コンピュータサイエンスやプログラミングで古典的に訓練されていません。彼らは信じられないほど生産的で、本当に驚くべき製品をたくさん生産することができます。そしてAIはほぼ全体を書いています。」
「これは私にデジタルネイティブであるZ世代についての議論を思い出させます。」
「私にとってそれは恐ろしいことですが、同時に誰でも十分な粘り強さがあれば何かを作ることができるという素晴らしいこともあります。彼らがプログラムにはまり、プログラミングを学びたいと思うことを願っています。AIのためにうっかりプログラムにはまり、プログラミングを学びたいと思う人々がいるということを本当に愛しています。だから良い部分があり、それを完全に割り引きたくはありません。」
「なぜ恐ろしいのでしょうか?彼らが生産するソフトウェアは非常に難しいものになるでしょう。彼らが売却し、退出し、エンジニアを雇い入れるとき、もし古いコードベースで働いたことがあるなら、それは単に絶対的に荒れ果てた西部のようなものです。非常に難しくなることがあり、それは非常に困難になる可能性があります。そこには非常にひどい経験がいくつかあります。」
「それを書かなければならない人がいて、それを維持しなければならない人がいました。」
「私はバックエンドエンジニアがセンスを持っていないと主張したところで完璧な顔をしています。私はバックエンドエンジニアであり、少なくとも少しのセンスはあります。これをある程度は弁護します。」
「現代のウェブツール、テクノロジー、ソリューションを学ぶことを拒否したバックエンドエンジニアであれば、センスやユーザー共感を持っている可能性は比較的低いです。Primeのように比較すると、彼はReactについて深く理解しています。彼はそれについての不満を持っており、私は完全に同意していませんが、彼は試し、それでものを構築し、Reactについてとても多くを理解しています。彼は彼らがバックエンドエンジニアと言うときに話している人ではありません。」
「私も同じです。ここにはスペクトルがありますが、バックエンドに座り、ウェブが改善しているときにとても怒る人々が絶対にいます。だから私はPrimeが彼らが彼について話していると思うのがわかります。私も彼らが私について少し話しているように感じたからです。私はまだバックエンドエンジニアとして自分を識別することが多いからです。私の時間のほとんどはフロントエンドではなくバックエンドにあります。」
「しかし、私も本当に感じるのは、あらゆるコストでフロントエンドを避けたバックエンドエンジニアは、まだセンスやユーザー共感を持っていないということです。私はそれらの一人だったので知っています。2019年までフロントエンドを真剣に取り組むことはなく、それは製品について私の考え方を根本的に変えました。それは私をより良い人間にしました。単により良いエンジニアだけでなく、私はより共感的な人間になり、他の人々のニーズをよりよく理解できるようになりました。より多くの人々と話し、私が構築したものをどのように使うかを見たからです。」
「だからPrimeが彼らが彼について話しているように感じ、それが彼について話しているように聞こえるので、イライラしているのは正しいです。私も同じように感じています。彼らの部分での愚かなコメントです。」
「バックエンドエンジニアにはセンスがない。彼が言おうとしていることはわかります。つまり、実際の製品の構築よりも美観と使いやすさを好むということです。彼らは奇妙な区別をしていると思います。なぜならフロントエンドにも同じことが必要だからです。」
「複雑な製品なら何でも、私が考える複雑なプロジェクト、例えばCADや、フロントエンドを含まないユーザーのためのインターフェースを構築する場合、つまりそれは単なる別のReactアプリではなく、実際に横に座るロジックが必要であり、サイドに設定された全状態の世界があり、そして小さなフロントエンドがあるような場合、その人は彼らがバックエンドエンジニアと同等であると言っているのでしょう。」
同意します。これを今聞くのは特に面白いことです。なぜなら、現在のバッチには、CADのための3Dモックを数秒で生成できるAIジェネレーターであるAdamという名前の会社があります。そして私が知っている最高のCADの人々のいくつかは、これが既に可能なことの質に非常に感銘を受け、驚いています。それは本当に非常にクールな会社であり、おそらく私はこれらの人々に投資すべきです。私はCADについて何も知らないので50対50ですが、私はこれに対して批判的であると予想していた人々から素晴らしいことしか聞いていません。
YCが最近のビデオでより多く取り上げていることの一つは、現在最高のスタートアップは1週間でVibe codeできるものではないという考えです。これは奇妙です。なぜなら、それは私が実際に長い間感じてきた方法だからです。理想的には、どんなアイデアでも、その一部を1週間で構築できるものに分解できるように、できるだけ早くテストし始めることができます。
YCはより多くの企業に、そのように速く進むことができないことを行うよう奨励しています。例えば、AIの移民法サービスのようなものは、正しく行うには数ヶ月、あるいは数年かかります。しかし、他の誰もその投資をしておらず、それが正しいことが判明した場合、この本当に難しいことを行うために時間を投資することで、成功する可能性が高くなります。そして成功した場合、あなたの勝利は非常に大きいでしょう。
構築の基礎に1週間かかるプロジェクトで勝った場合、あなたが自分自身のために構築した基礎はそれほど頑丈ではありません。構築に数ヶ月かかり、他の誰も試していないものに勝った場合、彼らはあなたに追いつくことができないでしょう。現在最強の勝利は、バッチ全体を使って本当に難しいことを構築し、バッチの終わりに出して、突然爆発し始める企業です。そのような企業は殺しています。
「あのバックエンドエンジニアの人は実際にフロントエンドで何かをしているこの全状態の世界を実行しています。Google Sheetsのような複雑なものであれば、そこにあるテクノロジーの驚異です。それはおそらく99%バックエンドで、フロントエンドの量はわずかです。」
これはPrimeと完全に同意しない最初のポイントです。Google Sheets、Google Docs、その他のGoogleオフィススイート製品のクライアント側のエンジニアリング作業を過小評価しないでください。それらのものフロントエンドエンジニアリングは驚異です。バックエンドは愚かなCRUD sync layerです。
Sheetsのバックエンドは通常よりも複雑です。なぜなら、そこでの重複排除は悲惨であり、マルチプレイヤーの側面は難しいからです。Sheetsのバックエンドはほとんどのバックエンドよりも複雑ですが、Sheetsのフロントエンドはほぼ他のどのフロントエンドよりも複雑です。
Sheetsのフロントエンドコードを考えたくもありません。それは気分が悪くなります。ウェブで行う最も複雑なことの一つは、高性能のテーブルです。私のお気に入りのスポンサーの一つはAG gridです。これらの人々はグリッドコンポーネントを販売しています。なぜなら、良いものを作るのは難しいからです。これを見て、「ああ、私はこれを構築して、フィルターや自動的に変更するソート順序などと一緒に動作させたくありません」と思います。
誰もこれを構築したくなく、誰かが行わなければならなかった人は嫌いました。しかし、それは購入されたコンポーネントです。大企業がそれを購入していないでしょう?フォーチュン500企業の90%がAG gridを使用しています。それだけこれは難しいことなのです。
複雑なテーブルを作ることは、それがシンプルに見えるかもしれませんが、Google Sheetsのコードの1%ではありません。申し訳ありませんが、Prime、あなたは今まで一つの愚かなことを言いましたが、これは愚かなことです。Google Sheetsは1%フロントエンドコードではありません。
「あるいは80%かもしれません。それでもUI作業の20%のみです。」
彼はすぐに回復しました。実際のレンダリング部分は依然として他のほぼすべてのアプリよりも複雑ですが、どの要素がいつ再レンダリングされるかを処理するロジックと、バックエンドとUI間の状態に行くためのレイヤー、そのアーキテクチャは信じられないほど複雑です。それはGoogle Sheetsに対抗できる競合他社がいない理由の一つです。それを行うのがとても難しいのです。
「すべてにもかかわらず、このサーベイが示すのは、このものがデバッグに最悪であるということです。人間はまだデバッグをしなければなりません。ロジックエラーがあり、これを正しく理解しなかったことを、コードが実際に何をしているのか理解しなければなりません。あなたがコードで実行しているものを明確に理解しなければなりません。」
Primeは非コード空間で私が非常に悪く感じた問題に触れています。AI toolsに関する問題の一つは、それらがしばしば面倒な部分ではなく楽しい部分を置き換えようとすることです。
特にビデオ編集では、「あなたのビデオを編集します」というツールがたくさんあります。そのどれも、「スポンサーとの協力を容易にし、彼らが要求するものに応じて異なるアセットを交換する」または「あなたのビデオに入るものを把握するために、あなたが管理している巨大なアセットのパイルを整理するのを容易にする」というものではありません。誰もそれらの部分を行っていないのは、それらが難しいからです。皆さんは楽しい部分を自動化しようとしています。それは簡単で、また彼らがそれを理解していないため、より重要だからです。それは私を非常に怒らせます。
今や開発でも、私たちが毎日使用している開発ツールの多くは、より速く出荷するために楽しい部分を最適化しようとしていますが、デバッグやコードレビューなどの部分は取り残されています。Graphiteやcode rabbitのような私たちのチャンネルのスポンサーの2つは、より良いAIコードレビューを構築していますが、それは本当に素晴らしく、とても気に入っていますが、それらの退屈な部分の代替ではありません。それでもあなたはそれらを行わなければなりません。
AIが楽しいことではなく、嫌なことにもっと焦点を当ててくれることを願います。しかし、それはそれです。
「デバッグするためにそれに単に言えるような方法はないようです。あなたはとても明示的でなければなりません。初めてのソフトウェアエンジニアに指示を与えるように、デバッグするための指示を本当にスプーンで与えなければならず、またはVibをエンブレイスして、Andre Karpathy風に、バグを無視して再試行することもできます。」
「実際にそのような生活をしていることを想像できません。どういうわけか私たちは自分自身をプログラミングのためのコンテキストフリー文法からコンテキスト依存文法に移行させ、今や人々はコンテキスト依存文法の上にコンテキストフリー文法を作成して、再びコンテキストフリー文法を生成しています。どのようにしてこの立場に自分たちを置いたのかわかりませんが、ここにいます。」
「RNGプログラミングはまるでフォートナイトのようです。面白い事実ですが、私はClaudeのビデオでこれをカバーしました。Claud AIのスレッドに入り、そのスレッドのタイトルを編集して空の文字列に設定すると、その動作は非決定的です。5つの異なるケースがあり、それらのどれにもそれらにつながるようなプリセットのものはありません。基本的にそれがどのように壊れるかはランダムです。」
「私たちがここに置いたこの非決定的な混沌は少し狂っています。Primeがここで指摘しているのは、以前はコード、少なくとも適切に書かれたコードでは、同じ入力で与えられた関数を2回実行すると、同じ出力が得られるということです。AIではそうではありません。」
「理論的には、コードを生成し、それは近いですが、結果にバグがあります。バグを修正するようAIに指示するのは難しいです。なぜなら、それはデバッグ、何が間違っているかを特定し、それを修正することにあまり優れていないからです。次回それを行うと正しく出てくるかどうか確認するために、再試行を押す方が簡単です。」
「それは狂っています。なぜなら、それは決してソフトウェアを書いた方法ではなかったからです。一般的に言って、私たちはソフトウェアを書き、それが機能しない場合、なぜ機能しないかを見つけるために調べ、それを修正するか、それを捨てて書き直します。同じ出力を得ようとして同じことを再実行するという考えは、全く異なる考え方であり、エンジニアリングに反するように感じます。」
「それはそれより微妙ですが、この点ではPrimeに傾いています。私たちが今いる場所は少し奇妙で、確かに混沌としています。」
「Tilted Towersに降下し、ショットガンを入手できることを願っています。そして誰かがピッケルを持っているか、あるいは彼らがショットガンを持っていて、私はピッケルを持っています。Tilted Towersに正常に着陸して抜けることができるまで、ただローリングを続けるだけです。ただのRNGのVibsみたいです。実際にコードを書くことがより安くなると、あなたのコーディングスタイルがどのように変わるのかは驚くべきことです。」
「人間として、長い時間働いたものを単にバグがあるからと言って破棄して一から書き直すことは決してしません。私は個人的にそれを絶対にやったことがありません。人の馬鹿げたコードを確信しているのを確信して、それを捨てて書き直した後、ほぼ同一の行対行のコードを書き直し、自分が馬鹿げていることに気づいたことは絶対にありません。それも私には絶対に起こりませんでした。」
「同じデータアーキテクチャを3回別々に書き直し、毎回同じ結論に到達するようなことは、すべて1週間の間に、確かにT3 chatのために最近やっていませんでした。」
「あなたは常にバグを修正するでしょうが、LLMにとっては、もし6秒で1000行のコードを書き直すことができるなら、なぜしないのでしょうか。それは、人々がMid JourneyやPlaygroundを使用して画像を生成しようとするときの方法のようです。アーティファクトや気に入らないものがある場合、時には私はプロンプトを変更せず、ただロールをクリックし、それを5回行います。そして時にはそれは機能します。「ああ、今これを使うことができます」というような感じです。」
Garyの意見に賛成します。それは嫌いですが、真実です。私が初めて飲み込んだAIの錠剤はMid Journeyでした。それに非常に感銘を受けました。それ自体でポストしたり使用したりするためではなく、多くの時間をPhotoshopで費やすアイデアを考え出すための出発点として、あるいはPhotoshopの仕事で使用する特定のアセットを取得するためのものとしてです。
Mid Journeyの解決策は、一方では画像のためのプロンプトの秘教的な芸術を学ぶことです。それは非常に奇妙な秘教的なことです。よく知っている友人からたくさんの助けを得る必要がありました。私は1年以上Mid Journeyのブロであることを言及するのを避けてきました。今はAIについてもっと積極的に話せるようになって良かったです。隠す必要を感じなくて済むのは素晴らしいことです。
一方、Mid Journeyを使用しているとき、解決策は単に何度も再試行を押すことであり、そして気に入った2つを取り、それらを参照にして、ゴミをフィルタリングするためにさらに多くの回数をロールすることでした。それは楽しいことではなく、楽しいことではありませんが、驚くほどうまく機能します。そして時にはより良いプロンプトでもあなたが必要とする場所に到達できません。
「これについて違う考え方をしています。この非決定的な特性について本当に嫌いです。誰かがそれらにとってひどく壊れたプロンプトを私に与えることができ、それが私にとっては壊れないという事実は、物事をデバッグしようとしているソフトウェア開発者として私を狂わせます。」
「もっと考えてみると、より彼の側にいます。それは単に最悪です。ソフトウェアについて唯一の良いことは、それがある程度決定的であったということであり、それがより離れていくほど、人生はより痛みを伴います。」
「人生について考えました。私がもう少し素朴かもしれないと気づいたことの一つは、C.S.ルイスが『人間廃止論』の第3章で話している、魔法の死と科学の誕生についてです。科学の誕生では、知識の追求があり、知識が最終目標でした。そして科学が進むにつれて、効果的に自然を支配したり、自然を物の量に変えたり、それを売って人間に対して力を持つ能力のための科学の追求があります。それは第3章の大きな議論の一つです。」
「私が気づいたのは、おそらく科学の誕生と魔法の死のスタイルに合う一世代のコーダーがいるということです。そして私は、この種のカテゴリーに入る一群のエンジニアがいると思います。彼らは手段として目的としてプログラミングを追求します。旅が目的地です。つまり、より良いプログラマになりたい、より良くなりたい、より多くの問題を学びたい、コンパイラの仕組みを理解していない、コンパイラそのものを構築するためにコンパイラを構築したいのです。」
「最終製品、コンパイラを生産できる速さは、コンパイラそのものの生産ほど関連性がありません。これは私が見ているもので、この場合の欲求は二つの側面のコインのようなものです。知識への欲求と支配への欲求です。」
「申し訳ありませんが、Twitterのストリーミングがとても壊れているということにコメントせざるを得ません。彼はタイトルを3回編集しなければなりませんでしたが、まだ通過していません。Twitterでのストリーミングが未来だと言うすべての人は、ストリーミング、Twitter、または未来を理解していません。それらの3つのうちのどれも機能しない方法を知る必要があります。」
「システムの構築のフレームについて言えば、基本的に一歩一歩構築しているわけではなく、本当に一から行っているからです。根本的に何が起こっているのかは、今日のこれらのツールはすべて、どこかで隠れている潜在的な空間で生成されたコードの世界から来ており、異なる勾配を見つけるために一から行わなければならず、それから進まなくなり、そして少しのランダム性を加えて再生成させたいのです。」
「しかし、おそらく次世代の05かもしれませんが、実際にそれの上に構築できるポイントに到達するでしょう。現時点では、ほとんどの場合、再ロールして書き直す必要がありますが、まだその上に構築することはできません。しかし、現在のコーディングツールの中で推論でうまく機能するものはまだ見ていません。」
「そうでもないと思います。Claude 3.5 Sonnetよりも03はデバッグに無限に優れています。だから、今から6ヶ月後にこれをもう一度行う次の時には、これが真実でなくなる方向に確実に向かっているように感じます。」
「無限に優れています。3.5 SonnetはSonnet 3.7が出るまではほとんどの人が最高だと主張していました。」
ここから私のAIに関する知識が役立ち始めます。最近、現在のモデルのランキングとそれらに対する私の感想を投稿しました。Claude 3.5はCSSに関してはるかに優れています。これまでにウェブのために見栄えの良いものを作るための最高のモデルです。それはReactをとてもよく知っており、コンポーネントを驚くほど速く素晴らしく構築でき、そのスクリーンショットからアプリケーションを驚くほど速く足場を構築できます。
しかし、それはデバッグが全くできません。なぜなら、それには思考がなく、その作業をチェックする能力が組み込まれていないからです。それは単に単語の後に単語を生成するだけです。すべての標準的なAIの動作方法です。すべての非推論モデルの動作方法です。
すべての非推論モデルの動作方法は、非常に単純に、あなたが尋ねた質問やチャットで以前に使用されたものなど、履歴に存在するすべての単語を取り、それらすべてに基づいて、前に来た単語を考慮して、それがそこにある可能性がどれだけ高いかに基づいて次の単語を決定します。すべてのトークン、すべてのテキストの塊は、以前に存在したテキストと比較して、それがそこにある可能性がどれだけ高いかに基づいて決定されます。
このことができないのは、それが間違いを犯した場合、それを認識することです。20トークン前または8行前で間違いを犯した場合、それは8行下でそれを処理する方法を知りません。推論モデルが異なることは、出力を出すか、ステップについて話し、そして何かがそれを停止します。時にはトレーニングであったり、注入されたプログラミングであったりします。何かがそれを停止して「これは何が間違っていますか」または「問題を解決するためにどんなステップを使用しますか」と言います。
これらのチェックはほぼ全体にわたって行われ、それが私の愚かなウェイトインデックスが私のAlibaba QuanquanとQwen Qwen 1.5のビデオで言及した理由です。思考モデルができることは、チェックすることです。「待って、うーん、何?」と言うことができます。なぜなら、その単語が発生すると、次の単語が以前に何か間違っていたものの修正である可能性が高くなるからです。
これらの小さなハックは、より良い出力を生成させ、バグのような難しい問題を推論する可能性をより高くします。難しい問題を解決しようとするとき、03 miniは信じられないほど優れています。スクロールコンテナから奇妙なデータベースアーキテクチャまで、厄介な問題を03に入れ、本当に良い答えを得るか、あるいはあまりにも悪い答えを得て、私が問題全体について完全に間違った考え方をしていることに気づくという良い運を持っています。それが03の得意とするところです。
同様の問題を多く持っていましたが、Claudeは手を投げ出して本当にひどいReactコードを与えてくれましたが、03はそれらの難しい問題を解決できます。しかし、美しいウェブサイトを構築するよう03に依頼すると、確かにウェブサイトを構築してくれますが、その美しさについてはコメントできません。
「言い方を変えれば、「Vibe coding」というビデオがあり、Claudeのvibeは見事です。それを使用する感覚、それが生成するコード、レンダリングするウェブサイトのコードの出力のvibe、あなたが悩んでいる愛する友人についてあなたに話すような方法、Claudeのvibeは素晴らしいです。03のvibeはより科学者のようで、より…」
「皆さんはこのビデオをすでに何時間も見ています。私は通常言わないことを言いましょう。03のvibeは、自分が言うすべての単語が正しいことを確認しようとする非常に自閉症の人のようです。送信する前にすべて3回チェックします。それはメッセージを入力し、削除し、送信する前に15回再入力するあの変わった友達のようです。それはほぼ臨床的なvibeを持っています。それはより正確であることを意味しますが、vibeが合わないということも意味します。」
「人々がClaudeの方がずっと良いと言うとき、彼らが言っているのはvibeがClaudeの方がずっと良いということです。Claudeを使用する感覚は著しく良いです。03はより良く問題を解決できます。それははるかに良く難しい問題を解決できます。」
「チャットの皆さん、共感を感じます。身近に感じますね。Claudeはフォローアップの質問をするのが素晴らしいです。」
「Alsoに質問をすることもできますし、その方が良くなりますが、それにそうするように指示する必要があります。それ自体ではできません。しかし、ほとんどの場合、人々はvibeに同意します。4.5のvibeについて最も良い気持ちを感じていませんでした。特にコードについては、私の経験ではあまり良くありません。」
「4.5はより…4.5のvibeについてあまり深く言いたくありません。それを十分に使用して強い感じを持っていないだけです。しかし、それは明らかに100%真実です。トランスファーモデルは、次に何があるかを理解するために生成されたトークンを使用する方法など、面白いことをします。私が言っていること以上のことを考慮に入れています。」
「あなたがより理解できるように単純化しようとしています。これらすべてのことについてはるかに優れている他のチャンネルがあります。私が伝えようとしていることの本質を理解していただければと思います。」
「しかし、これはただのVibeの話ですか?私が言っていることはそうでしょうか?それが真実だとは覚えていません。少なくとも私が把握している限りでは、Twitterが現実を代表しているわけではありませんが、そこで見るすべてのコーダーがAnthropicのClaudeの方がはるかに優れていると言っています。」
「私は本当にAIを使ってプログラミングすることはありません。そのイテレーションのループは非常にイライラするし、自分で書いた方が速く良くできます。」
「多くの開発者もPythonの方がGoよりも良いと考えています。」
「将来と行く先について心配しながら、私は通常…私は単にそれを使うことができません。それは非常にイライラします。」
「Twitterのほとんどは単にJSを書いています。それは事実です。」
「ここでもう一つの重要なポイントは、Cursorのようなツールでコードを生成する方法の多くが、オートコンプリートであることです。タブ補完であり、あなたが進むにつれて自分自身を埋めていきます。Claudeはそれが非常に得意です。なぜなら、トークンごとに吐き出しているからです。」
「O3のような推論モデルは、応答を開始するのにはるかに時間がかかります。そのため、それを素早く切り断することができません。それが間違いを犯しているときにそれを捕まえて停止し、再ロールすることができません。再ロールはより高価に感じます。なぜなら、応答を読み始めるまでに時間がかかるからです。すべての推論を通過しなければ、実際に出力されるものを見ることができないからです。」
「O3 Miniは、推論モデルとしては信じられないほど高速なモデルですが、応答を読み始めるまでの速度は、Claudeのようなものよりもはるかに悪いです。そしてこれらすべてがそのVibe側に影響します。」
「モデルや人々が使用しているIDEについて話したいですか?いくつかの本当に興味深いトレンドがあります。いくつかのエピソード前に言及したと思いますが、24年夏にシフトが始まり、Cursorがバッチの大部分で使用されていました。そして今では断然リーダーですが、他にも起こっていることがあります。これは非常に速く移動する環境です。」
「Wifは速いフォロワーであり、Cursorと比較して非常に良い製品になり始めています。Jaredさん、なぜWind SurfがCursorよりも良いのかについての最初の経験がありますか?」
「もう一つ質問があります。飛行機に乗っていて、コーディングしたい人はどうなりますか?彼らは完全に水の中で立ち往生しているのでしょうか?」
「スターリンクがあります。あなたはより良いことを知っているはずです。」
「インターネットにアクセスできないか、またはAmazonがダウンしている場合、あなたは文字通り困っているのでしょうか?」
一方では、彼が説明している状況にいたことがあります。クソなWi-Fiのあるウーバーの中で機能を素早く修正しようとしているとき、それは最悪です。思っていた以上にそれらの環境でAIツールが恋しくなります。それはものがどれほど悪いかを本当に認識するときです。
しかし同時に、オフラインで完全に正常に機能するコードベースで最後に作業したのを覚えていません。US East 1がダウンしていれば、あなたはダウンしています。その時間に何かを行うことができる可能性はすでに比較的低いです。
GitHubがダウンしていれば、私は通常コーディングがほとんどできません。なぜなら、プロジェクトで実際に何が起こっているのかを理解するために、そこに参照するためによく行くか、ブランチを切り替えて最新であることを確認しようとしているからです。
私たちの生活のこれらの依存関係がダウンするとき、私たちが頼りにしているこれらのものがダウンするとき、私たちの開発作業は常に最悪です。そして私は、もはや誰もそうしていないとき、完全にオフラインで作業できると偽ることは愚かだと思います。
飛行機のポイントは面白いですし、インターネットが悪いか、彼らがダウンしているためにCursorのすべての機能を持っていないとき、ハンディキャップを感じたことは確かにあります。それは私がここで時々経験した実際のことです。しかし、GitHubがダウンしたときにも同じことを経験しました。そして私は、GitHubがダウンすることに対してもっと敵対的であるべきだと思います。
彼らのアップタイムが今や信頼性の1つのナインのようになっていることは恐ろしいことであり、私たちは常にそれを非難するべきです。それは単に「インターネットが切れた、みんな帰れ、何もないよ」というような世界に近づいています。
Twitchにいたとき、AWSがダウンした時があり、私たちは皆、カフェテリアでただ時間を過ごすか、家に帰りました。「AWSがダウンしている、ビールを飲みに行こう」というような時が複数回あります。それはすでにこのようです。
「人々が切り替えている主な理由は、Cursorが今日、主に見るべきファイルを指示される必要があると思います。前のポイントに戻りますが、飛行機でのコーディングは私の最高のコーディングをする傾向があります。その理由は、私が完全にオフラインだからです。なぜなら、飛行機でインターネットを使おうとしても、ほとんどの場合スポット的で、非常にイライラします。ウェブサイトに行くだけで45秒かかることもあります。」
「そのため、Googleで解決する必要のない、非常に難しく煩わしい問題を解決する必要があることについて考えることが多いです。最後の飛行機での旅で解決した大きなことは、私のすべてのTTSを実行する大きな製品があることでした…ああ、壊れてしまいました。持っています。おっと…すでにここで実行しています。すでに実行しています。おっと…大丈夫です。」
「とにかく、私がやった大きなことの一つは、ユニットテストから製品全体を完全に統合スタイルでテストできるテストをたくさん追加したことでした。それは、これらの愚かな小さなバグを持ち続けていたので、私がやる必要があると知っていたことでした。だから「ええと、これをやろう」と考え、これは飛行機コーディングのようなものでした。それは本当に素晴らしかったです。」
「これは私のUberコーディングではないでしょうか?同じことです。5つの接線を経ているところですが、この動画はすでに長すぎます。最も価値があると思うものを選びます。間違って選んでいるかもしれませんが、気にしません。」
「これも「AIは私の脳を再接続した」というキューアップされたビデオがある別の長話です。AIについて実際に好きなことの一つは、彼が説明しているこのこと、オフラインでGoogleが助けてくれないような難しい問題解決は、エンジニアリングについて私が最も好きなことの一つです。インターネットが助けてくれないであろう本当に難しい問題について座って考え、それらを理解するのが好きです。」
「そのような多くのことを行っています。T3 chat用に独自の同期エンジンを構築し、オンラインのすべてのリソースは間違った道に導いてくれました。これらの課題は以前よりもはるかに興味深いです。なぜなら、以前は私がこれを行う方法は…例えば、非常に難しい問題に取り組んでいるとします。私はそれについて1日か2日考え、通常は他のことをしながら頭の中で考え続け、その週の残りをそれを構築するのに費やし、多くの問題に遭遇し、さらに週末もそれについてもっと考え、そして次の週に全体を書き直します。そして2週間ほどの窓の後、それが完成しますが、最初に少し考えすぎ、実装に多くの時間を費やし、さらに時間を反省し、そして最終的に次の週に正しく行います。」
「AIの素晴らしい点は、先に考える時間をより多く費やしていることです。物事とパーツがどのように一緒に来るべきかについてより多くの時間を考えています。2日の代わりに4日かかるかもしれませんが、私が最初のバージョンを構築し、問題を見て、それらについて考え、それらを修正する、以前は1週間半かかっていたループ全体を乗り越えることができます。より多く考えたので、しばしばそれらのいくつかをスキップし、1日か2日ではなく1時間で最初のバージョンを構築することができます。他の場合と同様に手作業で遭遇したであろう問題に遭遇し、それを吹き飛ばして再度行い、正しく実行します。それは2週間の期間を1週間に圧縮し、私はより多くの時間を前もって考えることに費やしています。それは本当に良かったです。
私はもっとそういう方向に行きたいと常に思っていましたが、早期に実装を出さないことは無責任に感じていました。今では、最初のプロトタイプ、物事の最初のバージョンが非常に速いので、より多くの労力を前もって考えることに費やし、頭の中でより良いモデルを得て、そのイテレーションプロセスを大幅に速く進めることができます。それはより多くの経験によるものであり、それは2日間前もって考えることに費やすようになった方法です。
ほとんどの開発者は考えすぎることから始めるべきではないと思います。問題の難しさに応じて、頭の中で反証できない理論ができるまで少し時間を費やすべきです。それの多くは、試す前にどれだけ長く物事について考えなければならないかということです。私のスキルは、その壁に到達する前により長く考えることができるポイントに向上しました。それは私を大いに助けてくれました。それは長年にわたる私の改善のすべての源ではありませんが、私が実際に非常に興奮している意味のある変化でした。
「飛行機でコーディングすることは、ただ構築したいものを構築できるからです。インターネットやあらゆるものを始める必要なく、ただ素早く問題を解決したいのです。それは本当に良い感じです。それはあなたの心と何かをする方法の視点を変えます。それはあなたが使用している言語と作業している空間にある程度の熟達を必要とします。それは非常に楽しいです。」
「あなたが空間を探索し、問題を解決する最善の方法だと思う方法で探索しているので、それはあなたの視点を本当に変えることができます。誰かがあなたにそこへの道を与えるのとは対照的です。」
「アンカーバイアスという概念全体があります。例えば、「この映画を作るのにいくらかかったと思いますか」と言って、私が「2億ドル」と言えば、あなたはその答えをベースにするでしょう。あなたが答えを知らない限りです。「Xはいくらかかりますか」という質問に対して何も知らず、私が答えを言うと、あなたは私の答えに引っ張られます。「あぁ、おそらく1億5000万ドルだろう」と言うでしょう。一方、私の前に答えていれば、全く異なる答えを出していたかもしれません。なぜなら、あなたは私の答えに偏っていないからです。」
「常にこれらのツールに依存することで、彼らが最初にあなたに伝える答えに非常に偏る傾向があります。そしてあなたは、もしあなた自身の創造的な方法で空間を探索していれば、得られるかもしれないよりも良くないかもしれない局所的な最適値に向かって作業することになります。そして、それは飛行機でのコーディングが好きな楽しいことです。」
これについて前にPrimeが「これは学習された行動だ、このようなマインドセットはAIなしでも発展できる」と言ったことを覚えていますか?彼に同じことを言い返したいと思います。一つの道に固執しないマインドセットは、すべての優れた開発者が発展させる必要があるものであり、その道がどこから来たかは問題ではありません。それが彼らが持っていた悪い仮定から来たのか、彼らが誤解したり間違った教訓を得た他の誰かとの会話から来たのか、それともAIがこの方向に行くように彼らに言ったのかは問題ではありません。
根本から間違った解決策を捨てる意欲は、通過する必要のある本質的なマインドセットシフトです。私が最も誇りに思うスキルの一つであり、他の人がそれを発展させるのを助けるために十分に説明する方法を見つけようとしています。私たちが進んでいる道が間違っているときに検出し、引き戻す能力は平均よりもはるかに優れています。
私はしばしば、私のチーム、他の会社の人々との工学的な会話で、私の役割が効果的に入って来て「あなたが進んでいるこの全体の道は間違っています、リセットしましょう」と言うようなものだと感じます。そして私はPrimeが人々が常にこのように行き詰まると言っていることに完全に同意しますが、それはツールに関係なく、あなたが取り組まなければならないマインドセットです。
AIツールがこれをより可能性が高くするのか、そうでないのかはわかりません。私が知っているのは、私がこれを回避するスキルを発展させたことであり、他の人もそうすることを願っています。それは素晴らしいプロセスです。なぜなら、それはただあなたが難しい問題から創造的にあなたの方法を見つけることだからです。それは非常に楽しい方法でのプログラミングの一つの好きな形です。
「あなたのコードベースでは、あなたが何をすべきか伝えることができますが、コードベースのどこを見るべきか伝える必要があります。Wind Surfはあなたのコードベース全体をインデックス化し、自分でどのファイルを見るべきかを理解するのがかなり得意です。」
「他にも違いがありますが、彼は異なるIDEの比較について多くのことで間違っています。Cursorもコードベース全体をインデックス化します。彼がこれらのものをどのように使用しているのかわかりません。Wind Surfがコードベースの全体的な問題に対してCursorよりも優れていると感じる場所はどこですか?私は逆の経験をしています。Wind Surfが得意なのは、マシン上でプロジェクトを実行する方法がわからない場合に、ランダムなbashコマンドを実行することだけです。しかし私の経験では、コードベースの難しい問題を実際に解決するのには良くありません。」
「しかし、私はこれが現時点では最も重要なものだと思います。Wind Surf用に1、Cursor用に2、両方使ったことがあれば教えてください。」
「はい、奇妙なことに多くの0があります。それほど奇妙ではないと思います。私はおそらく非創業者チャットにインデックス化していると思います。現実は、あなたがたのほとんどは創業者ではないでしょう。もしTheoのチャットでこのポールをやり直すと、おそらく非常に異なる回答のセットになるでしょう。」
「やってみましょう。どのIDEを使っていますか?」
「思った通りでした。Wind Surfのハイプが全く理解できません。これらの人たちが誰なのかわかりません。私が話したすべてのWind Surfタイプの人々は、コーディングを始めて1年未満です。私は真剣な開発者でWind Surfを現在日常的に使っている人を知りません。そして多くの悪口を言うのは悪いと感じます。私は彼らに会ったことがなく、どこにも彼らを見つけることができません。」
「もしあなたがCursorを試し、Wind Surfの方が良いと感じた経験豊富な開発者で、ソフトウェア開発で年間10万ドル以上稼いでいるなら、DMを送ってください。私はあなたの頭の中を探りたいです。なぜなら私には理解できないからです。」
「Wind Surfはコードの学習方法に関しては本当に良いように見えますが、他のすべての人にとっては全く意味がありません。また、これは狂っています。Cursorとバニラのvs codeがほぼ互角です。少なくとも私の明らかに偏ったコミュニティからは、Cursorを使っている人はAIチャットアプリを使っていないvs codeユーザーと同じくらいいます。これは狂っています。」
「これは巨大な変化です。最も人気のあるIDEは8年間ほど私たちの空間で変わっていませんでした。VS codeは2018年頃から標準となっていました。そしてほとんど時間をかけずに、ここでは分割された世論調査があります。これは今、非常に激しい変化の瞬間です。」
「明らかに、VS code + Co-pilotはまだ勝っていますが、35%というのは、1年前でさえ想像もできなかったことです。これは非常に驚くべきことです。しかし、Wind Surfが2票しか得られないというのも、私の意見を裏付けています。「創業者ではない、成功しないだろう」という事実です。」
「私は実際に、自分のオーディエンスにおけるWind Surfの人の数は、彼がいかに深いオタクの泡から抜け出したかを示しており、彼を誇りに思うと思います。Primeは一日で25万回再生を安定して獲得できるという事実は信じられないほどですが、それは彼の聴衆にも経験の少ない人が多くいることを意味します。これらの人々はお金が少ないので、Wind Surfは彼らにとって魅力的であり、経験が少ないため、Wind Surfは彼らにとって魅力的です。」
「Devinも言及されていますが、Devinが真剣な機能に使われていないという欠点は、コードベースを本当に理解していないということです。また、私は今Wind Surfについて辛辣なことを言っていますが、私が言っていることに同意せず、Wind Surfで実際に良い経験をした経験豊かな人であれば、チャットでそれを共有してくれても、私はそれを批判しません。私は実際に本当に理解したいのです。」
「それは主に小さな機能に使われており、ほとんど言及されていません。」
「そしてそれが使われる理由は、彼らが実際に推論モデルを使いたいからです。バッチ内の少なくとも20人か30人の人々がT3チャットを使っていることを知っています。彼らはこのビデオが録画された後に始めましたが、もしYC創業者で見ている人がいれば、Facebookのお得情報ページで無料の1年間クーポンを獲得できます。それをチェックしてください。多くのYC創業者がそれを見落としているようです。」
「推論のためにより強力なモデルを使用するために図を出します。なぜなら、現在、CursorとWind Surfはまだ旧世界(6ヶ月前の旧世界)、つまり推論モデル前の世界、テスト時間計算前の世界にいるからです。創業者はそれを使っており、一部の創業者は自己ホスティングもしています。彼らはより重要な機密IPを持っている可能性があるからです。」
「シフトについて話していると、私は実際に、会社のために局所的に実行されている、カスタマイズされた、またはボロボロの、細かく調整された、そして適切な言葉がここにあるすべてのモデルの世界が存在すると思います。それは多くの企業が望むものです。あなたのアーキテクチャに合わせて調整し、これらすべてのことに合わせて調整するだけです。」
「現在のバッチで、LLMによって書かれているコードの推定割合はどれくらいですか?これはかなりクレイジーです。私たちはこの質問を明示的に尋ねました。コードベースの何パーセントがAI生成されていると推定していますか?私はこの質問を、インポートしたライブラリを含まない、実際のコードベースの文字の何パーセントが人間の手によって入力されたのか、対LLMによって出力されたのかと解釈しています。そしてクレイジーなことに、創業者の4分の1が彼らのコードベースの95%以上がAI生成されていると言っています。」
「なんと!私たちが非技術的な創業者の束に資金を提供したわけではありません。これらの人々の全員が非常に技術的であり、一年前なら完全に自分の製品をゼロから構築できる能力を持っていました。しかし今、その95%がAIによって構築されています。」
「私たちには一人か二人の例があるようです。彼らは非常に若いので、実際に過去2年間でコードを学び、Cursorが存在しない世界を知らないのです。」
「それなら、彼らはおそらく非常に技術的ではないでしょう。誰かがAIツールだけを使ってコードを学び、それに完全に依存するというのは非常に難しいです。個人的には非常に驚くでしょう。もしCursorのようなものだけを使ってコードを学んだなら、オフラインになった場合に実際に何かできるでしょうか?」
「Cursorを定期的に使います。何かのやり方を学びたくないとき、気にかけないコードの特定の部分があるとき。例えばこのようなものがありました:「Tree Sitterを使ってC++を解析し、深度チャートを構築する必要がある」。それを使って何かクールなものを見つけるために使いました。ドキュメントを読む必要がなく、ただ愚かなツールを完成させたかっただけでした。非常に下手に書きました。そのツールは絶対にひどかったです。後で基本的な変更をいくつか加えましたが、基本的にそれを通してVibe codingし、そのコードをすべて捨てて二度と使わないつもりでした。」
「AIの素晴らしさを割り引きたくはありませんが、同時に皆さんが興奮し、学びたいと思うことを望みます。」
「私はここで完全に同意します。何かを構築しようとするとき、あなたのモチベーションを妨げ、プロジェクトを最後まで進めるのを阻止する多くのことがあります。それは最悪の感覚です。AIがそれらの部分、Wrangler tomlファイルの理解などの煩わしさを取り除き、楽しい部分、実際に重要なものの構築に戻ることができるというのは素晴らしいことです。これらのツールの最良の部分の一つです。」
「問題は、すべての痛みを最適化して取り除き始めると、それを経験せず、経験しなければ上達しないということです。仕事をしなければならず、そうしなければ苦労します。これらのツールをモチベーションを維持するために使用すれば、煩わしく退屈なことをスキップでき、また質問を尋ね、そこから学ぶことができるアシスタントとして使用すれば、それらはあなたをはるかに良くレベルアップさせることができます。しかし、難しいことを避けるためにそれらを使用している場合、成功を見つけることはできません。」
「自分がなぜそれが悪いのか理解してから、生成したVibes(horseshitと同義語)を取り、それを実際に有用なものに変形してください。」
「今回のバッチで私の最高の企業の一つは正確にこれです。創業者は非常に技術的な頭脳を持っていますが、コンピュータサイエンスやプログラミングで古典的に訓練されていません。彼らは信じられないほど生産的で、本当に驚くべき製品をたくさん生産することができます。そしてAIはほぼ全体を書いています。」
「これは私にデジタルネイティブであるZ世代についての議論を思い出させます。私は正直に言って、それは恐ろしいと思いますが、同時に誰でも十分な粘り強さがあれば何かを作ることができるという素晴らしいこともあります。彼らがプログラムにはまり、プログラミングを学びたいと思うことを望みます。AIのためにうっかりプログラムにはまり、プログラミングを学びたいと思う人々がいることは本当に良いことで、その部分を完全に割り引きたくはありません。」
「なぜ恐ろしいのですか?彼らが生産するソフトウェアは非常に難しいものになるでしょう。彼らが売却し、退出し、エンジニアを雇い入れるとき、もし古いコードベースで働いたことがあるなら、それは単に絶対的に荒れ果てた世界のようなものです。非常に難しくなることがあり、それは非常に困難な経験になる可能性があります。ひどい経験がいくつかあります。このコードは存在し、あなたはそれを使い、それで遊んでいますが、それが実行されていることに気づかなかっただけです。それだけのことです。しかし、誰かがそれを書かなければならず、誰かがそれを維持しなければなりませんでした。」
「数学や物理の学位を持っているので、彼らは実際に非常に技術的な頭脳を持っています。彼らはそのような生のシステム思考タイプの心を持っています。それは今でも必要かもしれません。私たちはそれについて少し話すべきです。何が同じで何が変わったのかについてです。」
「私はこれについていつも話しています。システムを考え、何が機能し何が機能していないかを理解し、それをすべて使用して持っている問題を特定する能力は狂っています。もしあなたがそれを持っていなければ、あなたは完全にだめです。いつもそうでしたが、今はこれまで以上にそうです。これらのスキルは上級から主要な開発者になるために不可欠なものから、完全に実行可能であるためのものになりました。」
「Vibe codingは、数学や物理学のような他の戦術的な分野から来る、そのような戦術的な心を持つ人々が、過去よりもはるかに速くプログラマーとして非常に生産的になることを可能にします。以前は、物理学者をプログラマーに再訓練しようとするコーディングブートキャンプがありましたが、それはあまりうまくいきませんでした。なぜなら、本当に生産的になるために知る必要があるすべての構文やライブラリやものを学ぶのに時間がかかりすぎるからです。しかし今は新しい世界です。」
「これは文字通りC.S.ルイスの『人間廃止論』第3章の議論で、私たちは何かを質から量に変えたいということです。それは純粋に生産性のために物事を減らすことです。公正に言えば、私たちはしばらくの間、コーダーとして自分たちに金を請求しすぎていました。GoogleがAIからすべてのコーディングブートキャンプ、Googleのサマーオブコード、彼らが大学で行う狂ったワークショップまで投入しているすべての努力、コーディングを学ぶのを助けることに行く資金調達とすべては、彼らが開発者をより安くしようとしているからです。そうすれば彼らはマージンを改善できます。それは常にそうでした。彼らはただより多くを望んでいます。それは理解できます。」
「これは実際に狂ったことです。これが再び起こっているのを見るのは狂ったことです。私たちは人間を単に原子と動きに純粋に減らしています。それだけです。」
「ブートキャンプもまた非常に特定的に会社に雇われることに焦点を当てています。これは2015年頃に、会社自体が彼らの採用プロセスをどのように再考するかについて考えていた頃でした。」
「彼が言うように学ぶのに時間がかかると言うとき、私は学ぶのに時間がかかりました。私は本当に再帰に苦労しました。私は最初は素晴らしいプログラマーではありませんでした。彼が再帰に苦労したと言うのは、私たちが今持っているセットアップを考えると面白いですが、私は本当に本当に高いドライブを持っていました。それで、私の速く学ぶ能力のなさは、私の学ぶ能力の高いドライブによって完全に支配されました。」
「私は速く学ぶことができなかったので、速く学ぶことができないのではなく、1日15時間を費やしました。それが遅い学習を速くする本当に簡単な方法です。」
「私は議論を呼ぶことを言うつもりです。彼はおそらく同意しないでしょう。もしPrimeが今日コーディングを学んでいたら、彼はVibe codingの神になっていたでしょう。機械のようなものです。彼がそのレベルのモチベーションを持っていて、すでに学んだことにもはやブロックされていないという事実は、信じられないものになっていたでしょう。」
「もし今日彼が再スタートしたら、彼の脳を15年リセットして、今すぐこの分野に投入したら、彼はとても楽しんでいたでしょう。なぜなら、彼はまだ1日15時間コーディングしていただろうからです。彼はただ5倍のコードを出力していただろうし、それは見るのが信じられないほど素晴らしかったでしょう。そして今、このような人々がいます。私が知っている人々は、彼らがスマートだからではなく、時間を投入し、努力をしていたために、すでに本当に速く良くなっていた人々です。これらの人々は新しいツールやテクノロジーで素晴らしいことができ、それが起こるのを見るのは本当にクールです。」
「彼らの敵が自分自身の知識だけである非常にモチベーションの高い人々が、AIツールを使って探り、指し、突くことができるより多くの知識にアクセス(制御ではなく)することができるのを見てください。それにより、彼らはその知識をはるかに速く取得することができます。彼らは以前にはできなかった方法でそれにアクセスすることができます。それはとても素晴らしいことです。」
「自分の周りの人々や仲間を大きく超えていく立場にいた人はそれほど多くありません。この若すぎてここにいるべきではないほど若く、ここにいるために必要な資格よりもはるかに少ない資格でここにいる、私たちのコミュニティから現れたいくつかの信じられないほどの人々がいました。彼らは知っている全員が彼らがいる場所に追いついていなかったからここにいました。彼らはとてもずっと気にかけていたので、16歳のインドの子供として雇用可能なレベルのエンジニアリング品質になりました。彼らが知っている最高のプログラマーは彼らの教師であり、彼らはその教師を超えました。あなたが知っている最高のプログラマーであるとき、あなたは何をしますか?」
「Nexelのような人々が言及されています。質問をするために行くことができる人々を持たず、あなたが知っている最高の開発者であることは本当に大変です。私はこの空虚を一度だけ感じました。高校1年生のとき、当時すべて高校3年生のLinuxクラブに参加しました。彼らは皆18歳で、私が行くべきではない場所に私を招待していました。彼らと一緒に過ごした多くの狂った話があります。彼らは全員素晴らしく、何人かは今でも毎日開発の仕事をしていますが、何人かは単に病院などで働いています。しかし、一握りは開発のことに全力で取り組みました。」
「私は12歳のときに彼らのおかげでUbuntuでラップトップをデュアルブートしていました。しかし、その年が終わり、私は2年生になり、彼らは全員卒業し、私にはもはや私より優れた人がいなくなりました。そして私の心は崩れました。質問ができる人々、見上げることができる人々、憧れることができる人々を持たないことで、それは取り上げられたように感じ、私はとても興奮していて重要だったこの物を失いました。そのモチベーションを失い、次の3年間ほとんど進歩しませんでした。高校1年生から高校3年生まで、私はソフトウェアの面で改善しませんでした。なぜなら、私の周りに見るべき人がいなかったからです。私自身をペースするための方法がありませんでした。私はただそうでした。」
「私の同級生がソフトウェアに参入していなかったわけではありません。彼らもそうでした。しかし、私だけがLinuxクラブのグループに入れられました。そして私たちは次の年にコンピュータクラブとしてそれを改革しましたが、それは同じではありませんでした。それはマインクラフトをプレイしている子供たちの集まりになりました。もはや私が学ぶことができる魔法使いたちではありませんでした。そして私がそれを失ったとき、私はただ離れてしまいました。もし私がもっとモチベーションがあれば、他のことを見つけたかもしれません。高校3年生のとき、私はNew BostonのYouTubeチャンネルを見つけ、AP試験で5を取るのに十分なJavaを学びましたが、それ以外は何も得られませんでした。私の周りに私より良い人を見て「ああ、彼らは私より優れている、私はそこに到達したい」と言うことができる人がいなかったので、開発者として改善するのをやめました。」
「最高の開発者はそれが彼らを止めさせないようにする人々であり、私はもし今日同じ立場で始めていたら、ソーシャルメディアがあるので、それらの子供たちとのつながりを保つことができ、私が動けなくなった難しい部分を突破するために使用できるAIツールの組み合わせで、はるかに良くやっていたかもしれないと思いたいです。高校を出るとき、大学に行かなければならないのではなく、まともなプログラマーとして卒業していたかもしれません。なぜなら、大学にいたとき、私は素晴らしいエンジニアたちに囲まれており、それは私を大いに動機づけたからです。しかし、高校ではそうではなく、それは私を後退させたとは言いません。私は自分自身を後退させました。しかし、私は自分自身を後退させました。なぜなら、私はモチベーションを持って続ける気がなかったからです。なぜなら、私が進めば進むほど、私は良くなればなるほど、より孤独に感じたからです。それは最悪です。」
「そして、もしこれらのツールが誰かがより孤独を感じず、より生産的だと感じるのを助けることができるなら、それらのことを通過するのを助けることができるなら、それは素晴らしいことです。それは本当にクールです。そして私は高校を出て、まともなプログラマーだったとしても、私はまだ大学に行っていたでしょう。一般的に、私は大学に向かって推進しています。なぜなら、コードの書き方を学ぶことでさえなく、他のエンジニアに囲まれているだけで、私の大学経験から非常に多くを得たからです。つながりは大学が私にとって価値があった理由です。同僚、他の人とのペーシングは非常に価値がありました。もし大学に行き、1年後に「ああ、これは私のためではない」と気づいて、やめても、クールで、素晴らしいです。私のCTO、Markは私と一緒に大学に行きました。そこでは彼をほとんど知りませんでしたが、私たちはお互いを知っていました。そして今、彼は私の親友です。私がこれらのことをできる唯一の理由です。大学に行きましょう。つながりはとても価値があります。」
「どれくらいの頻度で再帰を使用しますか?定期的に。再帰はソフトウェアエンジニアにとって非常に重要です。彼らの採用プロセスには本当のシフトがありました。古典的に訓練されたコンピュータサイエンティスト、ホワイトボードアルゴリズムの問題から、実際に本当に生産的で素早くコードを書く人々を雇いたいというように。」
「これらの議論のいくつかは永遠に緑です。Railsが初めて登場したとき、ActiveRecordのようなデータベースとやり取りする方法は、同じ風味の議論がありました。「内部を本当に理解していないなら、ただクソみたいな低性能のウェブソフトウェアを書くだけだろう」というように。」
「公正に言えば、彼らは正しかったです。ActiveRecordだけを学び、実際にデータベースを行う方法を学ばなかった人々は、Twitterで失敗したクジラが起こった理由であり、これらの古いRailsコードベースがすべて崩壊した理由です。それらはまた、PlanetスケールとMySQLが非常にうまくスケールするようにするVitessのようなテクノロジーが起こり始めた理由でもあります。それらの多くはRailsの世界と彼らが書いていた悪いクエリから来ました。」
「利点と欠点がありますが、より多くの人々がより早く良いソフトウェアを出荷できるようにバーが低くなったことは素晴らしいことでした。そして私はこの全スタック思考と構築の方法の導入を表したRailsの革命を永遠に賞賛します。それは出てきたソフトウェアが常に良かったということを意味するわけではありませんが。」
「ARについてどう思いますか?それは実際に起こりました。今それを振り返ると、私の感覚では、最も成功した会社の多くは、私が真っ先に思い浮かぶのはStripeとGustoですが、実際にツールで生産する人々を本当に望んでいましたし、実際に生産する人々のために彼らの全採用プロセスを変更したというようなものでした。」
「Stripeは宇宙で最悪のライブラリの一つとして知られていませんか?いいえ、いいえ、私はStripeの第一のハイターとして参加します。Stripeは、DXが今まで考慮されていなかった空間でDXを革命化しました。それは開発者がサービスを統合する期待の新しいバーを設定しました。それはコードベースにコードの行を通して統合する最初のSaaSでした。それは魔法的でした。それは今日私たちが知り愛しているものの多くが、Stripeが初期に行ったことがなければ決して起こっていなかっただろうと思います。」
「Stripeには2つの問題があります。1つ目は、支払いは本質的に複雑なものであり、それが本質的に複雑な統合につながることです。なぜなら、支払いを正しく行うことは難しいからです。Stripeの単なる大きさと、新しい支払いプロセッサーやプロバイダーが持つすべての新しい期待を処理しながら、過去のものが今日と同じように機能する方法を維持しなければならないことです。しかし、彼らが設定したバーはその後通過されました。私たちが期待していたDX品質が10点中2点だったとすれば、彼らは新しいバーを6点に設定しました。彼らはそれを3倍にしました。今、私たちは8点と9点を期待しています。彼らはまだそこに到達していませんが、彼らはたくさん気にかけています。彼らは試みています。彼らは気にかけています。彼らは勝つでしょう。」
「私は彼らからのフィードバックをとても気にかけていたため、CEOとのコールとインタビューをするために、彼らのスタッフ全員の会議に参加するようにいわれました。彼らは勝ちたがっています。彼らは聞いています。彼らは気にかけています。彼らは勝つでしょう。特に今、Stripeと競争したくありません。競争しようとしている会社に感謝します。Polarが勝つのを見たいと思います。しかし同時に、Stripeはとても気にかけており、素晴らしいものを出荷しています。」
「私がStripeを通じて支払いシステムを統合することの不条理性について悪口を言っていることが、Stripeがソフトウェアの歴史の中で最も不条理な成果の一つではないことを意味しないことを願っています。「Stripeはひどいですか?Stripeはクソ同然ですね。StripeのAPIは無意味です。」」
「ツールと、彼らが実際に素早くコードを書く人々のために彼らの全採用プロセスを変更し、彼らはとてつもない成功を収めました。ある時点で、彼らが成長し、スケールアップするにつれて、ボトルネックは実際に古典的に訓練された思考者、システム思考者を持つことになり、物事をスケールアップしてアーキテクトするためでした。あなたの指摘のように、今や実際にすべてをゼロから書き直し、デバッグするのははるかに安いです。スキルは全く異なるかもしれません。」
「公平に言うと、このパネルと私は非常に異なる動機を持っています。このパネル全体の目標は、資金が必要な会社や人々のグループを見つけ、製品をある程度の収益性、販売可能性に乗せることです。そして収益性と言うとき、年間10万ドルの収益を得ることができることを意味しています。そして次にシードラウンドからシリーズAなどに移行していきます。そして最終的に巨額のお金でエグジットできるように会社を運営していきます。」
「そして彼らが最終的に望むものは、これらの会社の結果として働く多くの人々が望むものとは異なるかもしれません。それは意見が異なるかもしれませんが、今バトルは実際に戦いに立ち止まりました。もちろんActiveRecordやRailsを使用することで、ゼロからすぐに行くことができましたが、Twitterに何が起こったのですか?失敗したクジラになりました。基本的に、一度あなたがある地点に到達すると、そのアーキテクチャは一億、十億、千億ドルの評価やユーザーなどに到達することはありません。それは単に機能しないでしょう。」
「私は半分同意します。最もクールなことの一つは、彼は現代の開発ツールについてそれほど詳しくないので、Garyと同意しない場所の一つですが、サーバーレス革命はRailsのようなものに匹敵する本当に良い開発者体験を可能にしましたが、実際にスケールする方法です。専用サーバーで正しく行った場合よりも高価ですが、サーバーがトラフィックを処理できないという失敗クジラの問題は、あなたがある程度適切に構築していれば、今や消えています。これは素晴らしいことです。ただしPostgresは使わないでください。本当にわかっていないなら、失敗が見えるでしょう。そして新しい、おっと、失敗クジラを知らないのですか?昔、Twitterがトラフィックサージを受けたとき、例えばニュースがドロップしたり、イギリスの女王に何か狂ったことが起こったりすると、Twitterは単一の巨大なRailサーバーでした。それはトラフィックを処理できませんでした。そのためクラッシュし、クラッシュすると失敗クジラが表示されました。この問題から抜け出すためにすべてを書き直さなければなりませんでした。」
「しかしそれは単にモノリシックサーバーの構築方法が本当にスケールしないからで、Twitchもこれから離れなければなりませんでした。これはRailsの多くの問題の一つですが、それは別のことです。しかし、それは良い指摘であり、私たちはかつてのようにスケーリングソリューションを考えることはできません。なぜなら、以前は良いDXは悪いスケール特性を意味していましたが、今ではサーバーレスでは、あなたの請求書はうまくスケールしないかもしれませんが、少なくともあなたのインフラスケールは完全に問題ありません。VersionとPlanet Scaleのようなツールと、ここで私が推奨する他のツールやテクノロジーを使って、事柄をある程度正しく構築するだけで、ダウンすることはほぼ不可能です。それは大きな変化であり、このニュアンスがここで注入できることを願いますが、私たちが見ているビデオの関係者の誰もこれを理解するつもりはありません。YCはここで間違っています。Primeはこれについて実際にはもっと良いかもしれません。彼が何を言うか聞くのが楽しみです。」
「彼は本当に良いポイントを指摘しています。TJはそれをヨット問題と呼んでいます。彼は配信していると言及しています。私はそれが好きです。私は実際、このマインドセットにも多くの価値があると思います。だからある意味で行ったり来たりする葛藤の部分があります。それは、クソなコードを生産する価値は何か、もしクソなコードがあなたの考えであれば、それが実世界で機能することを証明するために何かを得ることと、実際に時間が経つにつれてさらに機能を追加するためにハックするのに役立つものを得ることの間で。彼らが説明している二つの異なる世界があり、彼が特に説明している世界はヨット問題と呼ばれています。」
「ヨット問題の世界では、あなたは10億のユーザーを持ち、ヨット問題を手に入れました。ここで変わったと思うことの一つは、以前はヨット問題に到達したとき、あなたのものが倒れてしまう十分な成功を持っていたとき、あなたは自分が置いた穴から抜け出すために正しい人々を雇わなければなりませんでした。今では、サービスプロバイダーからより高い請求書を支払うだけで、かなり遠くまで行くことができます。AWSやVersionやPlanet Scaleなどのものを使用すると、エンジニアを雇う代わりにプロバイダーにその問題を支払うことができます。」
「そして4,000ドルのVersion請求書はひどいかもしれませんが、年間20万ドルで3人のエンジニアを雇うのはそれほど良くありません。そしてそれは、かなりクレイジーなスケールまで到達するためのものです。また、500Kで数千人のエンジニアを雇い、さらに使用していないたくさんのインフラのためにAWSに支払うこともできます。それは最終的に起こることです。このビデオはすでにかなり長いので、あなたのために良いことをしました。インタビューのベストプラクティスについてのセクション全体がありますが、それは過去に話したことを聞いたことがあります。それをスキップしてポイントに戻りましょう。」
「コードを読みデバッグするスキルは最大です。あなたはLLMが悪いものか良いものかを知るための味と十分な訓練を持つ必要があります。そして時々、候補者がツールを使用し、LLMが出力する合理的な解決策があり、候補者が「ああ、これは実際には悪い」と言うのを明確に見ることができます。それは良いvideコーディングを行うために何が良くて何が悪いかを判断する高いレベルの思考を知るための味と、必ずしも古典的な訓練ではないかもしれませんが、何が良くて何が悪いかを判断するのに十分な知識を持つ必要があるという兆候です。」
「彼女が言っていることは、10年間のプログラミングと、多くのことが間違っていくのを見て、あなたのすべてのプログラムが絶対的なゴミに変わるのを見た後、良いものと悪いものを作るものを実際に理解するということです。そして私が良いものと悪いものを作るものと言うとき、私はすべてのソフトウェアについてのこの一般的な考えを持っています。」
「わお、これは非常に白いテーマですね…うわ…それで私は個人的に、こちら…彼のダイアグラムがどのように出てくるか楽しみです。これはマウスで行っているのでしょうか…それは描画タブレットでなければなりません…その見た目から…1つから1万までのチャンクのコードに壊れることができると思います…1から1万まで…すべてマウスです、なんてこと…」
「私はほぼすべての機能をこのように見ています。それ自体で全体として何かを見ることはめったにありません…正直に言って、Primeに悪意はありませんが、彼がもっと描いていることが好きです。視覚化は助けになります。しかし私はただ…ここで楽しむ権利を得ただけです。私が一つのことだけでもより良くなることができればいいのですが、一つだけです。私の手書きは一生涯ひどかったです。インタビューでのホワイトボードは私のキャリア全体で非常に緊張していました。Excalidrawが私の中で今まで見たことのない新しい部分を解き放ちました。私はこれを少し笑うつもりです。私は時間を費やし、努力をしました。少し笑います。」
「それ自体を抽象化できない何らかのライブラリや何かで抽象化できないものがあり、もしあなたがこれにランディングして一撃でできるなら、あなたは通常、非常に良いプログラマーになることができます。なぜなら今、あなたはシステムを通じて設計する必要がある少数のインターフェースがあり、あなたはただこれらの1万を一撃でできるからです。」
「これは何のダイアグラムですか?古典的に訓練されたというのは、私が古典的に訓練されたものへの冗談のようなものです。私の古典的な訓練でさえ古典的な訓練ではありません…」
「私は以前の経験がこれらのツールを使用することをはるかに容易にすることに同意します。10年間のコード経験を持つ人がこれらのツールを使用することは、今は非常に良いことです。この時代に学んでいる人々は、それがどのようなものか全く分かりません。私はそのマインドセットを持っていません。それを理解するのは難しいですが、それは異なります。」
「私のコードはオリーブオイルのような味がします。ねえ、オリーブオイルは良いですよ。オリーブオイルは本当に良いです。」
「十分な練習で良くなるというのが私の意見です。それは面白いことです。それはコードを生産するよりも、コードレビューのようなものです…」
「私はシステム設計のある形式を持つことができます。あなたは彼らが製品を出す能力がどれほど良いかを知りたいので、それから味をテストしています。デバッグをテストし、それから味をテストしますが、次にどうやって、つまりこれは古典的に訓練された世界から来ていないAIコーディングのネイティブと呼ぶ子供たちに到達する方法についての質問ですね。」
「あなたはしなければなりません。なぜなら、そうしなければスタートアップが死ぬからです。この創業者が行って、AI 95%を書いたとしましょう。1年後、2年後に証明は、彼らがその上に1億人のユーザーを持っているということですか?それは倒れるのでしょうか、それとも倒れないのでしょうか?」
「それも良い証明だとは思いません。1000万人のユーザーのためのコードを書くことと、10人のユーザーのためのコードを書くことと、1万人のユーザーのためのコードを書くことは、すべて非常に異なる側面です…全アメリカがあなたの製品を使用するようにするだけです…私はそのようにコードを測るべきだとは思いません…」
「これらのシステムは、推論モデルの最初の領域では、それはデバッグに非常に良くありません。だから、あなたは実際に何が起こっているのかの深みに降りなければなりません…あなたがそれをしなければ、私は意味…OK、私はここで少し異なる角度から行きます。」
「重要な認識すべき基本的な特性の違いがあります。私たちはT3チャットに1億人のユーザーをまだ持っていませんが、もし持っていたら、私たちがスケールするにつれて最初に壊れるのはどれかを順番に挙げることができます。最初の4つは、私たちが働いているさまざまなAI LLMプロバイダーの速度制限となるでしょう。そして私はすでにそれらの会社とのつながりを作っているので、彼らに叫んで私たちの速度制限を上げてもらえます。また、異なるプロバイダー間でトラフィックを分割できるようにするOpenRouterのような戦略もあります。その後、私はまだそうしていなければ、手動でデータベースをスケールアップする必要があるでしょう。おそらくそうしているでしょうし、私の現在のデータベースソリューションがその遠くまで絶対にスケールできることを知っています。」
「私の以前のものはそうではありませんでした。私はスケールが私たちを失敗させる方法を見ていたので、将来それについて心配する必要がないように、非常に素早くそれから離れました。私はそのスケール問題に対処するためにダッシュボードでクリックする必要があるボタンを知っています。それがそこに到達したとき、それだけです。次のものは確かにサポートでしょう。私たちのサポートレイヤーはMarkがメールに可能な限り素早く応答することです。それが失敗する場所は、おそらく他の2つより前に、十分に大きいユーザーグループを得た場合、何が起こるかということです。」
「これを記録していますか?これらの失敗ポイントは記録していますか?それは私たちの従業員の脳の50%に存在しています。なぜなら、私とMarkが修正する場所を知っているからです。もし壊れていたら、私たちは大丈夫です。また、彼もこれらすべてのことを知っています。チームの100%がすでに認識していることを文書化する必要はありませんが、近い将来、私たちが雇い始めるとき、もし物事が文書化されていなければ、実際に問題があります。しかし、私たちが実際にそこに到達しそうに見えるので、それを直すことに興奮しています。それは本当にクールなことです。しかし、はい、私たちは私たちが犯した罪を説明するコードコメント以外にほとんど文書化を持っていません。彼らは雇わなければならない別のアーキテクトを見つけることができる場所です。」
「あなたはGoogle Sheetsをデータベースとして使って、10,000の日々のアクティブユーザーを持つ会社を開始できると思います。だから私は知りません…ここで重要なことの多くは、10,000人のユーザーに到達できるかどうかではなく、スケールアップするにつれて何が失敗するかを一貫して説明できるかどうかです。そして、もしあなたが失敗ポイントがどこにあるかを説明できないなら、あなたは絶対にスクリューされています。」
「ただ言っているだけです。そして、ユーザーの数は必ずしもこれが良いソフトウェアエンジニアのアイデアであるべきではありません。なぜなら、すべてのこれらのコーディングツールで再ツール化するのはとても簡単だからです。バリアは非常に低く、あなたは十分に良いエンジニアになるでしょう。そのようなエンジニアはたくさんいるでしょう。しかし、例外的になるため、トップ1%になるためには、意図的な練習に取り組む必要があります。」
「analogは、Malcolm Gladwellが専門家になるための10,000時間の練習という概念を広めましたが、それはAnders Ericsonの研究から来ました。それは単に時間を費やすことではなく、計画され考えられた意図的な練習の時間であり、それは難しい仕事です。あなたはより少ない時間で専門家になることができます。」
「今、コーディングツールで起こっていることは、出力が非常に速いので、時間を費やすのがとても安いということです。あなたは十分に良いところまで到達できますが、世界で最高になるため、最高の創業者になるためには、その意図的な練習が必要です。詳細に入り、システムを理解する必要があります。そして再び、ある程度は古典的に訓練される必要があります。」
「彼女はほとんど私をそこで手に入れました。私たちは古典的に訓練される必要があるという最終的な答えに戻っていると思いました。よい答えです、男性。私は、プログラミングする方法を学ぶというのが最終的な答えだということが大好きです。」
「もしあなたがコードを読むなら、良いコードがどのように見えるかを知る必要があるかもしれません。良い例は、Picassoの一人です、最も偉大な画家の一人、それは彼が有名なことではありませんが、生命のような絵を描くのに素晴らしかったです。もちろん、あなたがPicassoを想像するとき、あなたはその反対を想像します…」
「これは、彼が抽象的な船に到達するまでの描画の有名なシークエンスがあります。それは生命のようなものから始まり、彼が本質に、ある種の抽象芸術に到達するまでのイテレーションです。」
「私がこのビデオを最初に見たとき、私はこの部分で気を散らしました。オリジナルのVibe code thingを見ましたが、それは過去に他のことをしながら背景で見ていました。この部分に注意を払わなかったのですが、そうすればよかったです。これは実際に私のコードに対する感じ方の一種です。芸術的な意味ではなく、私のコードの芸術はクソですが、複雑な正しいものから始めて、実際に気にしている部分だけにこれをどのように削り落とすか、そして文字通り他のすべてを捨てるかを通じて行くということです。これが私のコード作成方法です。」
「私のシステムについてこの方法で考えるのが本当に好きです。私たちが皆理解している大きなもの、それが何か、それが何をするか、その特性は何か、単にそこにあるすべてのものを切り捨てて、私が必要なものだけを得ることができるように、必須のものだけがここにあるように、どのようにできるでしょうか。しかし、彼は世界で最高になることができました。なぜなら、彼は実際に非常に良い画家であり、古典的に訓練され、非常によく描くことができたからです。しかし、それは彼が知られていることではありません。」
「だから私たちはこれらの2つのクラスのエンジニアを見ることになると思います。あなたはまだ非常に太いクラスのような十分に良いエンジニアを持つでしょう。あなたはそれらのためにエンジニアが必要ですが、世界で最高のもの、外れ値になる創業者は、意図的な練習を行う必要があるでしょう。」
「はいと言えばないと言えばです。私はシステムレベルで素晴らしい、世界クラスのエンジニアが最終的に世界最大の公開会社のCEOやCEOになった非常に素晴らしい例がたくさんあると思います。私はMax LevinやShopifyのToby lukiについて考えています。これらは本当にそれほど素晴らしくない人々ですが、また同時に会社のCEOや共同創業者である多くの他の人々もいます。そして、それは私たちが以前に言っていたことに立ち返ります。採用に立ち返ります。」
「私は運がこれに大きな役割を果たすことを示すのは、それだけだと言いたいと思います。あなたは驚くべき会社を作れますが、あなたの素晴らしい会社が1年か2年早すぎれば、それは文字的にただ「あなたはただ早すぎる」というようなものです。もしあなたの会社が死ぬために1年か2年早すぎることが十分なら、それはそもそも成功するためのものではありませんでした。あなたは波を通り抜けられるように自分自身をペースする必要があります。それは独自のスキルであり、私はそれができる人々が確かにいると思います。誰かがCEOやCTOとして最悪でも、単に非常に回復力があるような人々、ゴキブリのような存在…」
「ゴキブリは驚くほど良いCEOを作ります。それは彼らがCEOとして良いからではなく、あなたが彼らを取り除くことができないからです。彼らはただ周りにいて、彼らは永遠にそこにいるでしょう。彼らはあなたの全生涯を通してそこにいるでしょう。そして、あなたが隅で死にかけているとき、「待って、あなたはまだ周りにいるのですか?」と彼らは微笑みながら手を振り、彼らのバーンチャートについて自慢します。」
「スキルがあります。しかし、私は運が大きな要因であることに同意します。しかし、運を最大化する方法は、あなたが幸運なストライドを打つことができるほど長く生き残ることです。それは私たちに起こったことです。もし私がpingの軌道を変えていなかったら、私たちはYCを去ったときの軌道と燃焼率で1年半前にビジネスを終えていたでしょう。もし私がその年の終わりまでに私たちを削減していなかったら、私たちは今はるかにビジネスを終えていたでしょう。しかし、私はそうしました。そして、私たちのランウェイを6ヶ月、あるいはその時点で8〜9ヶ月から3年に延ばしました。そして、今私たちはプラスです。今、私たちは無限のランウェイを持っています。」
「なぜなら、私たちはビジネスを構造化し、そこに到達するための正しい変更を行ったからです。そして今、私たちにはどれだけ長く待たなければならないとしても、生き残る能力があります。そして今、私たちがこれらすべてのことを行ったため、私たちは良い収益性のある製品を構築することができました。運とタイミングです。それはただ素晴らしいことです。良いスキルとタイミングが何を生み出すことができるかは素晴らしいですし、スキルがなくてもタイミングだけで何か似たようなものを生み出すこともできます。」
「あなたが持ち上げたTwitterの類似に考え続けています。もしあなたがFacebookとTwitterを比較するなら、両方のケースで彼らはゼロから一へと非常に素早く移行しました。Facebookはスケーリングの技術的な課題を非常に印象的な方法で解決することができました。多くの人々が同意すると思います。私は考えますが、しかし私は知りません。Twitterのスケーラビリティの課題は使用パターンに基づいてより難しかったと思います。」
「Facebookの使用についての面白いことは、それは1日を通して非常に滑らかに成長するということです。人々はそれをただずっと使っています。Twitterの問題は、その使用が信じられないほどスパイキーであることです。あなたはスーパーボウルやNO、Twitterの問題は、エンジニアリングがFacebookで起こっていた革命的なものに比べて純粋に無能だったということです。」
「Facebookのエンジニアは世界最高のいくつかであり、当時は想像もできないことを構築しました。Twitter技術的には何も発明しませんでした。TwitterがBootstrapのような一般的なソフトウェア世界に対して行った数少ない貢献以外は、他のすべてはある種の災害でした。技術的能力に違いがあります…世界的なイベントのようなものであり、突然あなたは10倍の使用量を持っています。フィードのファンアウトの方法は私は根本的に非常に難しいコンピュータサイエンスの問題だと思います。」
「それは公平です。私はまた彼らが本当に足かせをされていたと思います。この恐ろしいシステムのスターリングを覚えていますか?私はそれが使われていたのですが、「Twitterは私たちよりもはるかに大きいので、彼らはとても賢いに違いない。彼らはクソのようなものを使わないでしょう」と思いました。いいえ、彼らは完全にクソを使います。そして、NetflixはReactive socketsなど、すべての種類のものを発明しました。もしあなたが正しいものを見つければ、あなたは私のコミットのいくつかが、JavaScriptでそれがどのように解析されるかについて、そこにあるのを見るかもしれません。それは起こります。私はクソを使い、それを機能させることができませんでした。」
「大企業はたくさんの悪い決定をしました。それは床に仕事を落としていました。すべてのこれらのクレイジーなバグが起こり、そして最終的に私は「もうこれを使わない、RMか正しいものを使うべきだ」と言いました。そして、Rubyは信じられないほど遅い言語です。PHPよりも技術的に遅く、それはすでに遅すぎました。だから、私はわかりません。基本的に、あなたは一つに到達するのをとても幸運にすべきです。」
「あなたが訓練され、本当に深いシステム思考者になる利点はありますか?あなたはただ私は意味します…TobyやMax Levchinは人々からだまされることはありません。Stripeも同じです。狂った話をしますね。Palanteにいたとき、私はそこで数年間燃え尽きた後、ロゴをデザインしました。そして、YCのスタートアップを始めるために行く前に、私は6ヶ月間インタラクションデザイナーとして過ごしました。これは地面に潜ってしまった悲惨なベンチャーバック企業でした。それはクレジットカードのソフトウェアで、最悪でした。」
「私はBasically just インタラクションデザインを構築するために6ヶ月を費やしました。それは本当に楽しかったです。それは空き時間に私のスタートアップに取り組むことを可能にしました。なぜなら、私はたくさんの空き時間があったからです。しかし、私はレンタカーのような顔付き検索を設計しました。そして、私の開発マネージャーとエンジニアとの会議に行きました。それを実装してもらえる人に行きました。」
「これにPAを持っていなければなりません。これが冗談でなければ冗談であることを拒否します。円とシェブロン、バーン、彼を手に入れた、ゲイリー、いいえ、ゲイリー、彼らは「ああ、できません、その方法ではできません」と言いました。「どういう意味ですか?インデックスをこのようにするだけです。」そして彼らは「おっと、何を言っているのですか」と言いました。そして彼らは私の履歴書を調べました。」
「インタラクションデザイナーからそれを聞きました。基本的に彼らは「どうやってそれを知っていたのですか」と言い、私は「あなたは私にウソをついた」と言いました。それが重要なことです。創業者が知らなければならない創業者のスキルセットはそれほど大きな関心事ではない世界に多くの非常に有能なエンジニアがいます。」
「ゲイリーに非常に共感します。チームに入り、「この明らかなことをただ行うことはできますか?これほど多くの作業です」と言わなければならない回数は数えられません。そして彼らは「いいえ、待って、待って、多分」と言い、そして私はそれを行い、それを彼らに見せ、それが機能したとき、彼らは「なんてこと」と言います。」
「私のお気に入りの話の一つは、実際にこれに関連する一つのTwitchです。アクティビティフィードをここで見てください。リフレッシュした時に何が起こるか見てください。まだそこにあります。それは初めは当てはまりませんでした。なぜなら、アクティビティフィードの仕組みは、イベントがTwitchに持っていた狂ったキューイングパブナブシステムを通じて送られていたからです。パブサブ、それは何であれ、それは彼らが構築しリリースした大きなオープンソースのものでした。」
「これらはすべてのイベントだったので、それらは永続的ではありませんでした。それらは物事が起こった時に送られました。だから、あなたがリフレッシュしたとき、あなたはそれらをすべて失いました。これに取り組んでいたチームがそれらが持続することは素晴らしいことだろうと提案されたとき、エンジニアたちは「いいえ、それは不可能です。会社全体のさまざまなサービスとすべてのAPIを構築しなければなりません。このデータを得るためにはハイプトレインの人々に、コミュニティサブチームにいる人々に、商業チームにサブの情報を得るために連絡しなければなりません。視聴者体験にフォロワーを得るため、クリエイター体験にポール履歴を得るために連絡しなければなりません。これらすべてのことを一つのAPIで行うことはできません。」
「それに対してプロダクトマネージャーは「しかし、イベントがどうせ私たちに送られているなら、それらを保存できる場所に送信することはできませんか」と言いました。PMが正しい決定をしたのは彼でした。PMが問題を実際に解決した提案をしたのは彼でした。「ただイベントをどこか他の場所に送信し、保存することができます」と。それは、私がこの一つのチームだけだとただ認識した瞬間でした。」
「誰かが入ってきて明らかなことを言い、それが正しい解決策である2つの例があり、それらは同じチームでした。私はこれを取り消して、それはただエンジニアリングチームだったと言わなければなりません。Twitchで私が持ったほぼすべての悪い経験は同じチームでした。私を無視してください。そこにはおそらく大量のちょうど少し以上の有能な人々、ちょうど構文を書くのに十分な有能さの人々がいます。そして残りの人々、それは暗い世界です。」
「あなたが職場にいるとき、あなたが連れてくる人々は、彼らはあなたにウソをつかない、彼らは怠け者ではない、私たちは全員目標とミッションのためにいる、と想定します。そしてそれは違います。雇う人々は、あなたが彼らがウソをついていることを言えない場合、彼らは完全にあなたにウソをつくでしょう。それから…」
「もう一つの接線ではありません。終わりに非常に近づいています。私が本当に強く押す1つのアドバイス、それは私のお気に入りの採用アドバイスです。私はそれをより多く与えており、多くの頭脳を再配線しました。そして私はこの1つのアドバイスをとても誇りに思っています。あなたがやりたくないことのために採用することをやめなければなりません。」
「もしあなたが下手なことや好きでないこと、あるいは避けたいことのために採用しているなら、あなたの目標はその物事についてより少なく考えることです。だからもしあなたがそのために誰かを雇うなら、あなたはより速く誰かを得たいので、採用にそれほど多くの仕事を投入しないでしょう。そしてあなたはそれについて話したくないので、彼らのためのより良いマネージャーになることはないでしょう。これは彼らを成長するよりも嘘をつくことからより多くの利益を得る位置に置きます。」
「もし彼らが難しい問題を解決し、それについて本当に興奮して、あなたのところに来たら、そして売り込みが嫌いなので売り担当者を雇った創業者として、あなたが彼らの興奮に応えなければ、会話から早く抜け出したいので「はい、よくやったビリー、ありがとう」と言うでしょう。そして彼らは二度とそのような勝利について教えてくれないでしょう。なぜなら、彼らはそのような勝利を二度と持たないからです。」
「あなたはちょうど彼らがもう気にしないことを保証しました。もしあなたが彼らのエネルギーと興奮に合わせることができなければ、あなたが彼らと同じくらい優れている必要はありませんが、彼らと同じくらい興奮している必要があります。もしそうでなければ、彼らは去るか、彼らは気にするのをやめるでしょう。そしてそれらのうちの1つはもう1つよりも悪くありません。私は彼らが去ることをむしろ望みます。なぜなら、もし管理が彼らが行う難しい仕事を尊重しないために、あなたがその種の無駄を持つことになれば、すべてが速く崩壊するからです。」
「だからこれを防ぐための私の対応策は、あなたが愛することのために雇うことです。あなたがやることを恋しく思うものに対して採用してください。なぜなら、そうすればあなたはその人にとってはるかに良いマネージャーになるからです。私が自分のチャンネルのためにビデオ編集者を雇ったとき、私は良いエディターではなく、編集が好きではなかったので、それはいくつかの異なる理由で機能しませんでした。」
「それから私は自分のビデオを編集し始め、それに恋をしました。私は今、本当に心から編集を楽しんでいます。それが雇うのに正しい時間になったときです。なぜなら、私は私のエディターFaZeと常にたくさんの時間を過ごすことができるからです。そして信じてください、私はそうしています。それは私たちにとって楽しいことであり、アセットを交換し、それぞれの部分に取り組むことは、それは楽しく、喜ばしいことです。そしてFaZeは、新しいものを学び、新しい狂ったアニメーションやテクニックで遊ぶためにより多くの時間を費やすとき、彼はそれを私たちに見せることができ、私は彼が行った仕事について興奮していることを知っています。」
「それは彼にとって報われることであり、単により良いコンテンツを作ることができるだけでなく、私はその仕事を認識し、彼と会話を持ち、彼と同じくらい興奮しているからです。そして、彼がそれをするとき、はるかに多くのお金を払います。彼が始めてから彼の給料を3回倍増させました。なぜなら、私は彼の成長を見て、それを通して彼と一緒にいたからです。あなたが下手なことに雇うのをやめてください。なぜなら、あなたはその人にとって本当に悪いマネージャーになるからです。」
「もし何らかの方法で優れた人を雇うことができたとしても、あなたはそうしないでしょう。なぜなら、あなたはそのことが嫌いで、単に雇って先に進みたいだけだからです。だから、あなたが下手なことに雇うのはやめてください。あなたが優れていることのために雇ってください。そうすれば、あなたが下手なことを修正できます。」
「ともかく、彼は正しいです。これは実際に、もしこれまでSteve JobsのBozo explosionを聞いたことがあれば、彼は絶対に正しいです。人々は私が彼の給料を3回倍増させたということを疑問視しています。確認されました。そして、彼が最初に私に連絡したとき、彼の率の提供はあまりにも低かったので、私は「いいえ、あなたにははるかに多く支払います」と言いました。そして可能な限り彼により多くのお金を与え続けました。そして正直に言って、すぐにもっと彼に与えるでしょう。彼は最高に仕事をしています。」
「FaZeはチャンネルを運営しています。この時点で彼なしでは何も可能ではないでしょう。そしてそれは私が編集を愛していなければならなかったからこそ可能です。私はビデオ編集を愛していなければ、FaZeを従業員として持つことはできなかったでしょう。そして私は彼のための良いマネージャーにならなかったでしょう。だから、あなたが好きではないことに雇うのをやめてください。」
「本当に素晴らしい質問があります。「もし私がその物事について彼らが興奮しているときに興奮することについて本当に良いけれど、その物事をすることについては下手な場合はどうでしょうか?」それは問題ありません。私が表現する方法は、あなたがそれをやることを恋しく思うときにその物事のために雇うということです。あなたはそれに優れている必要はありませんが、それを恋しく思わなければなりません。」
「私がFaZsを迎えたとき、私は素晴らしいエディターではありませんでしたが、話をし、正しいエネルギーレベルを合わせるのに十分でした。しかし、より重要なことに、私はそれを恋しく思いました。なぜなら、私はそれをやることが好きだったからです。あなたは、まだそれに優れていないものを愛することができます。」
「私はそれよりもはるかにスケートボードを愛する多くの人々を知っています。しかし、それらの人々は私よりもはるかに下手です。あなたはまだ優れていないものを絶対に愛することができます。でも、物事があなたを興奮させるポイントに到達するように最善を尽くしてください。もしあなたがそれをする理由、他の人がこれを生活のために行う理由、そして彼らがそれを楽しむ理由をまだ十分にしていなくて感じないなら、それはあなたが修正する必要のあるものです。」
「私にとって、私はコードを書くことが大好きで、エンジニアリングが大好きです。だから私はそのためにまず採用する必要があります。もし私がそれをやめなければ、私は一日中コードベースに住むでしょう。もし私がそれを通してキャリーしてくれる人々がいなければ。MarkをCTOとして雇うことで、私は今や他のことをしなければなりません。なぜなら、彼がコード部分を行うためにここにいるからです。私は一日中コードをすることができません。私は他のすべてを行い、下手なことでより良くならなければなりません。そして私はそれらのことでかなり良くなりました。サポートのようないくつかの難しいことのために雇えるポイントに近づいています。正直なところ、サポートはよりMarkのことです。彼はそれがとても好きです。私は彼にそれを考え始めるように押してきました。なぜなら、私は彼をエンジニアリングに必要とし、彼がそれほど愛していないことよりも彼の必要があるからです。」
「しかしこれらのことはすべて難しいです。採用は最悪です。これは本当に良い質問でした。もっと早く説明するべきでした。素晴らしい質問でした。」
「あなたは何をしますか?あなたは他の会社にそれを外注しますか?その他の会社の能力は何ですか?その他の会社が良いエンジニアを得るのに十分な能力があることをどうやって知りますか?それは一種の問題があり、それは拡大しています。もしあなたがエンジニアリングを愛していなければ、あなたは良いエンジニアを雇うことができません。あなたは一人をだまして働かせることができるかもしれませんが、彼らは長くはそこにいないでしょう。そして彼らは去るとき、彼らの後ろに燃える道を残すでしょう。どこでも、まともなエンジニアは彼らに従うでしょう。悪いエンジニアは良いエンジニアを雇うことができません。」
「もしあなたが何をしているのか知らなければ、あなたはその仕事をうまく行う誰かを雇うことはできません。それが、通常他の誰かが入ってくる理由です。それがあなたが通常何か他の側を知っている誰かと創業する理由です。それが初めての創業者がいつも最悪である理由です。なぜなら、彼らは創業者として必要なすべてのことを知らないからです。」
「一人だますことは狂ったことを言うことです。」
「そうですが、私はだまされました。私は良いエンジニアとして、行き先が素晴らしいだろうと思ってだまされました。なぜなら、人々は興奮していて、彼らは同じ考えを持っているように見えたからです。しかし彼らはそうではなく、私はスキャムされました。そして私は恐ろしく感じました。そして私は辞めただけでなく、そこで働いていたまともなエンジニア全員が他の仕事を見つけるのを助けました。私はスタートアップを地面に燃やしました。なぜなら私はスキャムされたからです。私は絶対に前に会社に参加するためにだまされたことがあります。そしてその状況にいる誰にでも悪いと感じます。」
「奇妙なことに一般的で、素晴らしいエンジニアは会社を去るとき、その会社を破壊します。意図的にでさえなく、彼らが閉じ込められている状況について非常に悪いと感じるからです。彼らはしばしばひどい取引をし、絶対に爆発します。そして二度目の創業者は「いいえ、いいえ、いいえ、これらのことすべてが非常に間違った方向に行ったことを知っています」と言います。そして彼らは実際にこれらの水域をよりよくナビゲートすることができます。だからあなたはこれらの人々が本当にプログラミングに驚異的であることができなかったことを想像できます。彼らは素晴らしいプログラマーを雇わないでしょう。」
「彼らはラッキーになる可能性があります。あなたはいつもラッキーになる可能性があります。あるいは彼らのために働く人を誰かをだまして入れることができます。しかし彼らは滞在しません。彼らは維持しません。運は維持をもたらしません。運は非常に気まぐれなものであり、運は長期的な成功をもたらすことはありません。それはあなたにバーストでのみ助けます。そしてそれらのバーストは何も素晴らしいものにあなたを運ぶことはありません。運は大幅に過大評価されています。それはあなたを初めに助けるかもしれませんが、あなたはまだ仕事をしなければなりません。」
「そしてもしあなたが悪いときに偶然に優れたエンジニアを雇うことが幸運なら、あなたはそれ以上進むことはないでしょう。常に正しい人々を雇うのは常に事故でか、あるいは十分に良い推薦で、あるいはあなたが何らかの形で結びついている友人がいて、正しいものをあなたに与えることができるか。それは常に起こりますが、それが起こることは保証されていません。もしあなたが自分が何をしているのか知らないなら。」
「最悪の部分は、あなたが彼らを呼び出さなければならないことです。時々、あなたは非常に丁寧な職場文化を持っていて、人々が「ああ、それを通過させましょう、そして私は彼らの背後で悪口を言います」と言うことがあります。いいえ、あなたは彼らを解雇すべきです。AIエージェントは偶然にも正確にこれを行います。」
「私がYCの人によってポストされたものかもしれないものから読んだ意見がありました。あるいはそれは彼らのチャンネルのビデオの一つでした。それは私の頭にをつけています。誰かを雇うとき、彼らが参加してから正確に3ヶ月後のカレンダーにマーカーを置きます。おそらくさらに少ないかもしれませんが、それは1ヶ月か3ヶ月の一つでした。私は覚えていないので、3ヶ月にしましょう。その3ヶ月のマークで、あなたは彼らがしている仕事を反省する必要があり、あなた自身に尋ねる質問は「私はこの人がいなくてもこのチームが走っていると想像できるか?」もし答えが「いいえ、、私は彼らが必要だ」でなければ、おそらく彼らを手放す時間です。」
「そしてそれは私が受け入れるのが難しいことでした。もし人がとても良くなくて、私が彼らなしで失敗するように感じないならば、あなたはおそらく彼らを手放すべきです。そして私は、pingで現在持っている従業員全員に、それは私、Mark、そしてJuliusだけです。会社は現在の状態では、私たち3人のうちの1人がいなくなれば存在しません。私はping、upload thing、T3 chat、これらすべてのものが、もし私がMarkかJuliusのいずれかを失えば、どのように機能するかを想像することができません。すべてが崩壊するでしょう。」
「そしてもし私たちが将来より多くの人々を連れてきて、彼らがここに3ヶ月いた後、私が同じように感じないなら、彼らはいなくなるでしょう。そしてそれは恐ろしいと考えることです。私が誰かを雇って、3ヶ月後に彼らを手放すかもしれないと考えるのは。しかしそれは非常に現実的な問題であり、もし私が再び雇うなら、私はそれを認識する必要があります。」
「AIエージェントも同じことをします。この偽の丁寧さは実際に…私はそれを丁寧と呼びません。私はそれを邪悪あるいは策略と呼びます。それがSinisterが実際に意味するものです。あるいは策略です。」
「これはPrimeと私が最も一致している点の一つです。私たちはこの特定の一つのことに非常に苛立ちます。この一般的な空間には、その全体の美学と外見が優しく、ポジティブな人であるように見えるが、舞台裏では最も有毒なクソで、絶え間ない問題を引き起こしている人々がいます。そしてそれは私の心を壊します。なぜなら、そのように親切で思慮深く優しく見える人々がいて、実際にそうだからです。」
「Kent Dodsは私が今まで会った中で最も親切な人間です。Kent Dodsについて悪口を言う人は誰でも無視されるべきです。なぜなら、彼らは彼に会ったことがなく、彼らはより良く知らないときに悪口を言っているか、あるいは彼らは会っていて、彼らは単に歯を通して嘘をついているかのどちらかです。Kentは実際にそのようです。それは信じられないです。私はこれまで彼のように本当に前向きな人に会ったことがありません。」
「そしてそれが私の心を壊すのは、この空間の他の人々が同様の光の中で見られていますが、閉じたドアの後ろでは全くそうではないからです。そして私は名前を言うつもりはありません。なぜなら、私がそれを始めるとすぐに、私はトラブルに巻き込まれるからです。しかし皆さんが多くのビデオを見ている人々がいます。彼らは本当に良いように見えますが、舞台裏ではひどいです。」
「策略的あるいは邪悪。私はここでPrimeに完全に同意します。私たちはこれらの同じ人々と何度も何度も経験してきました。Primeは空間のほとんどの優しい人よりもずっと優しいです。有毒は正しい言葉ではありません。有毒はあまりにも愚かで広すぎ、文化的に引き継がれています。それは単に意味がありません。あなたはより良い言葉が必要です。いいえ、誰かがLinus Techではないかと言いましたか?いいえ、Linus Tech Tipsは素晴らしいです。そして彼はのように見えます。Linusは彼が見えるのとほぼ同じくらい優しいです。彼はかなり大声で、かなり素早く不平を言いますが、あなたは知っています。」
「私はを信頼することの方が容易だと思います。なぜなら、彼らはより明らかに何かを隠していないからです。なぜなら、もし彼らがそうなら、なぜ彼らはになるでしょうか?優しい人々は今、私は本質的に懐疑的です。なぜなら、誰も100%の時間優しくはないからです。Kent Dodsを除いて。Kentは実際にそのようです。もし私が彼らが何かに悪口を言うのを見たことがなければ、彼らが実際にどのようであるかを見たことがないので、私は彼らを信頼するのが難しいです。」
「そのための言葉は…卑劣でしょうか?あなたはMelanとも言えるでしょう…あなたは使用できる多くの言葉がありますが、丁寧は正しい言葉ではありません。受益者を欺くかもしれます。ダンテの地獄の第九の輪の良い説明です。もしあなたが彼らのを指摘するのに十分に技術的でなければ、従業員は…」
「もし人々が他の人について悪口を言っているのを見れば、それは彼らがあなたについてもそうするということを意味します。あなたについて悪口を言う誰かよりも悪いのは、公に彼らがあなたと仲良しであるように行動し、プライベートでひどいことをする人です。その二つの間のギャップ、あるいはさらに悪いことに、彼らはあなたと一緒にいるときには優しいが、舞台裏であなたについて悪口を言う人々です。それらは超有毒でひどい人々です。できる限りそれらのを避けてください。」
「もし彼らが公に同じで、彼らが公に特定のイメージを出そうとしていないなら、はい、彼らははるかに信頼される可能性が高いです。しかし私の経験では、私たちのヒーローのほとんどと話し、この空間での永遠にいたことから、本当にポジティブな人々はほとんどの場合、舞台裏で非常に異なっています。私がKentを引用し続ける理由は、彼は天使だからです。そのお人は信じられないほど思慮深く親切です。すべてのKentに対して、Kentのフリをする10人がいて、実際には恐ろしいです。」
「そして、Primeや私のように舞台裏で行動する人々は、通常、彼らが期待するよりもずっとポジティブです。私はPrimeから早い段階で、私がオンラインでの方が個人的よりものように見えるというフィードバックを得ました。これらの人々を嗅ぎ出す方法は?過度にポジティブな人々を信頼しないでください。彼らを擁護しているネガティブな人々がいる場合を除きます。それを言うのはもっと的な方法ですが、本当のところ、あなたがKentを他の同様に優しく見える人々から区別できる唯一の理由は、私のようなも含めた優しい人々全員が、彼が素晴らしいと言って大規模に擁護しているからです。」
「そして、もしあなたがそのような人々を得ていないか、あるいは彼らに自分で会ったことがなく、彼らが同意していないことをどのように扱うかを見ていないなら、Kentは私に今日Discordで友達として追加し、私に挨拶し、彼が私の仕事に感謝していることを教えてくれました。何もないところから。Kentは私を一日呼んで、私が話したことについて彼が本当に良かったと思ったことを感謝するだけでした。そして彼は私がやったことが好きだということを知らせたかっただけでした。これは私がまだ誰でもなかった頃の初期でした。」
「それは私を壊しました。彼は非常に良いです。私はただKentについての時間を使って過ごしたくありませんが、私は実際に「Kentへの頌歌」のようなビデオをすることを考えたことがあります。なぜなら、彼はソフトウェアだけでなく、一般的に非常に特別なものを表しているからです。そして私は彼と彼のように行動するが、そうではない人々との間に線を引きたいです。なぜなら、彼は宝石だからです。私はKentについて10分間話してきました。このことを終わらせましょう。」
「どのように、あなたは変更をしなかった、それはあなたのポイントに戻ります。なぜ古典的に訓練されることが依然として役立つのか。あなたは、彼らが人間であろうとなかろうと、あなたのために働くすべての人々を呼び出すことができる必要があります。技術的にそれをできるのは超能力です。」
「ちなみに、Netflixでの私のボスは、これに非常に優れていました。彼は驚くほど優れていました。私の最後のボス、Chris Wineは非常に賞賛されています。素晴らしいボスです。本当に何が起こっているのかを知っていました。彼は本当に本当に素晴らしく、これは彼が優れていたことの一つです。そして私は彼がやったことを絶対に愛していました。彼は本当にすごく良かったです。」
「だから私は彼が非常に深い技術的な議論ができることを常に高く評価していました。そして彼はそこですぐに上にいました。ただ非常に素晴らしいことをしていました。それは本当にただ素晴らしかったです。私はTwitchでの私の管理で本当に幸運でした。一人を除いて、私のすべてのマネージャーはこのようでした。彼らはコーディングをしていなくても、非常に深い技術的であり、彼らが理解していない場所でさえ、難しいシステムの問題について話し、本当に良い音板になることができ、あなたと一緒に深いものを掘り下げることができます。それは最高でした。そして私はそれがエンジニアリングマネージャーだったと思っただけです。私が一人の悪いマネージャーを持つまで、私のキャリアの最初の5年間は。それは実際に本当に本当に楽しかったです。」
「はい、Chris Wine、W-I-NまたはE-I-N、Einは非常に非常に良いです。非常に素晴らしいポット。これらのツールはすべて最高のエンジニアに超能力を与え、悪いエンジニアも悪くしています。これはA Train Loopの創業者からの引用です。「コーディングがどのように変化したか。6ヶ月前から1ヶ月前までは10倍のスピードアップ、今では指数関数的な加速です。」」
「私たちはNetflixで全く同じメガネを持っていました。「100倍速くなった」とか「今は指数関数的な加速だ」などと言われています。AIが彼らを100倍速くしたと考える創業者は欲しくありません。もし選択肢があれば、私は実際にただ働きません。もし選択肢があれば、と意味します。私は今、私たちの感覚は、これはフェードではなく、これは消えていくものではなく、これは実際にコーディングの支配的な方法であり、もしあなたがそれをしていなければ、あなたは置いていかれるかもしれないということだと思います。」
「これはただここにあるものであり、あなたは置いていかれないでしょう。ツールは大きく変わるでしょう。正直に言って、Claude 3.5が登場したときとあなたが今持っているものを考えてください。あなたのClaude 3.5のスキルはすべて完全に価値がありません。変化の速さもあなたのスキルが窓の外に出ていく速さです。だから、ただ忘れないでください。」
「そして今、低レベルのコーダーの違いに注目してください。「そんな高レベルの低レベルのパーレは無用ではない」とGaryは言いました。Garyは最高です。彼はこのビデオで興味深いコメントをしましたが、私はGaryを愛しています。彼はとんでもなく多くのものについて本当に有用な洞察を持っています。これは明らかに彼の分野を過ぎていました。」
「Garyは良いです。私たちの話を待ってください。彼が知識豊富なことについて、皆さんはどれほど思慮深いか感銘を受けるでしょう。彼はそのものについては知っていますが、必ずしもこれについてではありません。あなたは置いていかれていません。置いていかれる?置いていかれるとは?プロンプティングスキル?いいえ、あなたはイエス・キリストが戻ってくるときに置いていかれています。」
「そして今、Kirk Cameronは「Left Behind」と呼ばれる、かなり下手に製作された映画に出演します。正直に言って、あなたはイエスが戻ってくることに準備ができていませんでした。それは彼らが意味することです。そして申し訳ありませんが、反キリストはここにいます。私たちは皆死にます。獣のマークは実際にはSam Altmanのjippy 4お尻の穴のロゴです。それが起こることです。ただ非常に悪い未来です。ここにいます。私は皆さんがそれだと知っています。前額に大きなお尻の穴です。」
「クレイジーですね。OK、そこには多くの良い洞察がありました。私たちは非常に異なる視点から世界を見ていると思います。そして誰かの別の視点を見るのは常に良いことです。そして私は、世界の大部分の価値…良いエンジニアになることの価値は良いエンジニアになることではなく、良いエンジニアの価値は莫大なお金を稼ぐことができる誰かになることだと認識します。少なくともこれらの人々にとって、価値は彼らがあなたを雇って、彼らのお金に100倍のリターンを得ることを望むことです。」
「だからそれを覚えておく必要があります。そしてそれは良いテイクアウェイです。特にあなたが仕事を探しているか、関連性を持とうとしているなら、彼らが実際にここで何を求めているのかを考えることは良い洞察です。それは人気の所謂未来が今どこにあるかについての良い洞察です。そして私はわかりません。それは単に興味深いことであり、私にはウェブサイトの立ち上げと構築において、今私は今までで最悪であると思いますが、ツールを構築することにおいては今まででもっとも良くなっていることに気づかせてくれます。」
「これは、私とPrimeの間の最大のギャップだと思います。私は今、これまで以上にコードを書いています。特に今年の初め、1月には2024年の半分よりも多くのコードを書きました。私は今、ロックされています。私はウェブサイトの構築、システムアーキテクチャの構築、システムのスケーリング、チームのような航海のドラマがより優れています。私が行う投資と顧問の仕事のすべてのために。昨年より良くなかったものはほとんどありません。それは私がこれまで十分に考えていなかったことですが、私は実際に現時点で、私が使用しているツール、私の考え方、私がしている仕事、そして私が構築しているものですべてのアカウントでより良くなっています。」
「私のアップロードスケジュールはあまり一貫していません。それはあると思います。しかし他の点では、私は現在すべての気筒で発射しています。そして私は単にどれだけ長く続けられるか見たいと思います。私は数週間前に少しバーンアウトの瞬間を初めて持ちましたが、それからかなり良く抜け出していますが、私の人生が今や何であるかという混沌を管理することは、私が日々持っている最大の課題です。しかし私もまた…」
「私には頼りにする家族がいません。そして他のものが私の人生よりもPrimeの人生をはるかに重要にします。私はいつでも私の生活方法を完全に変えることができ、それは問題ありません。だから単なる違いです。私がよく考えることですが、私は今、エンジニアリングの側に本当にロックインしており、さまざまな企業が*を理解し、スケールするのを助けています。だから私は最近行ってきた仕事を本当に誇りに思います。そして私が出しているもの、ランダムなCLIツール、人々が使うウェブページ、T3 chatのようなクレイジーなもの、そしてそれらの間のすべてのものです。」
「だからそれは単なる…しかし、それがトレンドのスキルセットですか?それはおそらく小さな企業ではあまりトレンドではないので、私はそこにいません。私はそこにいたいと思わせるスタートアップに切り替えたい場合、私はボーグなツールセットを変更する必要があります。それは、クレジットカードを気にせず、一部の自動スケーリングサーバーリスなどに投げることができるウェブサイトをスケーリングし構築する究極の能力が必要です。」
「私はウェブサイトを簡単に立ち上げることができません。Laravel、Laravelクラウドを使用してそれを起動し実行することはできます。私は1日半でNextJSを学び、NextJSで非常に素晴らしいものを立ち上げることができるでしょう。それは私が使用したいスキルセットではありません。それはまた改善し、よりよくしたいスキルセットではありません。私はReactに再び優れることを望んでいません。私はリアクトに優れていました。もう素晴らしくなりたくありません。それは私に喜びや充実感をもたらすことではなく、コーディングについて興奮させることではありません。」
「だから私は自分自身を他の開発者のためのツールを構築することに向けてきました。それが私が常に好きだったことであり、それが私です。それが私がいる場所であり、それが私が望むところです。しかし彼らの話を聞いていると、そのスキルセットは必ずしも素晴らしい創業者のスキルセットではないと認識する必要があります。多くの創業者の会社があります。」
「Turoを考えると、ちなみに彼らはもう私に支払っていません。スポンサーではありません。しかし私はまだ彼らを強くお勧めします。あなたは株式を持っています。それでもまだ開示する必要があります。よく。ただ冗談です。開示とバイアスのものはすべて混乱しています。Turoは非常に技術的ですが、私は言われていますが、創業者はLinuxのコア貢献者であり、彼らは素晴らしいです。彼らはスタートアップです…」
「あなたがここで見落としていることは、あなたが言っていることすべては実際に無意味です。それは実際にはあなたが思うように進むことはありません。とにかく、素晴らしい話です。良い仕事。良い仕事。ゲイリー、あなたのロゴが大好きです。彼があのとても美しいロゴを開発するのに2年かけたとはまだ信じられません。私はその5年でさえ開発できないと思います。それはクレイジーです。良い。これは私が今まで見た中で最高のジェネレーションです。
明らかに非常に興味深く、洞察に満ちた混沌とした混乱でした。最後まで見てくれてありがとうございます。
一方では、AIによって80~95%のコードが書かれたと主張する企業の視点を聞くのは本当に興味深いです。一方、私が聞きたいのは反対側です。おそらくYCを通じてではないかもしれませんが、誰かが適切なアクセスを持っていれば、現在10〜20%未満と答えた企業にとってはどのようなものか見るためのフォローアップをしてほしいです。
今年の間に形成され、YCに入った企業で、AIツールが彼らが使おうとすると実際にそれらを傷つけるほど難しく、OBDの深いユニークさと技術的なことをしている企業はどのようなものでしょうか?彼らは何をしていて、何を構築していますか?それらの企業は、さらに興味深い洞察に満ちているだろうと思います。
十分なAIについて話してきました。これは1時間半かかるはずだったのに、それよりもはるかに長くなりました。午後9時近くなったので、これで終わります。最後までお付き合いいただきありがとうございます。次回まで、平和を!オタクたち。


コメント