ThePrimeagen: Программирование, AI, ADHD, Продуктивность, Зависимость и Бог | Подкаст Лекса Фридмана #461

Lex Fridman22 марта 20251 912 20937 89013 мин чтениясегодня, 14:10

Коротко

Майкл Полсон (ThePrimeagen) прошёл путь от подростка с порно-, наркотической и алкогольной зависимостью, попыткой суицида и средним баллом 2.14 до инженера, отдавшего Netflix десять лет и построившего карьеру стримера. Ключевая идея карьеры: худшее в программировании это когда ты заранее знаешь всё, а лучшее приходит через боль и тысячи часов, потому что «работай умнее, а не усерднее» он считает вредной ложью. Он раскладывает по полочкам инфраструктуру Netflix, YouTube и Twitch, объясняя, почему у Netflix «фундаментально проще» задача кэширования, и рассказывает, как в одиночку положил весь UI Netflix одним запросом через уязвимость Falcor. Его технический символ веры: asserts везде, детерминистическое симуляционное тестирование в духе NASA и TigerBeetle, NeoVim с Vim-моушенами, Kinesis, один монитор и навигация в одну клавишу. По ИИ он и восторжен, и насторожен: инструмент хорош на предсказуемом и документированном, беспомощен в отладке и на фронтире, а совет «не осваивай хард-скиллы, положись на ИИ» он называет губительным для молодых.

Главный тезис

Мастерство и смысл рождаются не из ярлыка «умного» решения, а из готовности долго и болезненно работать над тем, что тебе дорого, будь то рекурсия, брак, вера или собственный редактор, и именно эта готовность делает человека незаменимым в эпоху ИИ.

Ключевые идеи

  • 1:22: момент влюблённости в программирование пришёл на связном списке: узел, содержащий сам себя, означает бесконечность, выразимую в конечном коде.
  • 11:13: худшая часть программирования не сложность, а её отсутствие: работа без unknown unknowns, где остаётся только скорость набора.
  • 8:34: рекурсия не давалась не из-за непонимания, а потому что не было задачи, где она осмысленна; лабиринт всё открыл.
  • 9:19: понять рекурсию значит совершить прыжок веры в иной способ смотреть на мир, против «конформистских догматичных» инструкторов Java.
  • 32:12: школьная иерархия это greedy search по дерьмовой objective function; те, кто выигрывает в школе, редко выигрывают в жизни.
  • 49:23: порно-зависимость победил осознанием, что отнимает что-то у будущей жены, а не заменой на девушку.
  • 1:11:35: «путь важнее цели» логически абсурден: это значит, что ты вечно движешься к худшему.
  • 1:05:16: от трёх провалов по пре-калку до высшего балла на курсе; rote-повторение и часы в седле, а не талант.
  • 1:32:15: научился printf-отладке на роботах для государства, где машину нельзя залогинить и остаётся только печатать.
  • 1:35:12: переписал «глупый» код коллеги и построчно воспроизвёл его; чужой код это уже решённая задача, читать выгоднее, чем переписывать.
  • 1:40:12: уязвимость Falcor (repulsive grizzly): один запрос с materialize плодит миллиарды объектов в JVM и кладёт машину; 50 запросов кладут весь UI.
  • 3:07:24: asserts в позитивном и негативном пространстве в каждой функции, всегда включены, плюс детерминистическое симуляционное тестирование ловит баги, которых иначе не найти.
  • 3:36:02: Vim-моушены это язык описания правок текста; при знании языка и задачи скорость набора становится реальным бутылочным горлышком.
  • 3:28:24: весь сетап заточен под одну клавишу на действие (StarCraft-мышление), потому что «search fatigue» глазами это провал.
  • 4:09:07: ИИ хорош на предсказуемом и хорошо документированном (TypeScript), плох на Zig, на фронтире и в отладке.
  • 4:37:35: LLM выполняет задачу до уровня понимания промпта, но не заботится о ремесле, не переделывает по своей воле, не имеет вкуса.

Почему это важно

Разговор попадает в нерв момента: индустрия спорит, заменит ли ИИ программистов, а Полсон переводит спор из паники в стратегию. Он проговаривает, кто в выигрыше и кто в проигрыше: молодым, кому советуют не учиться хард-скиллам, он предрекает потолок, привязанный к качеству модели, и «чазм», где джуны остаются джунами навсегда. Он называет игроков и их интересы прямо: Microsoft через VS Code, Copilot и GitHub как loss-leader затягивает разработчиков в ловушку switching cost (EEE); Meta открытием LLaMA делает шаг, которому он не находит циничного объяснения; Cloudflare и bug-bounty программы захлёбываются в фейковых LLM-отчётах о несуществующих уязвимостях (история мейнтейнера curl). За кадром маячит вопрос лицензий: если модели учили на GPL-коде, регулятор Европы теоретически может заставить открыть исходники, и тогда случится «fire sale of code». Ставка в игре не только рабочие места, а сам характер профессии и то, кому достанется рычаг создания софта.

Идеи

  • Клеточные автоматы: простые правила соседства порождают бесконечную сложность, «многие pothead-моменты» на созерцании этой красоты.
  • Узел связного списка знает только соседа, как человек знает только свою локальную сеть из миллиардов; данные как метафора людей.
  • Разработчики как стейкхолдеры лучше обычных пользователей: то, что им нужно, совпадает с тем, что они хотят («не быстрее лошадь, а автомобиль»).
  • Netflix решает «фундаментально проще» задачу доставки, чем YouTube: контент известен заранее, можно пре-кэшировать Stranger Things в каждый OCA по миру.
  • YouTube не может полагаться на кэш, потому что релевантность прямо привязана к новизне items, отсюда невообразимая caching-сеть.
  • Twitch тяжелее всех: ингест видео и раздача в реальном времени с транскодингом на лету.
  • В большой компании нет «маленькой фичи»: разворот порядка серий Black Mirror потребовал 20 инженеров и совещаний с VP.
  • «Капитан корабля»: агентность собрать инженеров из всех команд ускоряет big-company до трёх недель и отбирает зрелых людей, которые умеют убеждать, а не только кодить.
  • «Swim» (перемотка) как термин, вероятно, придумали 10 человек в Netflix, и он утёк наружу.
  • Черта социальной инженерии (звонок «Шэрон, ваш пин устарел?») эксплуатирует любовь людей исправлять неверную информацию.
  • Prompt injection почти неотразим: если это «калькулятор слов», подобрав вход, можно выбить его за границы дозволенного.
  • «Denial of attention» как новый вектор: LLM-генерённые фейковые баг-репорты изматывают open-source мейнтейнеров (кейс Polykill).
  • Мышь как источник тревоги: смотреть глазами и искать нужное окно хуже, чем нажать одну клавишу.
  • Йога-мяч вместо стула без опоры на спину: спинка провоцирует слауч и «chicken necking».
  • Правило редактировать RC-конфиг раз в год, чтобы не проваливаться в бесконечную side-quest оптимизацию.
  • Kinesis делает исправление ошибки (backspace) физически приятным, а не наказанием; «ошибки приятны».
  • Harpoon: закрепить 3-4 «power-файла» на одну клавишу, потому что в моменте работаешь с малым срезом файлов.
  • Дворак с симметричной раскладкой символов, сделанный в 2017 от боли в руке и страха закончить карьеру.
  • Terminal.shop: кофе, который можно купить только через ssh terminal.shop, как антимерч, за который не стыдно.
  • Читать language reference целиком (по методу Митчелла Хашимото) строит «фоновую модель» языка перед тем, как писать код.
  • Скролл соцсетей делает человека тревожнее; «чириканье птицы в Instagram» это другое чириканье, чем в реальности.
  • Liberty это не свобода делать что хочешь сейчас, а свобода делать то, что ты действительно волишь.

Инсайты

  • Понимание измеряется задачами, которые у тебя есть под рукой: без правильной задачи навык кажется отсутствующим, хотя он уже есть.
  • Продуктивность не единственная метрика: для сложного и трудного нужна глубина, а не только скорость, и ИИ, оптимизирующий скорость, обменивает знание на темп.
  • Разрыв между чтением и написанием кода это два разных уровня навыка; ИИ-ассистенты смещают человека в режим ревью, где он менее внимателен.
  • Чем лучше программист, тем меньше ему помогает ИИ и тем больше мешает; выигрыш от ИИ обратно пропорционален мастерству на текущем фронтире.
  • Знание низкоуровневых абстракций улучшает управление высокоуровневыми: понимая, как работает компьютер, лучше пишешь на Python и лучше «рулишь» ИИ.
  • Работа с ИИ это навык эмпатии к системе без здравого смысла и без долгой памяти: надо явно проговаривать несказанное, как интерну с чистого листа.
  • Боль и торможение это не баг обучения, а его механизм: инсайт вырастает из депрессии после поражения, как цветок, и цикл повторяется.
  • Мастерство ощущается простым только по прибытии; путь для большинства остаётся трудным, а «умный путь» находят лишь через тяжёлый.
  • Вкус это способность знать, когда остановиться: чувствовать «вот оно» вместо бесконечных улучшений, чего ИИ лишён.
  • Незаменимость масштабируется вместе с размером проблемы, которую ты способен удержать в голове вверх и вниз по стеку.
  • Зрелость и эмоциональная устойчивость важнее диагноза: перечитывать страницу 18 раз это не про интеллект, а про решение, которое можно принять прямо сейчас.
  • Ярлык «умного» решения содержит скрытое допущение, что всё должно даваться легко, и потому заставляет старающихся чувствовать себя неудачниками.

Фреймворки

  • 4:09:07: Дихотомия применимости ИИ: предсказуемое и документированное = ИИ полезен; непредсказуемое, фронтирное, слабо документированное = ИИ бесполезен или вреден.
  • 3:06:59: Метод asserts (NASA/TigerBeetle): в каждой функции два assert (позитивное пространство «это должно случиться» и негативное «этого не должно быть никогда»), включены и в проде, и в тестах, поверх детерминистическое симуляционное тестирование прогоняет «200 лет» случайных данных.
  • 13:20: Вертикали программирования против «twitter-миопии», что есть только web: embedded/robotics, ML, networking, ОС, компиляторы, performance; сам он «tools engineer / generalist».
  • 57:08: Два лагеря наркозависимых: любители опиатов и любители аптеров почти не пересекаются; тревога и трилл это одно ощущение в разном освещении.
  • 2:39:56: Категории языков для изучения: «Lucy/dynamic» (Python, JS, Lua), «strict/static» (Rust, Go, C++), функциональные (Elixir, OCaml, Odin) и «золотая середина» Zig между C и Rust.

Цитаты

«the worst aspect of programming is when you know everything», 11:06 худшее в программировании это когда ты знаешь всё

«There is no pornography that will ever give you that satisfaction you're looking for. That's the reason why it's addicting.», 50:59 Никакое порно не даст тебе того удовлетворения, которое ты ищешь. Именно поэтому оно и затягивает.

«I don't think there's silver bullets», 50:00 Я не думаю, что бывают серебряные пули

«the only way I can learn how to work smart is by working very, very hard», 1:07:20 единственный способ научиться работать умно это работать очень, очень усердно

«I think the phrase should be work hard get smart», 1:10:44 Фраза должна звучать так: работай усердно, поумнеешь

«that literally is what it means. Enjoy the journey, celebrate the destination», 1:11:06 вот что это буквально значит. Наслаждайся путём, празднуй цель

«be a bad motherfucker. It's a chance to try stuff out», 33:20 будь крутым засранцем. Это шанс попробовать всё

«those people that win the game of high school are very often not going to be the people that win the much more exciting beautiful game of life», 36:43 те, кто выигрывает в игру под названием школа, очень часто не выигрывают куда более захватывающую и прекрасную игру жизни

«I am the idiot in this situation because it was already a solved problem», 1:35:15 идиот в этой ситуации именно я, потому что задача уже была решена

«I want an intern that cares. You don't get that out of an LLM. It does not care.», 4:37:35 Мне нужен интерн, которому не всё равно. От LLM этого не получишь. Ей всё равно.

«my first memories of my first are drowned in a sea of parentheses», 6:03 мои первые воспоминания о первом разе тонут в море скобок

«I really wanted to make her proud. Love you, mom.», 1:12:30 мне очень хотелось, чтобы она мной гордилась. Люблю тебя, мам.

«you will never know your capacity for love until you have kids», 5:01:02 ты никогда не узнаешь свою способность любить, пока не заведёшь детей

«there really is only one cure for hate, which is forgiveness», 5:14:06 у ненависти есть только одно лекарство, и это прощение

«I don't want a perfect editor because that is a pursuit that will never stop», 3:25:36 мне не нужен идеальный редактор, потому что эта погоня никогда не кончится

«most of software is old, crappy software that someone has to maintain», 1:51:25 большая часть софта это старое дерьмовое ПО, которое кто-то должен поддерживать

«Every assumption we've been told is a lie. No one had any idea what they were doing.», 1:28:57 Каждое допущение, что нам говорили, оказалось ложью. Никто не понимал, что делает.

«I turned it from gigabytes into kilobytes», 2:52:45 я ужал это с гигабайтов до килобайтов

«it says a lot about your character as a programmer, if you don't know how to use your editor well», 3:45:04 это многое говорит о тебе как о программисте, если ты не умеешь толком пользоваться своим редактором

«no drugs and no drinking means one day you can be the president of the United States, kids», 1:01:27 никаких наркотиков и алкоголя, и однажды ты станешь президентом США, детишки

Факты

  • Полсону 38 лет, женат, живёт в Южной Дакоте (вырос в Монтане, Bozeman, учился в Montana State University).
  • Отец умер, когда Майклу было 7; впервые столкнулся с порно в 4-5 лет, начал курить марихуану в 8 (старший брат), впал в наркотики (LSD, грибы, мет) и алкоголь в подростковом возрасте.
  • Средний балл в школе 2.14; учитель написал от руки записку, что он худший ученик за её практику; пре-калк проваливал трижды, затем стал лучшим на курсе по calculus и Diffy Q (единственный из 400 закончил финал).
  • Пытался покончить с собой при окончании школы; около 19 лет пережил «присутствие Бога» и переломил жизнь; полностью бросил зависимости примерно к 22 годам.
  • Проработал в Netflix около 10 лет, преимущественно в TV-команде; первый менеджер Jeff Wagner; работал на PlayStation 3, писал WebSocket-фрейминг, Falcor, переход структуры данных Lolomo в Lororomo.
  • Уязвимость Falcor получила имя repulsive grizzly; была в проде годами, откатить можно было только к 2011; статья об этом не упоминает его как первооткрывателя (что его задело).
  • Стримит около 7 лет, начал через благотворительность Extra Life в июне 2018, сначала как Fortnite-стример; в апреле (прошлого года на момент записи) ушёл на фултайм после challenge coin от Pirate Software.
  • Первые стартапы: text message marketing «via text» (2010) с short code, повторил судьбу отца, чей стартап телефонных карт в 1991-92 опередил рынок лет на шесть; оба провалились как «слишком ранние».
  • Раньше писал стартап на PHP 5.2 + jQuery; вдохновился фильмом «The Social Network» и в ту же ночь начал первый стартап; программировал по 24-36 часов подряд.
  • Ник The Primeagen от финального босса Turok 2: Seed of Evil (Nintendo 64, 1998); поменял ник около 2017-2018 как «Rage Against the Machine» против претенциозной tech-культуры (упомянут кейс с Ken Wheeler и «circle game»).
  • Псевдоним получен: Copilot ранний доступ дал лично Nat Friedman, увидев его Twitch-клип.
  • Сетап: Kinesis Advantage (спонсор, но пользовался до спонсорства; первые 3 года получал бесплатные клавиатуры), Дворак-кастом, NeoVim, Linux + i3, один монитор, йога-мяч.
  • Инструменты и люди Terminal.shop: Dax (THDXR, SST), Adam (веган), Liz, дизайнер David Hill (Laravel); идея родилась в ночь боя Mike Tyson.
  • Друг и «один из самых талантливых разработчиков» Tiege (TJ Devereez, @teej_dv), 30 лет; покойный друг Guy Serino назван «величайшим инженером, которого он встречал».
  • Он сравнивал в игре tower defense на Zig модели Claude 3.5 и OpenAI: Claude выигрывал днём, OpenAI ночью, без объяснимой причины (спикер сам не знает, почему).
  • Stack Overflow developer survey (обсуждается в эфире): ~61% используют ИИ, ~25% не планируют; только ~2.7% «высоко доверяют» вывода ИИ; ~81% называют главным плюсом рост продуктивности.
  • YouTube (по словам Lex): 100+ млрд просмотров в день, 1+ млрд часов просмотра, 1 млн часов видео загружается ежедневно.

Источники

  • Люди/проекты: Ray Babcock (преподаватель data structures), Jeff Wagner, Guy Serino, Tiege/TJ Devereez, Dax/THDXR, Adam, Liz, David Hill, Nat Friedman, Mitchell Hashimoto (создатель Ghostty), Jonathan Blow (язык Jai), Yoran (CEO TigerBeetle), John Carmack, Chris Lattner (Swift), Peter Levels, DHH, Dave Plummer, Wes Boss, Kevin Mitnick.
  • Технологии/инструменты: NeoVim, Emacs, Vim, Kinesis, Harpoon, Tmux, i3, FFmpeg, Falcor, RxJS, Groovy/WX, Zig, Jai, Go, Rust, C/C++, Lua, Elixir, OCaml, Odin, Lisp/Clojure, jQuery, PHP, SQLite, Cloudflare, Devin, GitHub Copilot, Cursor, VS Code, TigerBeetle, ElevenLabs.
  • Книги/культура: «Wheel of Time» (Robert Jordan), Deitel & Deitel «Learn Java», «Lord of the Rings»/«The Hobbit», Graal Online (создатель Lord/Talk), Turok 2, статья мейнтейнера curl «The I in LLM stands for Intelligence», цитата Paulo Coelho в финале.

Рекомендации

  • Каждому программисту хоть раз написать собственный язык, чтобы получить иной взгляд на устройство вещей.
  • Учиться слепой печати и своему редактору «насквозь», чтобы освободить всю мыслительную мощность под задачу.
  • Ставить asserts везде и падать намеренно при невозможном состоянии, минимизируя число багов, которые видит пользователь.
  • Первый язык для новичка (спорно, но искренне) JavaScript за счёт выразительности и мгновенной визуальной обратной связи; для ML/данных Python.
  • Читать чужой код и осваивать printf-отладку вместо переписывания с нуля, но писать с нуля, когда нужно понять концепт (TCP-сокет, парсинг HTTP).
  • Молодым: развивать хард-скиллы, а не полагаться целиком на ИИ; играть с ИИ ради обучения, но оставаться водителем.
  • Осваивать редактор с кривой обучения (Vim-моушены), не «половинчато» использовать инструмент, в котором проведёшь 50 000 часов.

Итог

Всё, что делает тебя незаменимым и живым, программирование, брак, вера, даже собственная клавиатура, покупается только тяжёлым трудом над тем, что тебе дорого, и ни ярлык «умного пути», ни ИИ этот труд за тебя не отменят.

readmint Pro

То, что вы только что прочитали — это саммари readmint

Оформите доступ — и получайте такой же разбор по любому своему видео. Вставляете ссылку, через 2–3 минуты готов пересказ с главными тезисами и цитатами. Без воды и без перемотки.

  • Безлимит саммари — сколько угодно видео
  • Главные тезисы и цитаты без воды
  • Приоритет в очереди обработки
  • Без рекламы и сторонних блоков
Получить такое же саммари
Доступ откроется сразу после оплаты — вставите ссылку и начнёте.

Или 4 900 ₽/год — доступ откроется сразу после оплаты.

Ещё с канала «Lex Fridman»

Все видео