Длинный технический разговор для тех, кто устал от «DDD на словах» и хочет услышать опыт с поля: как из поддержки стартапов на Rails выросла линейка фреймворков (Cyrex → Smart AI → REE), зачем вообще писать свой стек под доменную модель и что из этого вышло на практике.
Гость — Руслан Гатиятов: кандидат физико-математических наук, много лет в разработке и предпринимательстве, соавтор Ruby-фреймворка под DDD.
Ведущие — Сергей Удалов и Андрей Ермолаев.
Ключевые моменты:
- путь через науку (наноконтакты, физфак, аспирантура) в коммерческую разработку и что даёт «учёный» бэкграунд на разных этапах карьеры
- честный разговор про «код учёного» vs код инженера и стереотипы вокруг степеней
- откуда взялась идея своего фреймворка: клиентский запрос на DDD, когда в экосистеме Ruby не было готового ответа
- что в книге Эрика Эванса по мнению гостя реально про DDD, а что сообщество переоценивает (bounded contexts, ubiquitous language vs тактические паттерны)
- кейс Artstation: порядок величины нагрузки, ~350 сервисов на Ruby, bounded contexts, несколько БД, маленькая команда бэкенда
- как устроены агрегаты, Sequel вместо Active Record, «персистеры» вместо классических репозиториев и почему так
- микросервисы vs распределённый монолит, общая кодовая база, tree-shaking, boot тестов около секунды
- прогон тестов на миллионах строк кода за считанные минуты при высоком coverage и параллельных БД
- минусы подхода: порог входа, найм, обвязка, сравнение с опытом Claude на большой задаче
- история Active Record / Data Mapper, Rails, Uncle Bob и «кричащая» структура типовых проектов
- агентная разработка: запрет ручного кода в команде гостя, Cursor vs Claude, MCP и маркетинг
- карьера и рынок: маркетинг сложнее инженерки, глубина специализаций с LLM, этика «рынок так устроен»
- напутствие: развивать мозги через сложные системы и переходить на работу с агентами
Timecodes:
00:00 — интро, путь гостя: наука, C/C++, веб, Ruby
06:30 — зачем писать свой фреймворк; Rails, стартапы и DDD
13:00 — Artstation: масштаб, микросервисы, bounded contexts, команда
14:00 — что такое DDD «по-настоящему»: контексты и общий язык с бизнесом
25:30 — агрегаты, Sequel, сервисные функции и персистенция
27:00 — Sequel vs Active Record, Data Mapper, скорость и культура использования
32:00 — tree-shaking, зависимости, boot и тесты за ~секунду
35:00 — «настоящие» микросервисы, шины, границы bounded context
40:30 — миллионы строк, мало гемов, обновление Ruby за минуты
41:30 — минусы стека, Claude про архитектуру и порог для джунов
53:00 — Uncle Bob, три папки Rails, data-driven vs domain-driven
54:30 — линейный рост команды, сахарные гемы и долгая поддерживаемость
01:06:30 — LLM, контекст, агенты как ускоритель; правила важнее «сделай что-нибудь»
Главные вопросы выпуска:
- Где граница между полезным DDD и обсуждением тактических паттернов ради спокойствия?
- Когда «много микросервисов на одной кодовой базе» — осознанная архитектура, а когда антипаттерн?
- Обязан ли сильный инженер в 2026 году перестать писать код руками — или это только один из режимов работы?
Ссылки и материалы выпуска:
- DDD Ruby framework https://github.com/glabix/ree/
- Телеграм Руслана Гатиятова https://t.me/asyncom
- Telegram Сергея Удалова: https://t.me/UdalovX
- Telegram Андрея Ермолаева: https://t.me/fashion_dev
- Зеркало канала: https://vkvideo.ru/@udalov_x
Если разговор зацепил — напишите в комментариях, согласны ли вы, что первые страницы Evans важнее тактических паттернов на практике.