Организованное программирование
Podkast haqida
Пишем код, за который не стыдно. Разбираем базу, даем рекомендации и встречаемся с умными людьми
Janrlar va teglar
Мы с Саматом раньше лично не были знакомы, но всегда крутились в одной технической тусовке. Я давно хотел записать с ним выпуск, потому что мне интересен путь, который он прошёл — как технарь превращается в предпринимателя. Я регулярно делаю подкасты на эту тему, и нам было важно разобрать его историю: он пришёл к бизнесу через запуск собственного аутсорса, а не через стартапы. В этом разговоре мы обсудили, как из разработчика вырастаешь в владельца сервиса, переход от аутсорса к продуктам, изменения на рынке и почему продажи часто важнее кода. Мы говорили о найме и проверке разработчиков, об испытательном сроке как фильтре, а также о скучных, но прибыльных нишах, автоматизации рутины и подводных камнях работы с клиентами.
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239167
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
Курсы по программированию — начни учиться уже сегодня: https://ru.hexlet.io/courses
Книга "Профессия «Программист»" - https://code-basics.com/ru/book
Вопросы для собеседований - https://github.com/Hexlet/ru-interview-questions
Тестовые задания - https://github.com/Hexlet/ru-test-assignments
*Деятельность издания «Медуза» (СМИ, которое является в России иноагентом) признана нежелательной.
*Компания Meta признана экстремистской и её деятельность запрещена в России
В этом выпуске мы поговорили с архитектором и преподавателем Кириллом Витчинкиным о том, почему DDD переживает второе рождение, как его стратегия, тактика и единый язык спасают микросервисы от «тысячи сервисов ради хайпа», и чем Event Storming помогает вытянуть скрытые знания из трейдеров, курьеров и кол-центров, прежде чем писать код. Обсудили как доменные события делают тесты чище, фичи быстрее, а нервы крепче.
Подписывайтесь, ставьте лайк и делитесь в комментариях: сколько микросервисов живёт у вас, кто уже внедрил DDD в проде и где-то по дороге сломал себе мозг.
В этом выпуске у нас в гостях Java‑эксперт Евгений Борисов, и поговорим мы о самом интересном стыке искусственного интеллекта и разработки. Обсуждаем, как использовать локальные LLM‑модели на Mac M‑серии, зачем нужны Spring‑advisers, и как выстроить агентную архитектуру, в которой ассистенты не просто отвечают, а уточняют, учатся и запоминают контекст с помощью RAG и Spring Data.
Евгений расскажет про новый подход — Game‑Driven Development, где разработка превращается в игру с персонажами, а кодирование становится увлекательным и живым процессом. Также затрагиваем PDD, сравниваем Spring и Quarkus, и разбираем, как экономить ресурсы, не теряя в возможностях.
Если вы хотите научиться строить AI‑ассистентов, глубже понять архитектуру современных приложений и узнать, как внедрить AI в рабочие процессы через Java‑экосистему — обязательно посмотрите это видео.
В этом выпуске мы поговорили с Владимиром Алиповым — нейробиологом и популяризатором науки, о том, действительно ли «математический склад ума» врождён, как работают IQ-тесты и почему поменять профессию в 40 лет — реальный шанс, а не приговор. Обсудили роль интереса против генетики, разобрали мифы о способностях программистов и поделились приёмами сохранения «свежего» мозга.
А так же:
- Как «g-фактор» помогает в любой умной работе, а не только в высшей математике.
- Почему интерес к алгоритмам важнее любви к формулам, если мечтаете о коде.
- Что общего у хоккеистов и айтишников, и при чём тут месяц рождения.
- Как правильно читать результаты IQ-тестов, чтобы не сломать мотивацию.
- Какие привычки сохраняют мозг острым после сорока и кто такие супер-эйджеры.
Много научно подкреплённых инсайтов, полезных как новичкам, так и опытным разработчикам. Ставьте лайк, подписывайтесь и делитесь в комментариях своим опытом: помогали ли вам когнитивные тесты выбирать путь в IT?
(00:00) - Старт: о чём выпуск и зачем слушать (01:41) - «Математика vs код»: правда ли она нужна программисту (04:55) - Конкретика абстракции: как мозг щёлкает режимы (05:58) - Технарь или гуманитарий: есть ли биобарьер для программирования (08:54) - Генетика таланта: бывает ли «врожденный программист» (11:49) - Карл Линней и сила классификации: уроки истории науки (13:09) - Почему нас тянет в IT и математику (16:18) - Систематизаторы‑перфекционисты: портрет разработчика (17:19) - Выгорание‑1: как рутина тушит мотивацию (25:22) - Студенты‑«отработанный материал»: столкновение с реальностью (26:37) - Выгорание‑2: психология против физиологии стресса (32:44) - Когда психология сдаётся: нейрохирургия в деле (36:25) - Химия мысли: вербальная нейромодуляция на практике (38:34) - «Математический склад ума» — иллюзия или факт? (45:00) - Кто придумал IQ и почему тест жив до сих пор (47:24) - IQ‑тест ‑ предсказатель карьеры? Проверяем миф (58:56) - МРТ мозга гения: что видно на снимках (01:00:26) - Высокий IQ ≠ научная карьера: клуб умников под вопросом (01:04:56) - Гендер и гик‑культура: откуда разные интересы (01:08:54) - Вундеркинд ‑ ловушка: когда ранний успех мешает (01:11:01) - IQ и инженерный успех: корреляция или надежда (01:13:11) - Круглый люк & Co: за что ненавидят «классические» собесы (01:22:03) - 7‑часовой тест ФСБ: проверяют «как именно» ты решаешь (01:23:49) - Высокий IQ ≠ великий лидер: где ломается формула (01:29:59) - Генетика vs удача в спорте: кто побеждает (01:32:56) - Море тестов IQ: каким стоит доверять (01:36:56) - Качается ли IQ: тренировки, перерывы, суровая статистика (01:44:45) - Мозг 40+: когда реально начинается старение (01:47:49) - «Супер‑эйджеры»: люди, чей мозг не стареет (01:48:53) - IQ и болезнь Альцгеймера: миф о защите? (01:50:50) - Когнитивные тесты вместо интервью: будущее HR или антиутопия (01:56:42) - Этика отбора: можно ли сортировать людей по цифрам (01:59:40) - Финал: выводы и благодарности ★ Support this podcast ★В этом выпуске мы поговорили с Денисом Черновым о будущем фронтенда и том, как новые инструменты меняют работу разработчика. Обсудили скоростной TypeScript на Go, «суперстек» вокруг Vite и сборщики на Rust, новые линтеры-форматтеры (Oxlint, Biom) против классики ESLint/Prettier, а также «островной» рендеринг, серверные компоненты React и борьбу за Core Web Vitals. Разобрали стратегии React, Vue, Svelte и Nuxt, влияние поглощений Versel и то, как ИИ-инструменты меняют подход к коду. Вы узнаете, какие тренды стоит изучить уже сегодня, чтобы не отстать завтра, и почему иногда выгоднее выбрать «не-React»-фреймворк.
(00:00) - - Введение и анонс (00:45) - - Перенос TypeScript на Go (02:02) - - Проблемы с локализацией и экосистемой фронтенда (04:00) - - Сравнение инструментов сборки (06:36) - – Обзор Vyro и переход на Roll(d)own (10:23) - – Преимущества и проблемы Bio.mi (10:58) - – Конфигурация ESLint: сложности и конкуренты (14:07) - – Роль Prettier и взаимодействие форматтеров и линтеров (19:31) - – Развитие JavaScript и усталость от Babel (21:53) - – Инфраструктура фреймворков и IDE (25:08) - – Shadow realm и пайплайн-оператор (29:15) - – Состояние и будущее TypeScript (31:40) - – Успех Kotlin и концепции типов (38:58) - – Макросы, AST и трансформации кода (49:11) - – Влияние TS и аналогия с навигатором (51:59) - – ИИ в разработке: плюсы, минусы и баланс (58:09) - – Ответственность и беспомощность при работе с ИИ (01:01:38) - – Будущее программирования и фреймворки (01:16:17) - – Концепция «островов» и альтернативный подход (01:20:47) - – Astra vs React и серверные компоненты (01:32:15) - – Проблемы JSON-конфигураций и пакетные менеджеры (01:37:02) - – Влияние Vercel, Next.js и экосистем OSS (01:46:50) - – Заключение ★ Support this podcast ★В этом выпуске мы поговорили с Александром Вершиловым — разработчиком с 15-летним опытом и руководителем отдела разработки в Сириус.Курсах. Мы устроили дебаты про ORM. Обсудили чем ORM отличается от query-builder’а, разобрали типичные проблемы N+1 и ленивых связей, сравнили подходы Code-First и Data-First к миграциям, а также поделились приёмами, как обойтись без ORM и не потерять производительность.
Вы узнаете, когда строгая типизация (на примере Haskell) спасает проект, какие настройки ORM могут «положить» продакшен и какие практики позволяют держать базу под контролем. А так же решите для себя, брать ли ORM в следующий проект или сразу писать SQL.
В 2010 году я много собеседовал начинающих разработчиков, и одним из них был Артём Малышев. Он не прошёл испытательный срок, но само собеседование и несколько недель работы с нами оставили у него сильное впечатление и задали вектор всей его карьеры.
С тех пор прошло больше десяти лет. Артём успел поработать на фрилансе, получил грант Mozilla, стал контрибьютором Django Channels, и сейчас входит в core-команду Django. Недавно мы снова пересеклись — и я пригласил его на подкаст, чтобы разобрать, как складывался его путь и что на него повлияло.
Обсудили:
- что давал ранний фриланс на Upwork и почему там важно сразу считать стоимость не только работы, но и валютного контроля;
- как автоматизация антивирусных отчётов превратилась в первый серьёзный питон-опыт;
- Как один твит, XSLT-плагин и 20 чашек кофе привели к внезапному контракту в Германии;
- коридорный разговор на конференции, который привёл к гранту Mozilla и работе над Django Channels;
- историю о контрибьюторе, продавшем поддержку библиотеки без ведома автора — и чем всё закончилось.
А ещё — поговорили о росте. Сколько времени занимает развитие навыков? Что на самом деле даёт переход от рутинных задач к контрибьютам в open source? И почему нет коротких путей от джуна из региона до ключевого участника глобального проекта.
(00:00) - — Введение и анонс (03:15) - — Первая встреча: момент, когда всё изменилось (04:35) - — Карьерное начало Артёма: первые шаги в IT (08:16) - — Взлёт Ruby & Rails: почему они стали такими популярными (12:58) - — Насмотренность и опыт: как это влияет на качество кода (16:45) - — Реалити-чек: смена целей и взглядов (20:56) - — Курьёзное интервью: «заводная» путаница (24:13) - — Проект M3: первые шаги в новом месте (28:18) - — Заказ от Positive Tech: опыт корпоративного проекта (33:42) - — Антивирусы и ограничения: столкновения с корпоративщиной (36:16) - — Рефлексии: переход в open-source (40:21) - — Удалёнка: как они перешли на дистанционку (44:57) - — Влияние Bundler: роль инструментов для Ruby (48:18) - — Появление Poetry: реакция сообщества (53:26) - — Менеджеры версий: универсальные решения (58:23) - — Пакетный хаос: проблемы на GitHub (01:02:39) - — Первый фриланс-заказ: опыт и выводы (01:07:59) - — XML Conf в Праге: впечатления с конференции (01:10:33) - — Асинхронность в Python/Django: зачем и кто за этим стоит (01:15:43) - — Под капотом: архитектурные сложности (01:22:07) - — Итоги Channels: успех или тупик (01:25:02) - — Генераторы в практике: сложности внедрения (01:30:34) - — Контрибьютинг в крупные проекты: как это сделать (01:34:52) - — Закрытая соцсеть: контрактный кейс (01:40:04) - — Драйвер-фреймворки: Rails vs Python (01:45:23) - — Конкуренция проектов: борьба идей (01:57:25) - — Предательство: обида и урок (01:59:54) - — Опыт OSS: важные выводы (02:05:29) - — Микрозадачи: система тикетов (02:11:17) - — Трудолюбие vs талант: главный вывод (02:12:47) - — Рельсовые конференции и Inertia: взгляд в будущее (02:14:09) - — Заключение ★ Support this podcast ★В этом выпуске мы поговорили с Андреем Татариновым, инженером, который каждый день работает с языковыми моделями и внедряет ИИ в реальные продукты. Обсудили, как устроены LLM: что на самом деле происходит под капотом ChatGPT, почему ИИ часто галлюцинирует, и как с этим работать.
Разобрали, зачем нужен fine-tuning и RAG, как промт превращается в инженерную задачу, и почему без человека модели пока не справляются. Поделились практическим опытом автоматизации, примерами из реальных кейсов и мнением о том, в каком направлении развивается рынок ИИ.
Вы узнаете, как реально применять языковые модели, какие ошибки совершают новички, и что нужно, чтобы ИИ стал помощником, а не источником проблем.
(00:00) - Введение и анонс (01:31) - От Яндекса до Epoch 8: путь Андрея Татаринова (04:54) - Бустинги, логрег и берты: как мы пришли к GPT (08:23) - Почему GPT-системы сокрушили прошлое (12:10) - Иллюзия экспоненты: будет ли у ИИ потолок? (16:01) - Новая реальность: как теперь проектируются AI-системы (19:53) - Под капотом LLM: инференс, рантаймы и матрицы (23:22) - Проблема масштаба: почему модель ≠ база данных (27:27) - Векторные базы и RAG: как накормить модель знаниями (31:20) - Промт не магия: где заканчивается здравый смысл LLM (35:04) - Файнтюнинг: учим GPT понимать нас лучше (38:31) - Пределы модели: почему знания «вытесняются» (42:27) - LEGO, Copilot и код: генерация, где работает, где нет (46:20) - Заменит ли GPT ревьюера? Хекслет тестирует (50:34) - Проблема смыслов: почему даже с правилами модель врёт (54:28) - Что такое разум у LLM: reasoning и цепочки размышлений (58:19) - MCP и агенты: когда LLM делают больше, чем отвечают (01:02:36) - Автоматизация задач: мечта об ИИ-помощнике (01:07:02) - За пределами промтов: новый взгляд на разум (01:11:19) - Автономные агенты: размах MCP в продакшне (01:15:34) - Инциденты под контролем: SRE + агентный подход (01:19:59) - Оркестрация инструментов: когда API + MCP не хватает (01:24:24) - Покупать или делать самому: стратегия внедрения (01:28:49) - MCP как стандарт: реальные шаги или маркетинг? (01:33:14) - Архитектурные тренды: готовимся к агентам заранее (01:37:39) - Команды и экосистема: как вести IT-лидеров (01:42:04) - Безопасность и контексты: бизнес, observability, security (01:46:29) - MCP next layer: от работы в одиночку к рынку агентов (01:50:54) - Оценка зрелости: когда агенты перестают быть хайпом (01:55:19) - Call to action: малые эксперименты — большие изменения (01:59:44) - Ключевые выводы и приглашение к диалогу ★ Support this podcast ★В этом выпуске мы устроили живую дискуссию о Scrum: Agile-коуч Мария и продакт-менеджер Александр дискутировали о том, когда фреймворк действительно помогает, а когда превращается в формальность. Обсудили ценности и принципы Scrum, разобрали, почему без поддержки руководства он не работает, и сравнили классический подход со «сплошным» потоком задач. Разобрали реальные кейсы внедрения, типичные ошибки механического соблюдения ритуалов и дали практические советы, как подстроить Scrum под свой контекст.
В этом выпуске мы поговорили с Егором Бугаенко — автором «Elegant Objects» и сторонником «честного» ООП-мышления. Он раскрыл, почему классическое объектно-ориентированное программирование — это не архитектура, а иллюзия порядка, за которой скрывается хаос.
Разобрали, почему null, static и наследование — главные разрушители систем, как мышление «в классах» ведёт к техдолгу, и почему ORM прячет от нас реальные ошибки в работе с данными. Егор настаивает: код должен быть сконструирован, а не написан, иначе система становится неуправляемой — особенно в эпоху LLM, когда ИИ сыплет автопатчами и код перестаёт быть осмысленным.
Также обсудили:
- Почему композиция объектов — основа устойчивой архитектуры
- Как мыслить модулями, а не строками кода
- Что такое Fail Fast и зачем системе «падать» сразу
- Почему архитектурное мышление — навык разработчика будущего
- Как LLM усиливают хаос, если нет модели
- Роль дизайн-долга и как он убивает бизнес-процессы
Это выпуск для тех, кто не хочет быть просто кодером в мире, где код уже пишет ИИ.
(00:00) - Введение и анонс (00:57) - История ООП: Как всё начиналось и где свернули не туда (03:47) - UML: Почему диаграммы не работают в живом коде (07:57) - IT без кода: Кто такие архитекторы, аналитики и зачем они нужны (10:27) - UML и микросервисы: Почему вместе они не работают (14:07) - Тесты: Почему юнит-тесты не спасают от багов (18:53) - Микросервисы: Как проектировать, чтобы не пожалеть (25:30) - Образование и ООП: Чему учат и чему не учат (29:20) - Высшее IT-образование: Почему оно отстаёт от практики (35:04) - ИИ в программировании: Помощник или угроза? (36:59) - Будущее кода: Кто будет писать программы завтра (39:49) - ООП сегодня: Жив ли подход или пора прощаться? (43:34) - Генерация кода ИИ: Ускорение или потеря контроля? (46:22) - Промты для ИИ: Как правильно общаться с машиной (50:09) - Дизайн системы: Как не утонуть в архитектуре (52:58) - Маппинг: Когда преобразование данных становится проблемой (55:49) - ORM: Почему это может быть ловушкой для проекта (59:35) - Фреймворки: Примеры, которые стоит знать (01:03:20) - Ручной SQL: Контроль, который стоит усилий (01:07:04) - Nullable: Почему это не просто пустое значение (01:15:40) - Обучение программистов: Чему стоит уделить внимание (01:20:26) - Когнитивная нагрузка: Как null усложняет мышление (01:26:06) - Теория и практика: Как найти баланс в программировании (01:29:53) - Осознанные нарушения: Когда отступление от правил оправдано (01:37:25) - Обработка исключений: Как управлять жизненным циклом объекта (01:44:03) - Системы типов: Как они помогают и мешают (01:50:41) - Функциональное vs ООП: В чём разница на практике (01:56:24) - Применение подходов: Как выбрать правильный инструмент (01:58:17) - Философия ООП: Что стоит за объектами (02:03:00) - Композиция и принципы: Как строить надёжные системы (02:06:44) - Паттерны: Почему некоторые из них устарели (02:13:27) - Чистый код: Почему не всё так чисто (02:14:23) - Современные книги: Что читать вместо «Чистого кода» (02:16:17) - Заключение ★ Support this podcast ★