Kotlin Backend Developer. Professional

Профессиональная backend-разработка на Kotlin

25 октября

Professional

5 месяцев

Онлайн

Ср 19:00 Мск, Сб 11:00 Мск

Для кого этот курс?

1. Для разработчиков, уже знакомых с Java. Изучение бэкенд-разработки на Kotlin будет более легким и интуитивным, поскольку Kotlin полностью совместим с Java и может использоваться вместе с уже существующим Java-кодом.

2. Для опытных разработчиков других языков программирования. Если у вас уже есть опыт работы с другими языками программирования, такими как PHP, Python, JavaScript, C# и другими, изучение бэкенд-разработки на Kotlin может быть несложным, благодаря простому и выразительному синтаксису этого языка программирования.

3. Для мобильных разработчиков. Использование Kotlin в бэкенд-разработке позволит вам сохранить единый язык программирования как на фронтенде (Android) так и на бэкенде. Это упростит командную работу и повысит эффективность разработки, поскольку Android-разработчики уже знают Kotlin и могут использовать свои навыки на бэкенде.

4. Для Kotlin бэкенд-разработчиков. Даже если у вас есть немалый опыт разработки на Kotlin, на курсе вы получите представление о большом числе современных практик разработки, в том числе чистой архитектуре, микросервисах, технологиях высокой доступности и обработке больших данных.

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

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

Будет плюсом

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

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

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

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

За время обучения преподаватели на вебинарах в качестве примера разработают проект маркетплейса от идеи и постановки задачи до конечного решения.

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

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

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

Легенда курса


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

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

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

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

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

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

 

Трудоустройство

  • Карьерные мероприятия в сообществе
    Публичный разбор резюме
    Публичное прохождение собеседования и воркшопы
  • Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров

Kotlin Backend Developer

Перспективы направления
Средний уровень зарплат в Москве:
200 000Middle+ специалист
300 000Senior специалист
450
актуальных вакансий

Работодатели курса

Формат обучения

Интерактивные вебинары


2 занятия по 2 ак. часа в неделю. Доступ к записям и материалам остается у вас навсегда

Практика


Домашние задания + проектная работа, которая усилит ваше портфолио

Активное комьюнити


Общайтесь с преподавателями голосом на вебинарах и в Telegram-чате

Выпускной проект


За время обучения вы разработаете собственный проект для портфолио. Тему для выпускного проекта вы выбираете либо самостоятельно, либо из предложенных преподавателями.


В проекте вы по своему выбору применяете те инструменты, которые рассматриваются на вебинарах.

Программа

Введение в Kotlin

Цель модуля: познакомить студентов с общими сведениями о языке, изучить синтаксис Kotlin, познакомиться с наиболее важными компонентами экосистемы, включая Gradle, DSL и корутины, сделать программу и автоматизированные тесты на Kotlin. Для работы потребуются: JDK 11, git, Intellij Idea Community Edition или Ultimate.требования к ПК: памяти не менее 8 ГБ, рекомендуется не менее 16 ГБ.

Тема 1: Введение в курс // ДЗ

Тема 2: Основные конструкции Kotlin

Тема 3: Объектно-ориентированное программирование

Тема 4: Предментно ориентированные языки (DSL)

Тема 5: Асинхронное и многопоточное программирование с корутинами

Тема 6: Асинхронное и многопоточное программирование с каналами

Тема 7: Kotlin Multiplatform и интероперабельность с JVM, JS

Старт проекта и API

В модуле обсуждается этап подготовки к старту проекта, который предшествует началу разработки. Среди тем рассматривается работа с идеей проекта, маркетинговая проработка, формирование требований и организация тестирования. Также обсуждается целевая архитектура проекта. Результатом работы над модулем будет список требований, которые предъявляются к учебному и выпускным проектам. Также рассматривается блок компонентов, с которых начинается (должна начинаться) разработка крупного проекта - интерфейс между бэкендом и клиентами (фронтенд или API-клиенты).

Тема 1: Маркетинг и аналитика проекта // ДЗ

Тема 2: Основы DevOps и среда выполнения приложения

Тема 3: Тестирование проекта

Тема 4: Архитектурные принципы и архитектура проекта

Тема 5: Создаем интерфейс с помощью OpenAPI // ДЗ

Тема 6: Создаем внутренние модели и маперы

Тема 7: Практика по инициализации проекта и API

Реализация REST и асинхронного транспорта с фреймворками

Изучить особенности использования фреймворков Spring, KTOR и Kotless, а также создать три приложения на Kotlin в монолитной, микросервисной и бессерверной архитектурах.

Тема 1: Разработка приложения со Spring // ДЗ

Тема 2: Разработка микросервисного приложения с KTOR

Тема 3: Разработка бессерверного приложения

Тема 4: Транспорт с WebSocket // ДЗ

Тема 5: Транспорт с RabbitMQ

Тема 6: Транспорт с Kafka

Тема 7: Практика по REST и асинхронному транспорту с фреймворками

Модуль бизнес-логики проекта

В этом модуле обсуждается создание бизнес-логики проекта. Бизнес-логика выносится в отдельный JVM-модуль/Gradle-подпроект и становится независимым от конкретной реализации транспортных моделей, баз данных, фреймворков и пр. Кроме того, шаблон проектирования Цепочка обязанностей позволяет бизнес-логику сделать максимально гибкой. Доработка вашего приложения при изменении постановки задачи будет простой, быстрой и дешевой.

Тема 1: Сбор логов и метрик // ДЗ

Тема 2: Основы бизнес-логики и разработка библиотеки для шаблона CoR

Тема 3: Создание модуля бизнес-логики с использованием шаблона Цепочка Ответственности.

Тема 4: Шаг валидации в бизнес-цепочке

Тема 5: Машина состояний

Тема 6: Практика по созданию бизнес-уровня backend-приложения

Работа с базами данных в Kotlin-проекте

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

Тема 1: Создание репозитария // ДЗ

Тема 2: Конкурентный доступ к БД

Тема 3: Репозитарий с PostgreSQL

Тема 4: Репозитарий с Cassandra

Тема 5: Репозитарий с графовой базой данных

Тема 6: Практика по работе с базами данных в backend-приложении

Защита информации и управление пользователями

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

Тема 1: Общие принципы защиты информации // ДЗ

Тема 2: Авторизация и аутентификация в фреймворках

Тема 3: Практика по управлению пользователями

Проектная работа

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

Тема 1: Обзор значимых проектов на Kotlin, которые выходят за рамки курса; выбор темы проекта

Тема 2: Консультация по проектам и домашним заданиям

Тема 3: Защита проектных работ

Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит

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

Руководитель курса

Сергей Окатов

Руководитель управления разработки, Кандидат физико-математических наук

БФТ.ЦР

Кирилл Крылов

Kotlin Software Developer

Евгений Непомнящий

Разработчик

IT Sense

Леонид Земенков

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

Ennabl, Inc.

Александр Таношкин

Разработчик

Крупный классифайде по недвижимости

Дмитрий Говорухин

Tech Lead

Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания

Ближайшие мероприятия

Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.

Возможности Kotlin для создания DSL на примере JsonBuilder
Евгений Непомнящий
На вебинаре:
- рассмотрим общую теорию о DSL: назначение, особенности, практика;
- попрактикуемся в создание DSL на примере JsonBuilder;
- рассмотрим возможности Kotlin, полезные для создания DSL.

В результате вебинара:
- узнаете, как создавать собственные DSL и применять их при создании приложения;
- познакомитесь с замыканиями и extension-методами.

Вебинар будет полезен Kotlin-разработчикам и тем, кто рассматривает этот язык для изучения.
...
18 октября в 16:00
Открытый вебинар

Прошедшие
мероприятия

Сергей Окатов
Открытый вебинар
Реализуем высокую доступность: суперкомпьютер по цене ноутбука
Сергей Окатов
Открытый вебинар
Применимость Kotlin в различных направлениях разработки: Multimedia, ML, 3D/VR, Frontend, IoT/Robotics, Blockchain
Для доступа ко всем прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!

Корпоративное обучение для ваших сотрудников

Отус помогает развивать высокотехнологичные Команды. Почему нам удаётся это делать успешно:
  • Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
  • Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
  • OTUS проверяет знания студентов перед стартом обучения и после его завершения
  • Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
  • Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
  • OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год

Отзывы

Дмитрий Шагиахметов

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

Александр Попович

12.01.2021
Знаком с языком программирования Котлин через призму Андроид разработки. Благодаря данному курсу получилось быстро и эффективно погрузится в бэкенд разработку. Очень понравилось, что давался не только обзор технологий, но и реальное применение из опыта преподавателей. Практические задания помогают закрепить знания и дают разнообразие в реализации. Код ревью и практические уроки на высоком уровне, помогают заполнить пробелы и разъяснить непонятные моменты. Благодаря курсу удалось погрузиться в бэкенд разработку, узнать много нового и найти работу по душе.

Веселина Зацепина

27.05.2022
Курс потрясающий, потрясающий и еще раз потрясающий!:) Структура подачи информации, "каникулы", преподаватели, отдельная благодарность Сергею Окатову за труд! Слов нет, чтобы описать насколько полезен для меня оказался курс! Всем советую!

Михаил Фигурин

27.07.2022
Я поражен информационной вместимостью курса. Это вызывает глубокое уважение к автору) издержки неизбежны, много приходится проходить по верхам, но, я считаю, это самый ценный формат. Углубиться все равно придется потом каждому самостоятельно, зато понимание общей картины бесценно

Дмитрий Бусыгин

09.01.2023
Для меня обучение проходило очень комфортно, т. к. был знаком с языком Котлин по андройд разработке и немного с бэкендом на КТор. Почерпнул очень много полезных знаний по бекенду, архитектуре приложения, шаблону программирования CoR, и его реализацией, автором которой является сам автор курса, спасибо большое, курсом доволен! Единственное, предполагаю, что курс не совсем подходит для новичков, не знакомых с языком, основами бэка, о чем в принципе и говорит название курса.

Евгений Галимсаров

24.06.2023
Я бэкэнд-разработчик на kotlin, в профессии 2 года, до этого более 10 лет работал в финансах: банк, страховая компания. Но потом решил сменить профессию, закончил он-лайн курс по Java, прошёл собеседование, устроился на работу. После первого года в IT я прошёл несколько собеседований и понял, что знаний и навыков не хватает, стал искать курсы не для начинающих, а для тех, кто уже что-то знает / умеет, но хочет выйти на новый уровень. Ну и собственно, нашёл то, что мне нужно)) Мне нравится в Otus, что есть даты старта и окончания курсов. В отличие от предыдущего онлайн-университета здесь ты чётко знаешь: есть старт, есть финиш, нужно быть в тонусе, сдавать домашние задания, к определённой дате курс закончится, и ты сможешь перейти к новому этапу: внедрять полученные знания, умения и навыки / обсудить с руководителем повышение з/п или начать поиск новой работы. Нравится наполнение курса - актуализируется со временем и, в целом, соответствует тому, что актуально на рынке. Что добавить? Можно подумать о формате записанных вебинаров, которые студенты могут смотреть в удобное время, потом сдавать домашние задания. Фактически, это означает отказ от чётких дат начала и окончания курсов, но кому-то такой график может показаться удобнее. Понимание того, что можно работать по-другому - не так, как мы делаем сейчас. Новой должности у меня пока нет, как и нового оффера, но есть уверенность, что в ближайшее время что-то будет!))

Егор Ширнин

24.06.2023
Выбрал этот курс, т.к. хотел повысить навыки работы с инструментами kotlin в backend. Мне понравилось, что есть домашнее задание, в котором можно практически применить преподаваемые технологии. Добавить - наверное, я бы не добавлял ничего в курс, т.к. он и так сильно переполнен. Обучение дало мне улучшенное понимание разных инструментов и умение объединить их в один проект.

Роман Боровиков

02.07.2023
До обучения на курсе у меня бы опыт 9 месяцев работы kotlin-разработчиком на стэке jvm, kotlin, spring, postgres в РТК ИТ. В мир JVM я пришел из разработки для SAP ERP. Поэтому искал для себя курс с задачами: подтянуть kotlin( coroutines, DSL), изучить на практике работу с брокером сообщений и посмотреть на подходы современной backend разработке. Этот курс привлек меня обзором актуальных тем и технологий для Backend-разработчика и практической работой над ними. Получил я от обучения гораздо больше, чем запланировал и ожидал от него. Курс на практике учит подходу к разработке с применением принципов «Чистой архитектуры». Я смог взглянуть на разработку backend’a под другим углом. Усилия, потраченные на учебу и разработку выпускного проекта, не пропали даром. Вот несколько примеров из моей рабочей жизни: 1) написание Open API и генерация транспортных моделей из него – теперь с его помощью спроектировал API для интеграции со сторонней системой. 2) Стал уверенно применять coroutines на работе там, где это уместно. 3) Довольно быстро разобрался с добавлением RabbitMQ с нуля в рабочий проект на Spring 4) Написание кода для нового микросервиса с нуля – не вызывает никаких проблем. Чего не мог сказать до начала курса. Чего мне не хватило на курсе: Практики по ci/cd – docker-compose – это отлично и здорово, но хочется практики по kubernetes, а было одно занятие с теорией. Понял, что буду углубляться в эту тему дальше. Хочу еще раз сказать «Спасибо!» Сергею и всей команде курса! Постараюсь развивать получившееся приложение и после окончания курса.

Андрей Акопов

04.07.2023
На данный момент я работаю Oracle разработчиком. Так как в нашей стране происходит импортозамещение и все госы уходят от данной СУБД, а так же современные веяния убирают всю бизнес логику из базы данных, для меня остро встал вопрос перехода на более современные и актуальные технологии. Работодатель сам предложил в рамках переквалификации выбрать курсы и оплатить их, и после советов знакомых и коллег выбор пал на Otus, а именно на Kotlin Backend Developer Professional. Таким образом я сохраняю своё основное направление - бэк разработку, но уже на уровне веб приложения, а не БД. Мне понравилось как составлен курс, практические домашние задания это не просто набор задач, а небольшие составляющие, из которых складывается выпускная работа, которую в конце нужно показать и защитить. Это давало бОльшую вовлечённость в то что я делал. Лекции обычно разбиты на две части - теория и лайв. Преподаватели являются практикующими разработчиками в крупных конторах, один даже из jetbrains =)) Всегда есть обратная связь, как во время лекций есть специальные перерывы на вопросы и обсуждения, так и вне занятия в общем чате можно задать вопрос и не остаться без ответа. Кроме этого есть практические занятия примерно раз в 5 лекций, которые посвящены только вопросам, обсуждениям и консультациям по ДЗ. Курс затрагивает множество актуальных тем, cовременных технологий (ktor, spring boot, kafka, sql/nosql/графовые БД и тп ) и подходов к разработке (за паттерн CoR Сергею отдельный респект, мне понравился, буду его применять). Обратная сторона того, что на курсе рассматривается так много тем - неглубокое погружение в каждую из них. Это очевидно и ожидаемо, есть курсы которые один спринг изучают по пол года, потому что это отдельный мир, да и курс не про спринг, а про подходы к разработке, поэтому не надо ждать, что курс сделает из вас гуру кафки или спринга. Но я бы увеличил продолжительность курса, например до 8 месяцев или его интенсивность - не по 2 лекции в неделю, а по 3, что бы лучше раскрывать каждую из тем. На лекции по Kafka преподаватель предложил пройти тест по результатам теоретический части - мне показалось это круто и полезно, я бы внедрил это повсеместно на каждой лекции, это тоже даёт бОльшую вовлечённость и лучшее усвоение теории. Так же важно понимать, что самому языку Kotlin тут уделяется около трёх лекций, предполагается, что принципы ООП студент уже знает. На курсе учат именно правильно разрабатывать: как строить проект, паттерны разработки, структуре и архитектуре проекта, а не println("Hello world"), повторюсь, это важно понимать! Для себя сделал вывод, что курс был мне полезен и дал достаточное количество знаний для перехода на веб разработку, в своей компании я начну просить небольшие задачи уже в качестве веб разработчика бэкенда.

Алексей Стулов

05.07.2023
До и во время обучения я работал middle php разработчиком в крупной e-commerce компании. Данный курс мне посоветовал мой бывший тимлид, который проходил данный курс и после успешного завершения получил новую работу Kotlin разработчиком. Хоть я и не смог доделать всю домашнюю работу к моменту защиты, курс мне понравился, и я уже не раз рекомендовал его своим коллегам и знакомым. Программа насыщена большим количеством современных подходов и практик, которые мне удалось сразу применить на работе в одном Kotlin-проекте.

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

OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса.

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

  • освоите Kotlin и научитесь создавать на нем высокопроизводительные серверные приложения; сформируете навык разработки экстремальных проектов;
  • сможете подружить Kotlin и Spring, научитесь использовать KTOR, Kotlin Multiplatform, Kotless; получите спектр как классических, так и самых современных инструментов, на которые есть высокий неудовлетворенный спрос на рынке (Cassandra, ELK-stack и др.);
  • получите материалы по всем занятиям (видеозаписи занятий, презентации, примеры кодов).

Частые вопросы

Что, если в середине курса я не смогу продолжать обучение?
У вас есть право одного бесплатного трансфера в другую группу.
Обязательно ли защищать выпускной проект?
Для получения сертификата OTUS необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
Я могу вернуть деньги?
Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.