← назад к программе

Вы пишете на Go: обработчики, горутины, go test зелёный. Задачи закрываются, а дальше движения нет: интересные куски системы достаются кому-то другому, и на разговоре о сильной роли выясняется, что не хватает архитектуры и понимания, как сервисы живут вместе: транзакции, брокеры, выкат, наблюдаемость.

Проблема почти никогда не в способностях. Знания собирались случайно: статья тут, видео там, задача на работе третья. Получается решето: где-то глубоко, а рядом дыра, о которой вы сами не знаете. Эта программа закрывает решето по порядку и на одной сквозной системе, написанной на Go без тяжёлых фреймворков.

Земля под профессией поехала: написание кода перестало быть узким местом, узким стало понять, что именно нужно сделать, и убедиться, что сделано верно. Почему так и куда ведёт дорога — в общей статье «Зачем этот курс» и в «Кто такой продукт-инженер»; здесь дальше только про программу «Backend · Go».

Что внутри программы

язык 4 фазы данные 5 фаз сеть и API 3 фазы брокеры и сервисы 2 фазы инфраструктура 6 фаз ИИ в работе 2 фазы архитектура 3 фазы методология и роль 3 фазы

Блоки идут по порядку, внутри блока фазы тоже упорядочены; следующая опирается на предыдущие.

  • язык — Основы языка: Go, Алгоритмы и структуры данных, Git и модели ветвления, Go как фундамент.
  • данные — SQL с нуля, PostgreSQL: модель и запросы, PostgreSQL: эксплуатация и масштаб, Другие хранилища, Принципы и паттерны проектирования.
  • сеть и API — Сетевой фундамент, API: REST и контракты, Безопасность и авторизация.
  • брокеры и сервисы — Брокеры и распределённые системы, Микросервисы: архитектура и проблемы.
  • инфраструктура — Контейнеры: Docker, Kubernetes и graceful shutdown, Облака, CI/CD, Качество: стратегия тестов, Наблюдаемость и диагностика.
  • ИИ в работе — Работа с AI-агентами, Создание LLM-приложений.
  • архитектура — Системный дизайн и архитектурный выбор, Domain-Driven Design, Архитектурные паттерны сервиса.
  • методология и роль — Методологии и процесс разработки, Продукт-инженер: роль и практика, Use Case Pattern и сквозной кейс.

Если нужен только кусок пути, ориентируйтесь по блокам: откройте список фаз и посмотрите, где вам неуютно, обычно это видно с первого взгляда.

Что вы будете уметь в конце

  • Читать чужой Go-сервис. Открыть незнакомый репозиторий и за час понять, где данные, как устроена сборка в main, где контекст и отмена, что сломается первым.
  • Принимать решения с обоснованием. Не «возьмём Kafka, потому что модно», а «здесь очередь, потому что вот эти требования, и вот цена»: сравнение хранилищ, брокеры, системный дизайн.
  • Проектировать сервис от задачи бизнеса до схемы данных и контракта: модель PostgreSQL, REST и контракты, DDD и гексагональная раскладка на пакетах Go.
  • Понимать работающую систему и находить причину, когда ей плохо: планировщик и горутины, pprof, эксплуатация PostgreSQL, Kubernetes, логи, метрики и трассировка.
  • Работать с ИИ-агентом так, чтобы он ускорял, а не размножал ошибки: от скиллов и MCP до LLM-приложений с RAG и инструментами на Go.

Как устроено прохождение

Фазы идут по порядку, и каждая опирается на предыдущие: прыгать вперёд обычно больно. Внутри фазы статьи помечены: ★ обязательно — скелет, без которого следующие статьи будут непонятны; дополнительно — глубина по желанию; костёр «что пощупать» — у статьи есть рабочий код в практикуме, и раздел с тем же названием ведёт в репозиторий, а «Сделаем сами» — в ветку с красными тестами.

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

Тренажёры — практика: запросы к живой PostgreSQL, ручки REST на песочнице, код-ревью чужих Go-пакетов, доска системного дизайна, алгоритмы на Go, разбор инцидентов, Mongo, Redis и Neo4j, мок-интервью. На больших темах есть разбор: билет с задачами, которые надо показать руками и объяснить вслух.

Рядом ИИ-ментор и куратор. Ментору можно задать вопрос по абзацу статьи или попросить подсказку по задаче; расход считается в шишках, дневном запасе обращений. Куратор — живой человек, к нему уходит то, с чем модель не справилась.

Статьи открыты всем и читаются без входа. Тесты, тренажёры, разборы и ИИ-ментор живут в кабинете: вход через Яндекс ID даёт три дня полного доступа без карты, дальше подписка, условия на странице программ. Подробно про устройство программы, значки и помощь — в общей статье «Зачем этот курс».

Демо-пример: marketplace-system-go на GitHub

Тот же маркетплейс из разбора «Как разбить систему на сервисы», написанный на Go: net/http и chi, pgx и SQL руками, kafka-go, миграции goose. Каталог, заказы, платежи, уведомления, BFF и веб-клиент, пятнадцать шагов практикума; каждая Go-статья курса со значком костра ведёт в его код.

клонировать репозиторий git clone поднять стенд: docker compose PostgreSQL и Redis в контейнерах прогнать тесты зелёные на настоящей базе запустить сервис и дёрнуть ручку curl отвечает карточкой переключиться на ветку шага

Пять команд от клона до первого задания; дальше каждая статья со значком костра ведёт в конкретный файл этого репозитория.

Что понадобится: Go 1.26 или новее и Docker.

git clone https://github.com/remodov/marketplace-system-go.git
cd marketplace-system-go
docker compose -f infra/compose.yaml up -d postgres-catalog-starter redis
go test ./services/catalog-starter/...     # тесты на настоящей PostgreSQL
go run ./services/catalog-starter/cmd/catalog-starter   # сервис на 8082
curl -s -X POST localhost:8082/products -H 'Content-Type: application/json' \
  -d '{"title":"Беспроводная мышь","price":1990.00,"stock":7}'
curl -s localhost:8082/products

Дальше по шагам: git switch step-02-read-endpoint открывает задание второго шага — условие в services/catalog-starter/TASK.md, один тест красный; ветка step-02-read-endpoint-solution рядом — эталон. Весь стенд с Kafka и MinIO поднимает docker compose -f infra/compose.yaml up -d. План пятнадцати шагов — в docs/practicum/PLAN.md.

Репозиторий: https://github.com/remodov/marketplace-system-go.

Сколько времени это займёт

ПрограммаСтатей и фазТолько чтениеС тестами, тренажёрами и практикумом
Backend · Go396 статей, 28 фазоколо 90 часов200–220 часов

При часе в день по будням полный путь занимает 8–9 месяцев, только обязательные статьи с тестами — 4 месяца; при двух часах в день сроки делятся примерно пополам. Чистое чтение посчитано по объёму текста, к нему добавлены тесты фаз, тренажёры и практикум.

Как проходить, чтобы дошло до конца

  • Не читайте подряд без практики. После фазы про базы данных откройте тренажёр и напишите десяток запросов: прочитанное без применения выветривается за неделю.
  • Не гонитесь за полнотой. Пройдите обязательные статьи, за остальными вернётесь, когда упрётесь в тему на работе.
  • Идите регулярно, а не рывками. Час в день лучше восьми часов в воскресенье.
  • Возвращайтесь к пройденному. Архитектура заиграет иначе после того, как вы увидите, как устроены данные.

Коротко

  • Программа «Backend · Go»: 396 статей, 28 фаз, блоки идут по порядку, и каждая фаза опирается на предыдущие.
  • После фазы тест с порогом 80% и неограниченными попытками; тренажёры дают практику, ИИ-ментор и куратор отвечают по ходу.
  • Демо-пример живёт на GitHub: marketplace-system-go, пять команд от клона до первого задания, ветки step-NN-* с красными тестами и -solution с эталоном.
  • Полный путь при часе в день — 8–9 месяцев, обязательный скелет — 4 месяца.
  • Доходят те, кто практикуется по ходу, не гонится за полнотой и идёт регулярно.

Что почитать дальше