Backend-разработка на Kotlin: фреймворк для создания высоконагруженных серверных API
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
C++ Developer. Professional JavaScript Developer. Professional Android Developer. Professional Microservice Architecture React.js Developer JavaScript Developer. Basic PostgreSQL Программист С C++ Developer. Basic Team Lead PHP Developer. Professional Подготовка к сертификации Oracle Java Programmer (OCAJP) Алгоритмы и структуры данных Разработчик IoT C# Developer. Basic Unreal Engine Technical Game Design C# ASP.NET Core разработчик Python Developer. Professional Python Developer. Basic Node.js Developer iOS Developer. Professional Cloud Solution Architecture Kotlin Backend Developer Agile Project Manager Scala-разработчик Symfony Framework iOS Developer. Basic Супер-интенсив Azure Специализация Python Developer
Инфраструктура
Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс «IaC Ansible» Microservice Architecture Разработчик программных роботов (RPA) на базе UiPath и PIX Внедрение и работа в DevSecOps NoSQL Специализация Administrator Linux
-24%
Разработчик IoT Мониторинг и логирование: Zabbix, Prometheus, ELK MongoDB
-30%
DevOps практики и инструменты MS SQL Server Developer SRE практики и инструменты Administrator Linux. Advanced Infrastructure as a code Супер-интенсив "Tarantool" Специализация Network engineer
Корпоративные курсы
Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс «IaC Ansible» Разработчик программных роботов (RPA) на базе UiPath и PIX Внедрение и работа в DevSecOps NoSQL Spark Developer Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Game QA Engineer IT-Recruiter Enterprise Architect Node.js Developer Cloud Solution Architecture Agile Project Manager Супер-практикум по работе с протоколом BGP Infrastructure as a code Промышленный ML на больших данных Супер-интенсив Azure Руководитель поддержки пользователей в IT
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02
Kotlin Backend Developer

Backend-разработчик на Kotlin

Курс рассчитан на разработчиков, имеющих опыт с объектно-ориентированным программированием и SQL

Длительность обучения:

5 месяцев

4 ак. часа в нед.

Что даст вам этот курс

Это обзорно-практический курс. В нем вы прикоснетесь к большому числу инструментов разработки современных, гибких, высокопроизводительных серверных приложений на языке Kotlin. На некоторых из инструментов - по вашему выбору - вы остановитесь подробнее и реализуете собственный проект с их помощью. Также вы увидите тактические и стратегические архитектурные приемы разработки и как Kotlin помогает в разработке.

Вы научитесь:

  • использовать язык Kotlin для разработки серверных приложений;
  • создавать приложения для разных платформ с помощью Kotlin Multiplatform: JS, JVM, Native (Linux/Windows/MacOs/Android/iOS);
  • применять асинхронное и многопоточное программирование с корутинами;
  • выполнять интеграцию бэкенд-приложения с различными фронтендами с использованием OpenAPI и Kotlin Multiplatform;
  • использовать Kotlin совместно с различными фреймоврками: Spring, Ktor, Kotless (Amazon Web Services);
  • реализовывать асинхронный транспорт с применением WebSocket, RabbitMQ и Kafka;
  • строить хранилища на базе SQL и NoSQL (Cassandra, AWS DynamoDB)
  • писать приложения с монолитной, микросервисной и бессерверной архитектурами;
  • разрабатывать гибкую и надежную бизнес-логику любой сложности, используя инструменты Kotlin DSL, ООП и null-safety;
  • проектировать архитектуру приложений с применением таких подходов как модульная разработка, DDD, TDD, MDD;
  • учитывать требования законодательства в области защиты информации при формировании архитектуры приложения;
  • внедрять элементы BI в приложения для получения аналитических отчетов по функционированию и бизнес-процессам.


Курс рекомендован разработчикам, знакомым с объектно-ориентированным программированием и SQL.




Преподаватели

Сергей Окатов
Кандидат физико-математических наук, руководитель отдела разработки, архитектор Datana (группа компаний ЛАНИТ).
Вячеслав Лапин
Иван Бабинцев
Backend-инженер в Chatfuel
Дмитрий Шагиахметов
Бэкенд-разработчик в Датана
Основные специализации — Full Stack-разработка бизнес-приложений, разработка приложений для стартапов, работа с большими данными. Хорошо понимает последние тенденции в разработке бэкенда и архитектуры, имеет большой опыт в Java и Kotlin.

Свою первую программу написал в 1991 году и разрабатывал всю жизнь. После окончания УрГУ занимался наукой — теоретической физикой — в университетах России, Европы и США.

С 2015 года перешел в коммерческую разработку, занимался проектами в области Web, Java, BigData, Kotlin, работал как в небольших компаниях, так и в корпорациях. Неоднократно принимал участие в развитии различных стартапов — и в роли разработчика, и в качестве основателя.

Среди последних интересов — Serverless для backend, Flutter (frontend для различных платформ), мультиязычные интерфейсы (OpenAPI, gRPC), NewSQL-базы данных, машинное обучение.

Опыт работы в ведущих компаниях IT — Kaspersky Lab, 1C, Крок, AT-Consulting, Luxoft, «Ланит». Внедренец инноваций и лучших практик в «Кровавый Энтерпрайз» — исследую новые технологии и «продаю» крупным IT-проекты, делая их более гибкими, надёжными, быстрыми и современными, не потеряв при этом в функциональности.

Более 12 лет в IT, более 3-х лет опыта управления командами разработчиков.

Является спикером Рит++ 2020, Joker 2015, JPoint 2016, HolyJS 2016; обладатель сертификата Oracle Certified Programmer Java SE 11 Programmer.

Образование: ВМиК МГУ, Горный институт.

8 лет опыта промышленной разработки, в том числе создания и поддержания веб-приложений, инфраструктурных решений, высоконагруженных систем

Активно изучаю возможности Kotlin для разработки высоконагруженных систем

Стэк: Kotlin, Java, Python

Бэкенд-разработчик в Датана. В работе приходится иметь дело не только с бэкендом, но и с фронтендом.
Прошел путь от низкоуровневой разработки для микроконтроллеров до разработки микросервисов на Kotlin и Python.
В своем багаже имеет опыт разработки:
- Программ для контроллеров STM32 (С);
- Десктопных приложений для Windows (C#);
- Мобильных приложений для Android (Kotlin);
- Фронтенд на Angular (Typescript);
- Серверных приложений под Linux (Kotlin, Python).

Сергей
Окатов
Вячеслав
Лапин
Иван
Бабинцев
Дмитрий
Шагиахметов

Преподаватели

Сергей Окатов
Кандидат физико-математических наук, руководитель отдела разработки, архитектор Datana (группа компаний ЛАНИТ).
Основные специализации — Full Stack-разработка бизнес-приложений, разработка приложений для стартапов, работа с большими данными. Хорошо понимает последние тенденции в разработке бэкенда и архитектуры, имеет большой опыт в Java и Kotlin.

Свою первую программу написал в 1991 году и разрабатывал всю жизнь. После окончания УрГУ занимался наукой — теоретической физикой — в университетах России, Европы и США.

С 2015 года перешел в коммерческую разработку, занимался проектами в области Web, Java, BigData, Kotlin, работал как в небольших компаниях, так и в корпорациях. Неоднократно принимал участие в развитии различных стартапов — и в роли разработчика, и в качестве основателя.

Среди последних интересов — Serverless для backend, Flutter (frontend для различных платформ), мультиязычные интерфейсы (OpenAPI, gRPC), NewSQL-базы данных, машинное обучение.

Вячеслав Лапин
Опыт работы в ведущих компаниях IT — Kaspersky Lab, 1C, Крок, AT-Consulting, Luxoft, «Ланит». Внедренец инноваций и лучших практик в «Кровавый Энтерпрайз» — исследую новые технологии и «продаю» крупным IT-проекты, делая их более гибкими, надёжными, быстрыми и современными, не потеряв при этом в функциональности.

Более 12 лет в IT, более 3-х лет опыта управления командами разработчиков.

Является спикером Рит++ 2020, Joker 2015, JPoint 2016, HolyJS 2016; обладатель сертификата Oracle Certified Programmer Java SE 11 Programmer.

Образование: ВМиК МГУ, Горный институт.

Иван Бабинцев
Backend-инженер в Chatfuel
8 лет опыта промышленной разработки, в том числе создания и поддержания веб-приложений, инфраструктурных решений, высоконагруженных систем

Активно изучаю возможности Kotlin для разработки высоконагруженных систем

Стэк: Kotlin, Java, Python

Дмитрий Шагиахметов
Бэкенд-разработчик в Датана
Бэкенд-разработчик в Датана. В работе приходится иметь дело не только с бэкендом, но и с фронтендом.
Прошел путь от низкоуровневой разработки для микроконтроллеров до разработки микросервисов на Kotlin и Python.
В своем багаже имеет опыт разработки:
- Программ для контроллеров STM32 (С);
- Десктопных приложений для Windows (C#);
- Мобильных приложений для Android (Kotlin);
- Фронтенд на Angular (Typescript);
- Серверных приложений под Linux (Kotlin, Python).

Отзывы

4
Дмитрий
Шагиахметов
В курсе понравилось то, что рассматриваются как популярные в Java-среде технологии (Spring, Kafka, PostgreSQL и т.д.) с примерами на Kotlin, так и новые технологии экосистемы Kotlin (Ktor, Kotless). Преподаватели дают не только обзор технологий, но и современные подходы к разработке и тестированию кода. Код-ревью домашних заданий на высоком уровне с советами по оптимизации кода. Я пришел на этот курс с поверхностными знаниями в области бэкенда и получил практические навыки по разработке приложений, начиная от выбора архитектуры и заканчивая низкоуровневой работой с распределенной базой данных.
Читать целиком
Сергей
Опыт работы программистом более 20 лет. Опробовал почти все современные (и уже не очень) языки программирования.

Kotlin меня заинтриговал своей универсальностью, ведь на нём можно разрабатывать всё, от front-end до мобильных приложений. Но так как язык достаточно молодой, информации по нему недостаточно. Поэтому я решил пройти курс от Otus по back-end разработке на Kotlin.

Информация от практикующих преподавателей была достаточно полезна. По тем темам с которыми я уже был знаком обнаруживались интересные уточняющие нюансы, а темы о которых ранее знал только понаслышке, были раскрыты достаточно внятно и на конкретных примерах.

К сожалению достаточно времени на выполнение домашних задания у меня не нашлось, поэтому весь курс по сути для меня был как крайне полезная конференция с элементами интерактива. Но благо у Otus есть возможность остаться на второй год, которой я всенепременно воспользуюсь.
Читать целиком
Петр
Бережков
Курс понравился тем, что в относительно короткий срок позволяет даже очень поверхностно знакомому с Java человеку на более чем приемлемом для старта уровне освоить язык и пройти весь путь от условного "Hello world" до создания полноценного веб-сервиса. Помимо непосредственно аспектов разработки серверных приложений на Kotlin, в рамках курса рассматривается и множество сторонних технологий, без которых разработка современных высоконагруженных систем практически не жизнеспособна.
Читать целиком
Александр
Попович
Знаком с языком программирования Котлин через призму Андроид разработки. Благодаря данному курсу получилось быстро и эффективно погрузится в бэкенд разработку. Очень понравилось, что давался не только обзор технологий, но и реальное применение из опыта преподавателей. Практические задания помогают закрепить знания и дают разнообразие в реализации. Код ревью и практические уроки на высоком уровне, помогают заполнить пробелы и разъяснить непонятные моменты. Благодаря курсу удалось погрузиться в бэкенд разработку, узнать много нового и найти работу по душе.
Читать целиком
Дмитрий
Шагиахметов
В курсе понравилось то, что рассматриваются как популярные в Java-среде технологии (Spring, Kafka, PostgreSQL и т.д.) с примерами на Kotlin, так и новые технологии экосистемы Kotlin (Ktor, Kotless). Преподаватели дают не только обзор технологий, но и современные подходы к разработке и тестированию кода. Код-ревью домашних заданий на высоком уровне с советами по оптимизации кода. Я пришел на этот курс с поверхностными знаниями в области бэкенда и получил практические навыки по разработке приложений, начиная от выбора архитектуры и заканчивая низкоуровневой работой с распределенной базой данных.
Читать целиком
Сергей
Опыт работы программистом более 20 лет. Опробовал почти все современные (и уже не очень) языки программирования.

Kotlin меня заинтриговал своей универсальностью, ведь на нём можно разрабатывать всё, от front-end до мобильных приложений. Но так как язык достаточно молодой, информации по нему недостаточно. Поэтому я решил пройти курс от Otus по back-end разработке на Kotlin.

Информация от практикующих преподавателей была достаточно полезна. По тем темам с которыми я уже был знаком обнаруживались интересные уточняющие нюансы, а темы о которых ранее знал только понаслышке, были раскрыты достаточно внятно и на конкретных примерах.

К сожалению достаточно времени на выполнение домашних задания у меня не нашлось, поэтому весь курс по сути для меня был как крайне полезная конференция с элементами интерактива. Но благо у Otus есть возможность остаться на второй год, которой я всенепременно воспользуюсь.
Читать целиком
Петр
Бережков
Курс понравился тем, что в относительно короткий срок позволяет даже очень поверхностно знакомому с Java человеку на более чем приемлемом для старта уровне освоить язык и пройти весь путь от условного "Hello world" до создания полноценного веб-сервиса. Помимо непосредственно аспектов разработки серверных приложений на Kotlin, в рамках курса рассматривается и множество сторонних технологий, без которых разработка современных высоконагруженных систем практически не жизнеспособна.
Читать целиком
Александр
Попович
Знаком с языком программирования Котлин через призму Андроид разработки. Благодаря данному курсу получилось быстро и эффективно погрузится в бэкенд разработку. Очень понравилось, что давался не только обзор технологий, но и реальное применение из опыта преподавателей. Практические задания помогают закрепить знания и дают разнообразие в реализации. Код ревью и практические уроки на высоком уровне, помогают заполнить пробелы и разъяснить непонятные моменты. Благодаря курсу удалось погрузиться в бэкенд разработку, узнать много нового и найти работу по душе.
Читать целиком

Необходимые знания

Обязательно:

  • опыт программирования на любом объектно-ориентированном языке программирования;
  • SQL
  • навыки работы с Linux.

Будет плюсом:

  • опыт работы на Java;
  • знание шаблонов проектирования;
  • умение писать чистый код;
  • навыки использования git.

Перед началом обучения вам нужно будет самостоятельно установить Ubuntu, Docker, Docker-Compose, Intellij и aws-cli. Требования к ПК: не менее 8 ГБ оперативной памяти.

Корпоративное обучение для ваших сотрудников
>
Программа обучения
В процессе обучения вы получите комплексные знания и навыки.
Тема 1. Введение в курс и обзор языка
Тема 2. Основы Kotlin, типы, операторы, функции
Тема 3. Объектно-ориентированное программирование
Тема 4. Предментно ориентированные языки (DSL)
Тема 5. Асинхронное и многопоточное программирование с корутинами
Тема 6. Асинхронное и многопоточное программирование с каналами
Тема 7. Kotlin Multiplatform и интероперабельность с JVM, JS
Тема 8. Маркетинг и аналитика проекта
Тема 9. Тестирование проекта, TDD, MDD
Тема 10. Архитектурные вопросы и инициализация проекта
Тема 11. Практика по инициализации проекта и TDD
Тема 12. Создаем интерфейс с помощью OpenAPI
Тема 13. Создаем API-модели с Kotlin Multiplatform
Тема 14. Практика по разработке транспортных моделей
Тема 15. Разработка монолитного приложения со Spring
Тема 16. Разработка микросервисного приложения с KTOR
Тема 17. Разработка бессерверного приложения на примере AWS Lambda с использованием Kotless
Тема 18. Практика по работе с фреймворками
Тема 19. Разработка библиотеки для шаблона Chain of Responsibilities
Тема 20. Создание модуля бизнес-логики с использованием шаблона Цепочка Ответственности.
Тема 21. Шаг валидации в бизнес-цепочке
Тема 22. Практика по созданию бизнес-уровня Backend-приложения
Тема 23. Транспорт с WebSocket
Тема 24. Транспорт с RabbitMQ
Тема 25. Транспорт с Kafka
Тема 26. Практика по транспортному уровню приложения
C 2 октября
Тема 27. Создание репозитария
Тема 28. Репозитарий с PostgreSQL
Тема 29. Репозитарий с Cassandra
Тема 30. Репозитарий с DynamoDB
Тема 31. Практика по работе с базами данным в Backend-приложении
C 20 октября
Тема 32. Общие принципы защиты информации
Тема 33. Авторизация и аутентификация в фреймворках
Тема 34. Практика по управлению пользователями
C 30 октября
Тема 35. Общие принципы мониторинга
Тема 36. Сбор логов и построение аналитических отчетов
Тема 37. Практика по мониторингу
C 10 ноября
Тема 38. Обзор значимых проектов на Kotlin, которые выходят за рамки курса
Тема 39. Консультация по проектам и домашним заданиям
Тема 40. Защита проектных работ
Скачать подробную программу
Выпускной проект
За время обучения вы разработаете собственный проект для портфолио. Тему для выпускного проекта вы выбираете либо самостоятельно, либо из предложенных преподавателями. В проекте вы по своему выбору применяете те инструменты, которые рассматриваются на вебинарах.

Процесс обучения

Все обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в слаке курса, сдача домашних работ и получение обратной связи от преподавателя.

Вебинары идут дважды в неделю по 2 академических часа (то есть астрономических 1,5 часа). Все вебинары сохраняются и в записи в вашем личном кабинете.

В самом начале обучения идет краткий обзор возможностей языка Kotlin. Подробное изучение этих возможностей на практике происходит всё остальное время во время разработки приложений.

На вебинарах разрабатываются 3 высоконагруженных приложения:
- приложение с монолитной архитектурой с помощью Kotlin и Spring, которое хранит свои данные в PostgreSQL;
- высоконагруженное бэкенд-приложение с микросервисной архитектурой, которое способно масштабироваться под нагрузку любой величины, с помощью KTOR Framework, развернутое в Docker-контейнере и хранящее данные в Cassandra;
- высоконагруженное приложение с бессерверной архитектурой с помощью Kotless Framework, развернутое на AWS и работающие с DynamoDB.
Все ключевые классы покрываем тестами, разрабатываем в TDD, подключаем систему мониторинга на базе ELK-stack.


В ходе обучения вам будет необходимо выполнять домашние задания. Каждое домашнее задание посвящается одному из компонентов вашего выпускного проекта. После выполнения всех домашних заданий, вы получите готовый выпускной проект.
Все домашние задания связаны между собой.
Сдача домашних заданий происходит в виде ревью преподавателями, в результате которого вы получаете рекомендации по улучшению своего кода.
Получить консультацию
Наш специалист свяжется с вами в ближайшее время. Если у вас возникли трудности в выборе курса или проблемы технического плана, то мы с радостью поможем вам.
Спасибо!
Мы получили Вашу заявку, в ближайшее время с Вами свяжется наш менеджер.

После обучения вы


  • получите материалы по всем занятиям (видеозаписи занятий, презентации, примеры кодов);

  • освоите Kotlin и научитесь создавать на нем высокопроизводительные серверные приложения;

  • сможете подружить Kotlin и Spring;

  • научитесь использовать KTOR, Kotlin Multiplatform, Kotless;

  • получите помимо языка спектр как классических, так и самых современных интрументов, на которые есть высокий неудовлетворенный спрос на рынке (Cassandra, AWS, ELK-stack и др.)

  • получите сертификат об окончании курса;

  • получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе).

Дата выдачи сертификата: 14 мая 2022 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Kotlin Backend Developer»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Kotlin Backend Developer»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Прошедшие открытые вебинары
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Использование GraphQL в разработке бэкенд на Kotlin
Иван Бабинцев
День открытых дверей
11 июня в 19:00
Оставьте заявку, чтобы получить доступ к записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке

Партнеры ждут выпускников этого курса