Episodios

  • #51 ORM vs SQL — Дебаты: что побеждает в реальных проектах? Александр Вершилов
    Jun 30 2025

    В этом выпуске мы поговорили с Александром Вершиловым — разработчиком с 15-летним опытом и руководителем отдела разработки в Сириус.Курсах. Мы устроили дебаты про ORM. Обсудили чем ORM отличается от query-builder’а, разобрали типичные проблемы N+1 и ленивых связей, сравнили подходы Code-First и Data-First к миграциям, а также поделились приёмами, как обойтись без ORM и не потерять производительность.

    Вы узнаете, когда строгая типизация (на примере Haskell) спасает проект, какие настройки ORM могут «положить» продакшен и какие практики позволяют держать базу под контролем. А так же решите для себя, брать ли ORM в следующий проект или сразу писать SQL.

    • (00:00) - Введение. Почему мы всё ещё спорим про ORM?
    • (02:18) - Что такое ORM на пальцах — быстро, чётко, по делу
    • (04:32) - PHP и ORM: от древности до Laravel
    • (07:01) - ORM глазами хаскелиста — определение через опыт
    • (08:51) - Как типизация усложняет или упрощает маппинг
    • (10:35) - Связи решают всё: зачем они важны в любой базе
    • (13:45) - Фильтрация и динамика: где builder выигрывает у SQL
    • (17:51) - Тестируем SQL: что делать с ошибками на проде
    • (22:30) - Почему auto-инструментация — это роскошь не для всех
    • (25:43) - Query builder — обязательный минимум для любого проекта?
    • (29:23) - Когда ORM спасает время (и нервы)
    • (34:08) - Сериализация "на автомате" — магия или хорошая инженерия?
    • (36:51) - Промышленный стандарт = спокойствие в команде
    • (39:39) - Магия рефлексии: когда модель = пустой класс
    • (41:31) - Код first: почему он иногда опаснее, чем кажется
    • (43:36) - Zero downtime и миграции: возможно ли идеальное развертывание?
    • (49:36) - Как PHP прошёл путь к миграциям: взгляд в прошлое
    • (54:08) - Когда SQL тормозит: ищем виновника
    • (57:45) - Запросы: главная претензия к ORM
    • (01:05:03) - Как распознать N+1 запрос и не страдать
    • (01:08:13) - Пример Elixir: ORM без боли и магии
    • (01:12:44) - Где заканчивается SQL и начинается здравый смысл
    • (01:19:14) - Как удалять данные и при этом не терять их
    • (01:22:25) - ORM и бизнес-логика: когда класс — не просто класс
    • (01:28:50) - Декларативность vs. контроль: можно ли совместить?
    • (01:32:26) - Генерация объектов: действительно ли тормозит?
    • (01:36:22) - Оптимистичная блокировка спасает не только от конфликтов
    • (01:41:14) - Транзакции, блокировки и реалии продакшена
    • (01:44:58) - Нерешаемая проблема мутабельности
    • (01:48:27) - Когда "умная" ORM становится врагом архитектуры
    • (01:51:01) - Заключение. Как жить с ORM и не страдать?
    ★ Support this podcast ★
    Más Menos
    1 h y 52 m
  • #50 Open Source без романтики: деньги, интриги, выгорание — и рост | Артем Малышев
    Jun 22 2025
    В 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 ★
    Más Menos
    2 h y 14 m
  • #49 Почему искусственный интеллект не работает без настоящего инженера | Андрей Татаринов
    Jun 15 2025

    В этом выпуске мы поговорили с Андреем Татариновым, инженером, который каждый день работает с языковыми моделями и внедряет ИИ в реальные продукты. Обсудили, как устроены 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 ★
    Más Menos
    2 h y 7 m
  • #48 Почему Scrum буксует: взгляд Agile-коуча и менеджера | Организованное программирование
    Jun 8 2025

    В этом выпуске мы устроили живую дискуссию о Scrum: Agile-коуч Мария и продакт-менеджер Александр дискутировали о том, когда фреймворк действительно помогает, а когда превращается в формальность. Обсудили ценности и принципы Scrum, разобрали, почему без поддержки руководства он не работает, и сравнили классический подход со «сплошным» потоком задач. Разобрали реальные кейсы внедрения, типичные ошибки механического соблюдения ритуалов и дали практические советы, как подстроить Scrum под свой контекст.

    • (00:00) - Введение и анонс
    • (02:30) - Скрам — фреймворк или культ? Что думают профи
    • (04:50) - История появления Скрама: зачем он вообще нужен
    • (07:14) - Кому Скрам вредит и кто на нём зарабатывает
    • (10:35) - Про Канбан, Скрам и прочие страшные слова
    • (12:26) - Терминологический хаос и скрамоподобные мифы
    • (15:20) - Почему Скрам не взлетает: внедрение, культура, люди
    • (19:46) - Скрам без поддержки сверху — путь к провалу
    • (24:00) - Когда одна команда — это целая компания
    • (27:31) - Скрам и поддержка пользователей: несовместимы?
    • (32:39) - Как Скрам ломает мозг аналитикам и тестировщикам
    • (36:24) - Архитектурные затыки и межкомандные блокеры
    • (40:46) - Почему без нормального бэклога Скрам не работает
    • (44:45) - Джира, PMBOK и Скрам: цифровой фейерверк или бюрократия?
    • (47:50) - Релизный ад и регресс за час: реальность Скрама
    • (53:09) - Время жизни задачи: что мерить, чтобы не умереть?
    • (56:57) - Продуктовая разработка и Скрам: союз или развод?
    • (01:00:09) - Масштабируем или похороним? Скрам в больших продуктах
    • (01:04:56) - Скрам как инструмент изменений: ретроспективы, рост и боль
    • (01:11:23) - Скрам как зеркало: как метод вскрывает проблемы
    • (01:15:25) - Почему Скрам пугает и разработчиков, и менеджеров
    • (01:19:09) - Загнивает ли Скрам? Что происходит в мире методологий
    • (01:24:11) - Когда Скрам спасает: реальные истории успеха
    • (01:28:37) - Внедрили Скрам? А теперь живите с этим
    • (01:32:44) - Скрам и командная культура: проверка на зрелость
    • (01:38:46) - Кто спасёт команду: Скрам-мастер, тимлид или никто?
    • (01:44:15) - Менеджеры без знаний: почему Скрам превращается в боль
    • (01:49:16) - Заключение
    • (00:00) - Chapter 29
    ★ Support this podcast ★
    Más Menos
    1 h y 52 m
  • #47 Егор Бугаенко про будущее программирования | Организованное программирование
    Jun 1 2025
    В этом выпуске мы поговорили с Егором Бугаенко — автором «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) - Чистый код: Почему не всё так чисто (...
    Más Menos
    2 h y 18 m
  • #46 Нужно ли писать юнит-тесты? Дебаты о TDD, моках и бережливом тестировании | Илья Ильиных
    May 25 2025

    В этом выпуске мы поговорили с Ильёй Ильиных , автором канала «Куда войти», и вместе выяснили, что на самом деле скрывается за трёхбуквием TDD. Обсудили бережливое тестирование, разобрали плюсы и минусы diamond-подхода, поспорили о юнит-тестах, интеграционных проверках и вечной боли MockBean в Spring. Поделились приёмами, как типизация в Go и TypeScript сокращает объём тестов, и показали, как застраховать легаси-код, не притормаживая релизы.

    Вы узнаете, когда тесты ускоряют работу, а когда превращаются в тормоз, как выбрать «достаточный минимум» покрытий и перестать бояться рефакторинга. Не пропустите — в конце даём чек-лист для мягкого внедрения TDD и советы, которые помогут команде прокачать уровень программирования

    • (00:00) - — Введение. Почему юнит-тесты не работают
    • (01:15) - — Go в бою: опыт, миграции и сравнение с Rails
    • (05:03) - — Как нейросети и личный опыт влияют на качество тестов
    • (09:47) - — Пирамида тестирования, стратегии и интеграционные тесты
    • (13:34) - — Библиотеки, транзакции и альтернативные подходы
    • (18:19) - — Критика пирамиды, микросервисы и сила интеграционных тестов
    • (23:01) - — Мифы, сложности написания и важность интеграционного подхода
    • (30:37) - — Дебаггинг, логирование и тесты для сложных кейсов
    • (34:26) - — Spring Boot, юниты и проблемы с SQL
    • (40:04) - — Тесты пользователей, репозитории и события
    • (46:41) - — Проблемы с интеграцией Spring Boot и различия между моками и стабами
    • (53:21) - — Оптимизация, контекст и TDD в действии
    • (59:59) - — GitHub, редиректы, обновление и инструменты
    • (01:03:48) - — Кассеты, документация и безопасность
    • (01:09:30) - — Фикстуры: от введения до организации данных
    • (01:15:07) - — Оверкил, дизайн и тестирование в разных языках
    • (01:22:46) - — Go, производительность и интеграция
    • (01:28:31) - — Express, Spring и тестирование контроллеров
    • (01:34:15) - — TypeScript, Fastify и дизайн-first API
    • (01:40:01) - — Плагины, история тестов и рефакторинг
    • (01:48:26) - — Моки, стабы и влияние на архитектуру
    • (01:56:55) - — Ментальные модели, API и сравнение Go и Drizzle
    • (02:06:24) - — Решения проблем, инструменты и тяжёлое наследие
    • (02:14:57) - — Прагматичный подход, TDD и архитектурные выводы
    • (02:27:18) - — Заключение
    ★ Support this podcast ★
    Más Menos
    2 h y 30 m
  • №45 Разбор лекции Егора Бугаенко о настоящем ООП | Организованное программирование
    May 18 2025

    В этом выпуске я открываю новое направление на канале — разборы. Начинаю с лекции Егора Бугаенко «Взлёт и падение ООП», которую он читал в Новосибирске.

    Разбираю ключевые тезисы, комментирую спорные моменты, делюсь собственным опытом и взглядами на объектно-ориентированное программирование. Мыслей накопилось много — от истории языков до проблем динамической диспетчеризации, инкапсуляции и производительности. Обсудим, что такое ООП на самом деле, какие мифы с ним связаны и почему многие разработчики до сих пор неправильно его трактуют.

    Не пропустите — это не просто разбор лекции, а откровенный разговор о плюсах и минусах ООП без иллюзий и заумных формулировок.

    💬 Пишите в комментариях, согласны ли вы с Егором, со мной или свое личное мнение. Если формат зайдёт, продолжу разбирать и другие видео, в том числе ваши рекомендации.

    #ООП #программирование #разбор #функциональноепрограммирование #Бугаенко #классическийкод #архитектурапрограмм #кодбезООП #инженерияПО #разработканасовесть #мнениеразработчика #чистыйкод #альтернативаООП

    ★ Support this podcast ★
    Más Menos
    1 h y 27 m
  • #44 «Хак роста»: стартап без процессов обгоняет 99 % компаний Stripe | Данил Шашков
    May 11 2025

    В этом выпуске мы поговорили с Данилом Шашковым — CTO стартапа Humanizer (STS GPT), который за год вырос в выручке х4, оставаясь командой из двух человек. Разобрали, как он нашёл работу в американском проекте через Twitter, почему «процессы ради процессов» убивают скорость и мотивацию и как голосовые задачи в Signal могут заменить таск‑трекер.

    Обсудили и посмеялись:
    ✔️ как минимальная бюрократия вывела проект в топ‑1 % самых быстрорастущих стартапов Stripe;
    ✔️ культуру «punk‑driven development»: CTO берёт на себя дизайн, фронт, бэк и аналитику, не стыдясь «посредственного» кода — лишь бы продукт рос;
    ✔️ почему code‑review «обязан пройти с первого раза» превращается в кошмарную KPI‑гонку и охлаждает инициативу;
    ✔️ как ежедневные дейлики и performance‑review могут убить драйв, и при каком размере команды процессы действительно полезны;
    ✔️ эксперимент «500 $ за Dev‑in AI‑ассистента»: что реально дал супер‑кодер‑бот и почему его выпилили через неделю;
    ✔️ iOS‑приложение за 30 дней без скрам‑мастеров и джира‑митингов;
    ✔️ баг, сделавший продукт случайно бесплатным, и план превращения ошибки в рост;
    ✔️ «экономика облаков»: полная инфраструктура 5 000 $ в мес. дешевле любого DevOps‑штата.

    Вы узнаете готовые приёмы, которые помогут основателям, продукт‑менеджерам и разработчикам ускорять релизы, сокращать издержки и сохранять драйв в команде — от минимального бэклога до микро‑ретро и метрики «деньги ↔️ активность» на дашборде. Не пропустите!

    • (00:00) - Введение и анонс
    • (04:37) - Можно ли работать на американскую компанию без переезда в США?
    • (12:18) - Условия труда в США
    • (15:47) - Самый быстрорастущий стартап
    • (18:47) - Процессы внутри компании
    • (25:53) - Дух стратапа и хаос
    • (31:55) - Как влияет на атмосферу и мотивацию код-ревью
    • (36:36) - Какие процессы в стартапе работают на все 100
    • (42:05) - Дейли - абсолютное зло?
    • (55:04) - Таск трекеры в компаниях
    • (01:02:16) - Осознание своего места в стартапе
    • (01:14:23) - Влияние близости денег в компании
    • (01:24:15) - Вайб кодинг
    • (00:00) - Chapter 14
    ★ Support this podcast ★
    Más Menos
    1 h y 32 m