Организованное программирование

Кирилл Мокевнин

Пишем код, за который не стыдно. Разбираем базу, даем рекомендации и встречаемся с умными людьми

  1. #71 Event Storming на практике: как моделировать сложные системы

    4D AGO

    #71 Event Storming на практике: как моделировать сложные системы

    В этом выпуске мы пошли дальше разговоров о DDD и сделали то, чего обычно не хватает большинству обсуждений — взяли реальную идею и начали моделировать её руками. Вместе с Евгением Лукьяновым, архитектором и практиком DDD, мы в прямом эфире провели сессию Event Storming и разобрали живую предметку: сервис для контент-креаторов в Telegram — от регистрации пользователя до рекомендаций, трендов и сложных границ ответственности системы. Мы не готовились заранее, не полировали пример и не знали «правильного ответа». По ходу дела всплывают реальные вопросы: где заканчивается MVP и начинается переусложнение, какие события действительно важны, что считать инвариантами, где система должна быть «тупой», а где — умной, и почему изменение состояния — главный источник боли в любой системе. Разговор постепенно уходит глубже: от бизнес-ценности и воронки активации — к агрегатам, событиям, автоматическим правилам, внешним системам и границам контекстов. Мы обсуждаем серые зоны вроде парсинга Telegram, влияние ограничений платформы на модель домена, роль ИИ в рекомендациях и почему «сначала написать код» почти всегда приводит к иллюзии понимания предметки. Полезные ссылки:https://t.me/stringconcathttps://www.youtube.com/@UCJ2Tig1kywPjqjNh0mb54Ug  Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239228 🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot (00:00) - Введение. Почему 90% проектов ломаются ещё до кода? (02:22) - Event Storming простыми словами: что это и зачем он нужен разработчику (09:07) - Стартап vs Enterprise: почему подход к проектированию радикально отличается (18:10) - Почему для Telegram до сих пор нет нормального VidIQ (30:07) - Почему рекомендации — самая сложная часть проекта (41:27) - Как понять, о чём писать: спрос, тренды и иллюзии (49:21) - Чему можно научиться у YouTube и VidIQ (01:03:40) - Разбор интерфейса VidIQ: что действительно даёт ценность (01:11:55) - Как формируются тренды и рекомендации на практике (01:25:17) - Агрегаты, события и инварианты без академической боли (01:39:38) - Владение каналами, безопасность и переход прав (01:48:00) - Подписки, планы и ограничения: где появляется бизнес (01:53:42) - Парсинг Telegram: реальность, серые зоны и ограничения (02:02:02) - Почему изменение состояния — главный источник сложности (02:08:00) - Event Storming как карта всей системы целиком (02:13:51) - Заключение: стоит ли использовать Event Storming на практике ★ Support this podcast ★

    2h 14m
  2. #70 Дебаты: юнит тесты против интеграционных с Александром Макаровым

    12/28/2025

    #70 Дебаты: юнит тесты против интеграционных с Александром Макаровым

    Юниты против интеграционных тестов — вечный спор, который кажется простым только до первого реального проекта. В этом выпуске у нас в гостях Александр Макаровов — core-разработчик PHP-фреймворка Yii. Мы разобрали, почему формальные определения тестов почти не работают в живых системах и где на практике проходит граница между «юнитом», «модулем» и «интеграцией». Мы поговорили о тестировании прикладных веб-приложений и библиотек, сравнили Active Record и Data Mapper, разобрали, когда тесты обязаны ходить в базу, а когда моки — вынужденное зло. Посмотрели реальные репозитории активно развивающихся проектов написанных на Laravel и Rails, фреймворки и коммерческие проекты, и увидели, как на самом деле пишутся тесты в продакшене, а не в книжках. Обсудили фикстуры, транзакции, rollback’и, SQLite in-memory, UUID, миграции, тесты контроллеров, сервисов и джобов. Полезные ссылки:https://t.me/samdark_blog Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239227 🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot #кириллмокевнин #александрмакаров #интеграционныетесты #программирование #php #backend #разработка #it #подкаст Дебаты: юнит тесты против интеграционных с Александром Макаровым (00:00) - этом видео: (00:00) - — Добро пожаловать в подкаст: почему третий релиз фреймворка ждали годами — и при чём тут тесты? (02:13) - — О чём сегодня будет спор: юнит-тесты против интеграционных — кто победит? (07:37) - — Юнит-тесты на практике: функция, класс или публичный API (11:14) - — Почему формального определения не существует: юнит-тесты, которые не юнит-тесты (15:05) - — Внутренний интерфейс — трогать или нет: почему тесты не должны лезть в кишки системы (26:18) - — Архитектура vs гигиена: что действительно важно в прикладных проектах (37:15) - — Рефакторинг без боли: какие тесты действительно помогают менять код (47:53) - — Работа с базой данных: транзакции, откаты и скорость тестов (59:49) - — Плюсы и минусы высокоуровневых тестов (01:08:11) - — Open-source vs коммерция: почему одинаковые подходы не работают (01:25:45) - — Все типы тестов в реальном проекте (01:42:55) - — Docker и файловая система: неочевидные проблемы масштабирования (01:54:10) - — Сила декларативного подхода: почему CI/CD — идеальная среда для AI (02:01:20) - — Заключение: почему истина всегда где-то посередине ★ Support this podcast ★

    2h 2m
  3. #69 Как менялся IT за 20 лет: софтскилы, бигтехи, забытый хайп

    12/21/2025

    #69 Как менялся IT за 20 лет: софтскилы, бигтехи, забытый хайп

    В этом выпуске — экспериментальный формат и разговор без сценария. В гостях сразу двое инженеров с более, чем двадцатилетним опытом -  Пётр Зайцев и Алексей Рыбак. Мы вспоминаем, как выглядел вход в IT в 2000-х: первые работы «по знакомству», собеседования в квартирах и ресторанах, задачи про шнуры, найм по мотивации и жизнь без курсов, грейдов и HR-пайплайнов. Большой блок посвящён найму и софтскилам. Обсуждаем, действительно ли раньше на них «не смотрели», где проходит граница между прямотой и токсичностью, как меняются ожидания в больших и мультикультурных командах, почему интервью часто проверяют не знания, а этику и способность работать с конфликтами, и как размер компании меняет правила игры. Во второй части говорим о технологиях и хайпах, которые мы пережили: паттерны, ORM, MongoDB, микросервисы, serverless и TypeScript. Отдельно разбираем, почему именно nginx и memcache стали настоящими сдвигами и реально изменили индустрию, а большая часть «революций» оказалась просто модой. В конце — трезвый разговор про AI: где он ускоряет инженеров, а где создаёт больше шума, чем ценности. Если откликнулось — поставьте лайк, напишите в комментариях свой опыт и скажите, стоит ли делать такие разговоры регулярными. Полезные ссылки:https://youtube.com/@AlexeyRybak Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239225 🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot (00:00) - — Зачем этот выпуск нельзя пропустить? (00:55) - — С чего всё началось: первый шаг в айти без опыта (05:59) - — Админ из подвала и письмо основателю MySQL: путь Пети Зайцева (12:22) - — Почему я проваливал все собесы первые годы (18:28) - — 40 вопросов на листочке и 25 зачётов: ад собеседований (26:53) - — Американская вежливость vs русская прямота (32:41) - — Кого не прощают: границы допустимого в командах (34:05) - — Пассивная агрессия: приём или угроза? (35:22) - — Виноват ли разработчик, если уволили по этике? (48:28) - — Почему русские в США остаются «деревянными» (58:21) - — Что действительно изменило индустрию? (01:12:09) - — Один язык для всего? Опасная иллюзия (01:30:39) - — Технологические прорывы и их последствия (01:43:49) - — Эффективность использования ИИ в командах (01:49:02) - — Заключение и подведение итогов ★ Support this podcast ★

    1h 50m
  4. #68 Зачем изучать Haskell в 2025 году? | Александр Вершилов

    12/15/2025

    #68 Зачем изучать Haskell в 2025 году? | Александр Вершилов

    Функциональное программирование давно перестало быть экзотикой, но вокруг него всё ещё много мифов, крайностей и непонимания. В этом выпуске мы говорим с Сашей Вершиловым — инженером, который уже почти 15 лет пишет на Haskell и при этом остаётся максимально прагматичным.  Мы разбираем, почему Haskell до сих пор стоит особняком: как он вырос из академической среды, почему ленивые вычисления и сильная система типов стали источником десятков идей для mainstream-языков, и как generics, type inference, immutability, pattern matching, пайплайны и «чистый код» перекочевали в Java, JavaScript, TypeScript, Go и другие экосистемы. Говорим о том, почему сегодня функциональщины вокруг нас больше, чем кажется — просто она стала «невидимой». Отдельный фокус — практика и мышление инженера. Почему functional core / imperative shell не «ломается», а неправильно применяется. Как Haskell меняет способ думать о данных, алгоритмах и архитектуре. Где он действительно помогает стать сильнее как разработчику, а где начинается оверхед, экосистемные риски и необходимость знать кишки рантайма. Этот выпуск — не про «писать всё на Haskell», а про влияние, инструменты мышления и честный разговор о том, чему функциональное программирование научило индустрию и зачем мидлам и сеньерам в этом вообще разбираться. Полезные ссылки:Twitter - https://x.com/qnikst Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239224 🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot #функциональноепрограммирование #haskell #fp #программирование #чистыйкод #языкипрограммирования Зачем изучать Haskell в 2025 году? | Александр Вершилов #68 (00:00) - Введение. Зачем вообще говорить о Haskell? (00:48) - Как Haskell стал культовым языком — история, полная парадоксов (01:59) - Ленивость, чистота и мощь типов — что делает Haskell особенным (09:41) - Haskell сегодня: жив или мертв? Обсуждаем текущее развитие (14:13) - Битва языков: кто круче Haskell или…? (22:02) - Как Java «украла» дженерики у Haskell (27:05) - Когда FP не приживается — главные проблемы интеграции (33:46) - Как FP меняет мышление программиста (40:09) - Почему без FP не было бы современного программирования (44:37) - Что нужно знать перед началом с Haskell? (53:32) - Почему порядок вычислений — это важно (01:04:56) - Функции в Haskell: краткий гайд (01:16:34) - Чем Haskell выигрывает у других в работе с функциями (01:25:32) - Как оптимизируются пайплайны в Haskell (01:33:22) - Алгоритмы через матчинг: магия Haskell (01:42:57) - Почему рекурсия в Haskell — это нормально (01:49:28) - Как определить функцию в Haskell (01:56:02) - Чем рискует компания, выбрав Haskell (02:00:16) - Заключение. Кому и когда стоит использовать Haskell ★ Support this podcast ★

    2h 4m
  5. #67 Технологический рост компании: путь от стартапа до гиганта  | Дмитрий Бобылев

    12/07/2025

    #67 Технологический рост компании: путь от стартапа до гиганта | Дмитрий Бобылев

    В этом выпуске у нас в гостях Дмитрий Бобылев, бывший технический директор Сбермаркета и основатель консалтингового агентства Fastward. Дмитрий расскажет о своем пути от стартапа до масштабного бизнеса, о разработке, работе с командами, а также о том, как пройти путь от инженера до руководителя компании. Мы обсудили:- Как Дмитрий пришёл в IT и какие трудности пережил на старте.- Его опыт работы в стартапах и создание компании с нуля.- Развитие Сбермаркета и масштабирование инфраструктуры.- Проблемы роста в команде и управлении в крупных компаниях.- Важность правильного найма и построения команды, а также опыт с референсами и ошибками в процессе набора сотрудников.- Как найти баланс между бизнес-потребностями и инженерными решениями. Кроме того, Дмитрий поделился своим взглядом на современные тренды в технологиях, такие как внедрение автоматизации, выбор стека и влияние пандемии на развитие компании. Мы поговорили о важности метрик и анализа производительности команд, а также об ответственности CTO в крупной корпорации. Эта беседа будет полезна тем, кто хочет понять, как строится успешная IT-компания и какие ключевые моменты нельзя упустить на пути к масштабированию. Полезные ссылки:Telegram Дмитрия - https://t.me/ZhogloTelegram канал - https://t.me/ZhogloTech Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239223 🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot #CTO #разработка #техдиректор #организованноепрограммирование #кириллмокевнин Технологический рост компании: путь от стартапа до гиганта  | Дмитрий Бобылев #67 ★ Support this podcast ★

    1h 34m
  6. #4 Как модульные тесты в разы усложняют поддержку проекта | Разбор книги Роберта Мартина

    12/01/2025

    #4 Как модульные тесты в разы усложняют поддержку проекта | Разбор книги Роберта Мартина

    В этом выпуске мы разбираем следующую главу «Чистого кода» Роберта Мартина про модульные тесты и TDD. Глава маленькая, но последствия от неё — огромные. Мы поговорим о том, как Мартин трактует модульные тесты, зачем он навязывает «три закона TDD» и почему вся глава местами напоминает идеологический манифест, а не практическое руководство. Я покажу, как его подход работает (и не работает) в реальной жизни, где модульные тесты действительно помогают, а где — становятся тормозом для архитектуры, мешают рефакторингу, и даже запирают разработчиков в ловушку реализации. 📌 Обсуждаем:- Почему TDD ≠ надёжность, и как это связано с деталями реализации- Как тесты мешают менять код, вместо того чтобы помогать- Модульные vs. интеграционные тесты: когда что действительно нужно- Почему идея «удалять модульные тесты после проектирования» — не безумие, а осознанная практика- Зачем Мартин создаёт тестовый DSL, и почему это часто превращается в god-object в обёртке удобочитаемости- История про "один assert на тест", роспек, матчеры и почему современные практики давно пошли другим путём- И самое главное: что из этой главы стоит взять, а что — отбросить без угрызений совести Это выпуск не только о тестах, но и о том, как теоретические идеи живут (или не выживают) в продакшене, и почему взрослому инженеру важно уметь отделять идеологию от практики Первая часть разбора: https://youtu.be/-tp2bfP36HgВторая часть разбора: https://youtu.be/KK9XK6BtqBMТретья часть разбора: https://youtu.be/bfhUhim0V1Y Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239222 🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot🔹Курсы по программированию — начни учиться уже сегодня: https://ru.hexlet.io/courses #модульныетесты #чистыйкод #программирование #разработка  #чистаяархитектура Как модульные тесты в разы усложняют поддержку проекта | Разбор книги Роберта Мартина #4 (00:00) - – Введение. Почему модульные тесты до сих пор спорный инструмент? (00:36) - – С чего всё начиналось: как тестирование выглядело в 90-х (05:16) - – Что работает в библиотеках, не работает во фреймворках (10:41) - – Тесты = гибкость кода? Разбираем миф (16:58) - – Как модульные тесты мешают рефакторингу (20:53) - – Почему “красивый” тест может быть вредным (26:39) - – Что происходит, когда тест превращается в DSL (31:14) - – Можно ли писать “грязные” тесты? Мартин говорит — да (35:28) - – Больше методов — больше проблем (42:30) - – Как RSpec повлиял на все тестовые фреймворки (46:09) - – Ассерты без боли: так можно было? (50:01) - – Условные конструкции в тестах: враг №1 (55:52) - – Зависимость между тестами (01:00:37) - – Заключение. Почему идеальных тестов не бывает ★ Support this podcast ★

    1h 1m
  7. #65 Прожарка: Стоит ли писать на Spring Boot в 2026? | Валерий Жила

    11/02/2025

    #65 Прожарка: Стоит ли писать на Spring Boot в 2026? | Валерий Жила

    Spring Boot — один из самых популярных фреймворков в экосистеме Java. Вместе с Валерием Жилой поговорили о том, как он устроен, почему вокруг него столько споров и насколько оправдано его использование сегодня. Разобрали фреймворк с разных сторон — от удобства до производительности. Мы постарались взглянуть на Spring Boot без фанатизма и предвзятости: где он действительно помогает, а где мешает.  В этом выпуске мы обсудили:- сравнение с FastAPI, NestJS и другими фреймворками;- когда Spring Boot раскрывает свой потенциал, а когда превращается в обузу;- производительность и скрытая магия фреймворка;- особенности Developer Experience;- порог входа для новичков.- Инверсия зависимостей, возведенная в абсолют List of Spring projects: https://spring.io/projectsList of small Spring guides, to learn elements in a very simple way: https://spring.io/guidesStructured from-zero Spring Boot tutorial: https://www.baeldung.com/spring-bootSpring IO YouTube: https://www.youtube.com/@SpringIOConferenceSpring Boot vs Quakrus: https://www.youtube.com/watch?v=mJJpZ70q9M0Хорошая книга - Spring Start here: https://amzn.to/3JwIeEpЕвгений Борисов, отличные видео на русском про то, как спринг работает под капотом (первые два довольно старые, но с принципы остались те же):- https://www.youtube.com/watch?v=BmBr5diz8WA- https://www.youtube.com/watch?v=cou_qomYLNU- https://www.youtube.com/watch?v=rd6wxPzXQvo (00:00) - — Вступление. Что волнует всех Java-разработчиков (01:34) - — Spring Boot в деле: личный опыт без прикрас (04:10) - — Java или Python? Выбор, который определит ваш путь (07:06) - — Почему Spring Boot выигрывает у конкурентов? (10:02) - — С чего всё началось: как появился Spring? (13:26) - — Чем Java отличается от других языков? (16:15) - — Python: волшебство простоты или иллюзия? (19:13) - — Демократия языков: кто на самом деле рулит? (21:59) - — Скрытая угроза глобальных переменных (22:55) - — Чем Spring реально лучше? 5 железных аргументов (28:09) - — Что такое Spring Boot и почему он стал трендом? (30:47) - — Фишки Spring Boot, о которых вы не знали (35:01) - — Как устроен Spring Boot внутри: анатомия фреймворка (40:06) - — Как обучать джунов на Spring Boot без боли? (43:44) - — Как учиться программировать на практике? (49:43) - — Как работать с энтерпрайз-запросами (53:10) - — Как развивается Java? (01:00:21) - — ORM в Java: зло или необходимость? (01:06:10) - — Чистый SQL в Spring: ловушки и грабли (01:10:05) - — Не каждый разработчик готов к Spring Boot? (01:15:11) - — Где и как генерировать данные в Java? (01:26:20) - — Как безопасно тестировать БД в Spring (01:33:35) - — AI-агенты в разработке: реальность будущего (01:36:28) - — Как общаться с AI, чтобы он реально помогал (01:40:13) - — Заключение. Как ИИ меняет экономику и рынок труда ★ Support this podcast ★

    1h 42m

Ratings & Reviews

4.8
out of 5
6 Ratings

About

Пишем код, за который не стыдно. Разбираем базу, даем рекомендации и встречаемся с умными людьми

You Might Also Like