Компании и проекты
4По данным профиля наставника
Направления
С чем поможет
Clean Architecture, DDD, SOLID
Unit, integration и TDD
От основ к сложным задачам
Разовое занятие
60 минут с наставником
Разработка и устройство систем
Курсы DDD онлайн: научитесь уточнять язык предметной области и выделять границы модели. На индивидуальном курсе с наставником можно обсудить, как разобрать связи контекстов.
Индивидуальные занятия
По данным профиля наставника
Clean Architecture, DDD, SOLID
Unit, integration и TDD
От основ к сложным задачам
60 минут с наставником
По данным профиля наставника
Middle
Middle
Senior
60 минут с наставником
По данным профиля наставника
Senior
Senior
Senior
60 минут с наставником
По данным профиля наставника
Senior
Senior
Middle
60 минут с наставником
По данным профиля наставника
Senior
Senior
Senior
60 минут с наставником
Как выбрать обучение под свою задачу
Курсы DDD с наставником можно построить как индивидуальное обучение под вашу подготовку и задачу. Domain-Driven Design, или DDD, предлагает строить программную модель вокруг смысла предметной области. На курсе с наставником полезно учиться обсуждать язык, правила и границы, а не только создавать классы с определёнными названиями. Шаблоны реализации не заменяют понимания задачи бизнеса.
Обучение особенно полезно при наличии опыта разработки и конкретного доменного контекста. Если основы программирования пока незнакомы, сначала стоит освоить их. Для DDD нужен материал, где можно обсуждать неоднозначные термины и реальные правила.
Выберите небольшой процесс и запишите используемые понятия. Проверьте, одинаково ли их понимают специалисты и разработчики. Одно слово может иметь разный смысл в разных частях организации.
Затем разберите границы модели и ответственность. Не стремитесь немедленно создать единую универсальную сущность для всех контекстов. Полезно выяснить, где значение и правила действительно совпадают, а где требуется явное преобразование.
В программе могут быть сущности, значения, агрегаты и доменные события. Изучайте их на задаче: какое правило должно сохраняться и кто отвечает за его выполнение. Выбор термина без такого основания мало помогает.
Отдельно обсудите границу транзакции и взаимодействие частей. Не каждое событие означает необходимость брокера сообщений. Сначала опишите смысл и требования, затем выбирайте техническую реализацию.
Первый пример: модель бронирования. Уточните, что считается подтверждённой записью и когда её можно отменить. Критерий: правило выражено явно и проверяется на недопустимом переходе.
Второе задание: разные значения клиента в продажах и поддержке. Опишите потребности каждого контекста и способ передачи нужных сведений. Не объединяйте модели только из-за одинакового названия.
Третий пример: изменение бизнес-условия. Проверьте, какие части модели затронуты и насколько понятна причина. Это помогает оценить границы без объявления любой архитектуры идеальной.
Модель должна помогать разговору о предмете. Если участники спорят о техническом шаблоне, вернитесь к правилу и примеру. Полезно отделять известные условия от допущений.
С наставником можно разбирать альтернативы и цену усложнения. Для простой задачи насыщенная модель может оказаться лишней. DDD не является обязательным набором конструкций для каждого приложения и не означает автоматического перехода к микросервисам.
Ищите опыт моделирования похожих процессов и способность объяснять компромиссы. Знание названий паттернов недостаточно. Сообщите стек, область и конкретное затруднение.
Уточните формат самостоятельных заданий и просмотра модели. Полезно получать замечания по смыслу и границам, а не только по структуре папок. Архитектурный консалтинг рабочего продукта и участие в командных сессиях требуют отдельного согласования.
Подготовьте разрешённое описание процесса, несколько правил и примеров. Уберите закрытые данные. Если предметная область ещё не исследована, начните с вопросов, а не с выдуманной полной модели.
Курс не гарантирует отсутствие архитектурных проблем. Ближайший результат можно определить как небольшую объяснимую модель с тестами правил. Перестройка всего приложения и миграция являются отдельными задачами.
Измените одно правило и объясните, где оно должно находиться. Затем добавьте соседний сценарий и проверьте, не возникло ли противоречие. Такая практика показывает, насколько модель выдерживает новые условия.
Сохраняйте словарь и примеры вместе с решением. Если термин меняет смысл, отметьте границу. Не подменяйте проверку красивой диаграммой: модель должна помогать предсказать поведение и объяснить, почему недопустимое действие отклоняется.
Для спорного термина соберите несколько примеров употребления. Если правила различаются, покажите это явно вместо попытки найти одно идеальное определение. Затем обсудите, где нужна связь между контекстами и какие сведения действительно передаются. Такой разбор помогает избежать универсальной модели, которая всем неудобна. Не объявляйте каждую смысловую границу отдельным сервисом: организационное понимание и техническое развёртывание являются разными решениями с собственной стоимостью.
Чтобы выбрать курс DDD, сначала сопоставьте программу с тем, что уже умеете делать самостоятельно. Отдельно отметьте новые темы, практические задания и разбор результатов. Такой план помогает обсудить нужный объём обучения до выбора 10, 20 или 30 часов.
Стоимость курса зависит от цены выбранного наставника и объёма занятий. В карточке можно сравнить разовое занятие и курсы: 10 часов без скидки, 20 часов со скидкой 3% и 30 часов со скидкой 5%. Сравнивайте итоговую сумму и стоимость часа, а также заранее уточняйте, входят ли проверка самостоятельных заданий и общение между встречами в согласованные условия.
Разовое занятие можно использовать, чтобы обсудить цель и познакомиться с подходом наставника. Для последовательного обучения договоритесь о порядке тем и промежуточных проверках. Больший курс даёт больше времени на занятия, но его выбор должен опираться на программу и вашу возможность практиковаться, а не только на скидку.
Сначала задача, затем объём
Сравните три пакета по объёму и стоимости. Темы, темп и практические задачи определите вместе с наставником.
Введите часовую ставку выбранного наставника. Сейчас показан пример расчёта, а не предложение конкретного специалиста.
Первые шаги в выбранном направлении.
Если начинаете разбираться в теме и хотите определить, с чего двигаться дальше.
Больше времени на задачи и обратную связь.
Если основы уже знакомы, но применять их самостоятельно пока сложно.
Последовательная работа над более объёмной целью.
Если задача включает несколько этапов и требует продолжительного разбора.
Разница между пакетами в количестве часов и скидке, а не в обязательном уровне подготовки. Список тем и объём практики согласуйте до начала работы. Большее число часов само по себе не гарантирует освоение профессии.
Пример расчёта: 10 часов без скидки, 20 часов со скидкой 3%, 30 часов со скидкой 5%. Скидка считается от стоимости того же количества часов по обычной ставке.
Не абстрактная программа. Ваша ситуация.
Курс начинается с вашей задачи. Выберите близкую ситуацию и посмотрите, что можно обсудить с наставником.
«Я уже сделал первую версию, но не понимаю, что улучшить и в каком порядке.»
Ссылку, макет, фрагмент кода или другой пример работы. Опишите цель и то, что уже пробовали. Уберите закрытые данные.
От задачи к занятиям
Три шага, чтобы понять, подходит ли вам совместная работа.
Сравните профили: направление, похожие задачи и ставка наставника.
К выбору наставника ↗Обсудите ваш уровень, первые темы, практику и способ обратной связи.
Что будете делать вы и в чём поможет наставникСогласуйте объём часов, расписание, переносы и условия использования пакета.
Отдельно спросите о связи между встречамиРазберёмся в деталях
Практические вопросы о выбранном направлении: подготовка, задачи и разбор решений.
Выберите небольшой процесс и запишите используемые понятия. Проверьте, одинаково ли их понимают специалисты и разработчики. Одно слово может иметь разный смысл в разных частях организации.
В программе могут быть сущности, значения, агрегаты и доменные события. Изучайте их на задаче: какое правило должно сохраняться и кто отвечает за его выполнение. Выбор термина без такого основания мало помогает.
Запишите значения слова в конкретных сценариях и выясните, какие правила действуют в каждом случае. Не объединяйте их только ради одинакового названия класса. На занятии полезно сравнить контексты и последствия передачи данных между ними. Решение о границах требует понимания предметной области и не выводится автоматически из диаграммы сервисов.
Например, согласованное описание терминов, правил и границ для ограниченного сценария вместе с примерами допустимого и ошибочного поведения. Затем попробуйте изменить требование и объяснить влияние на модель. Такое упражнение проверяет понимание смысла. Количество применённых шаблонов или новых слоёв само по себе не показывает качество архитектурного решения.
Начните с плана: какие темы нужно изучить, какие задания выполнить и когда обсудить результат с наставником. Сопоставьте его со своим уровнем и временем на самостоятельную практику. Часы обозначают объём занятий, а не гарантированное освоение направления. Если пока трудно определить нужный объём, сначала обсудите программу на разовой встрече.
От стоимости занятия у выбранного наставника и количества часов. В карточке показан расчёт стоимости: 10 часов без скидки, 20 часов со скидкой 3%, 30 часов со скидкой 5%. Условия проверки заданий и связи между встречами согласуйте отдельно. Покупка курсов и запрос скидки на сайте пока недоступны. Сейчас можно записаться на разовое занятие.
Следующий шаг