Чему вы научитесь
- Проектировать домен на Kotlin так, чтобы недопустимые состояния не компилировались: sealed-иерархии, value class-ы, инварианты в init
- Писать use case-ы с sealed-результатами, явной транзакционной границей и корректной отменой корутин
- Реализовывать один и тот же HTTP API на Spring Boot 4 и Ktor 3.5 и понимать, что общее, а что — особенность фреймворка
- Работать с PostgreSQL через JDBC, Exposed и jOOQ, проектировать схему с ограничениями и индексами под реальные запросы
- Строить события через transactional outbox и обрабатывать их идемпотентно в Kafka
- Применять Redis для кэша, блокировок и rate limiting; защищать внешние вызовы retry, timeout и circuit breaker
- Тестировать на четырёх уровнях: fake-порты, property-тесты, Testcontainers, HTTP-контракт, виртуальное время
- Настраивать структурные логи, метрики Micrometer и трассы OpenTelemetry так, чтобы один запрос читался как единая картина
- Собирать сервис в non-root образ с CDS, поднимать окружение одной командой и прогонять CI с обязательными проверками
- Вводить Kotlin в Java-команду: interop, постепенная миграция, team guide и библиотека для Java-потребителей
О курсе
Курс о серверной разработке на Kotlin 2.4 для тех, кто уже пишет backend на Java, TypeScript, Go или C#. Семнадцать глав проходят путь от идиом языка до production-сервиса: корутины, Spring Boot 4 и Ktor 3.5, PostgreSQL через JDBC, Exposed и jOOQ, Kafka и outbox, Redis и устойчивость к отказам, тесты, наблюдаемость, контейнеры и CI. Всё строится на одном сквозном проекте — сервисе бронирования переговорных Atrium, который к концу курса реализован в двух вариантах и собран в образы.
Для кого этот курс
Backend-разработчики уровня junior+ и middle, которые пишут серверный код на Java, TypeScript, Go или C# и переходят на Kotlin — или уже работают в Kotlin-проекте и хотят писать идиоматично. Java-разработчикам из Spring-команд курс показывает, что меняется в проектировании; разработчикам с TypeScript, Go и C# — как войти в JVM-экосистему через Kotlin, минуя Java; тимлидам — как принять решение о внедрении Kotlin и не повторить типичные ошибки. Разработчикам, знающим Kotlin по Android, курс даёт серверную часть: корутины на сервере, фреймворки, базы, Kafka, эксплуатацию.
Курс не подойдёт тем, кто не писал серверный код ни на одном языке со статической типизацией, и тем, кому нужен справочник по синтаксису Kotlin без привязки к backend-задачам.
Начальные требования
- Опыт серверной разработки на любом языке со статической типизацией: HTTP и REST, SQL, транзакции, основы Docker и git
- Знание Kotlin, Spring, Ktor и корутин не требуется — они разбираются с нуля в контексте backend-задач
- Для практики: JDK 25, IntelliJ IDEA, Docker с Compose, 8 ГБ памяти для локального стека (PostgreSQL, Kafka, Redis)
Преподаватели курса
Формат курса
Текстовые уроки с кодом из сквозного проекта, практическое задание и вопросы для самопроверки в каждом уроке, тестовые задачи в конце глав 3–14. Проект доступен в репозитории курса и собирается локально.
Что вы получите
- Сквозной проект Atrium: домен, use case-ы, два приложения, инфраструктура, тесты, Dockerfile, Compose, CI
- Схему PostgreSQL с миграциями, exclusion constraint и индексами, проверенными тестами планов
- Готовые адаптеры: outbox и relay, идемпотентный consumer, Redis-блокировка и rate limiter, resilient-клиент платёжного провайдера
- Team guide, ADR и production-чеклист, которые можно перенести в свой проект
- Тестовые задачи по каждой главе с объяснением после неверного ответа
Нагрузка
6–8 часов в неделю