Неделю назад я писал про DDD, Essential Complexity и Accidental (привнесённую) сложность. Так вот, теперь я испытал её на собственной шкуре — буквально.
⸻
Я делаю своё приложение с помощью вайб-кодинга. Идея простая: платформа для микрообучения, которая позволяет из крупного контента собирать короткие, обновлённые фрагменты. Несколько сценариев использования я уже придумал — и, как говорится, “повайб-кодить” захотелось по полной.
⸻
Ну а как же без архитектуры? Опыт 17 лет в разработке, DDD под рукой — значит, начнём с микросервисов, конечно. Отдельный для транскрибации, отдельный для видео и субтитров, ещё один для текстов, и ещё для конвертации контента. В общем, вышло почти 10 сервисов. С оркестрацией, деплоями и всей красотой.
Пока я не понял, что каждый запуск проекта превращается в пытку. 10 сервисов нужно поднять, связать, дождаться, пока всё соберётся — и всё это только чтобы проверить, работает ли хоть что-то.
⸻
В какой-то момент я просто устал от своей же сложности. Взял и за вечер пересобрал всё в монолит.
И внезапно — стало прекрасно. ✅ Быстрее добавлять фичи. ✅ Проще тестировать. ✅ Проще искать ошибки. ✅ Проще жить.
⸻
Теперь я могу сказать на личном опыте: принцип Monolith First придумали не зря.
Микросервисы — это круто, но только тогда, когда у тебя уже есть продукт, который требует масштабирования. Если же проект на стадии идеи — вся эта “красота” превращается в привнесённую сложность, которая крадёт время и энергию.
⸻
💡 А если вы хотите научиться выбирать технологии осознанно и управлять созданием продуктов как настоящий Technical Product Manager — у меня для вас хорошие новости.
Уже в эти выходные выложу на сайт подробное описание и расписание курса, а пока — регистрируйтесь в боте, чтобы не пропустить самые первые и самые вкусные цены.