Kotlin Backend Developer. Professional

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

27 февраля

Professional

5 месяцев

Онлайн

Вт/Пт 19: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: Функциональные элементы Kotlin

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

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

Расширенные возможности Kotlin

Тема 1: Конкурентность с корутинами // ДЗ

Тема 2: Конкурентность с Sequence и Flow-потоками

Тема 3: Мультиплатформенная разработка

Тема 4: Интероперабельность с другими языками

Тема 5: Расширенные возможности Gradle

Подготовка к разработке

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

Тема 2: Общие принципы защиты информации

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

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

Разработка API

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

Тема 2: API колаборативных протоколов

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

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

Тема 5: Мониторинг, сбор логов и метрик

Фреймворки и асинхронный транспорт

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

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

Тема 3: Транспорт с WebSocket

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

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

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

Бизнес-логика проекта

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

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

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

Работа с базами данных

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

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

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

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

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

Развитие бизнес-логики проекта

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

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

Тема 3: Введение в машинное обучение

Тема 4: Реализация алгоритмов ML в Kotlin-проекте

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

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

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

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

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

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

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

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

Full Stack-разработчик

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

Kotlin Software Developer

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

Разработчик

IT Sense

Анастасия Порхун

Специалист по информационной безопасности

Отдел безопасности сетевых приложений

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

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

Сергей Окатов
Открытый вебинар
Как подружить Kotlin и Rust: один проект на двух языках
Сергей Окатов
Открытый вебинар
К чему готовиться бэкендеру: обзор предстоящих революций в ИТ
Для доступа ко всем прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!

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

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

Отзывы

Николай Зюзичев

25.01.2024
Шикарный курс с отличными преподавателями! Совсем новичкам будет сложно, лучше иметь хотя 2-3 года опыта работы. Плюс, я очень пожалел, что не получилось с linux - часть курса прошла мимо. Для новичков классно то, что преподы - действующие программисты с большим опытом и делятся практически всем, что вы сможете спросить :) На курсе все зависит только от вас - сколько можете взять инфы, а вот ее прямо очень много =)

Антон Вершинин

24.01.2024
Это безусловно один из самых лучших курсов на платформе ОТУС, если не самый лучший. Руководитель данного курса Сергей Окатов - очень талантливый преподаватель, сильный как в техническом плане так и в плане общения очень интеллигентный и деликатный человек. Сергей со всей душой относится к своему курсу и на вопросы иногда даже поздним вечером отвечает в чате курса. В данном курсе содержится значительный объем информации и все очень полезно. Желаю дальнейшего развития и больше учеников!

Андрей Кравченко

26.12.2023
Отличный курс, хорошие преподаватели. Много приходилось изучать самостоятельно, когда дается направление, а выбор конкретной реализации остается за обучающимся. Такой подход мне нравится, так лучше усваивается материал. Был трудный старт, потому что было не понятно направление движения, возможно в начале нужно более подробно рассказать об итоговой структуре планируемых проектов и применяемых шаблонов проектирования.

Карим Шарипов

30.10.2023
Хороший курс. Классный подход с agnostic, CoR, модульная архитектура. Считаю, что усложнили немого с multiplatform. Для себя не видел особого смысла и эта часть в ДЗ создавала много проблем. Преподаватели классные, особенно Дмитрий и Евгений. Остальные не оч хорошо объясняли. порой даже не хотелось лекции смотреть. Оценка: 7/10.

Олег Болденков

04.09.2023
В целом, курс оставил очень хорошее впечатление! Несмотря на то, что в Котлине я не новичок и за плечами у меня уже была пара проектов на нём, у меня не хватало целостного взгляда на него и его экосистему. В ходе прохождения курса я расширил свой кругозор, познакомился с архитектурными подходами, которые широко применяются в мире Java (использование мапперов, xxx-agnostic-архитектура) и которые упоминаются повсюду в интернете, но с которыми я до этого не сталкивался в своей работе. Особенно хотелось разобраться в технологии WebSocket, которую не удалось осилить в предыдущие годы, но которая просилась в качестве базы для некоторых клиент-серверных веб-приложений. В итоге, как говорится, «я сделал это!» в рамках курсового проекта и оно работает )) Тем, кто подумывает о его прохождении хотелось бы поделиться следующим. Весь курс — это некий поток взаимосвязанных тем, каждая из которых базируется на кодовой базе, сложившейся в референсном проекте на текущий момент. Обучение предполагает выполнение домашних заданий и приведение кодовой базы собственного проекта в нечто подобное референсному. Так вот - не запускайте выполнение домашних заданий, поскольку каждая новая тема усложняет навёрстывание. Перепрыгивания через этапы у вас, скорее всего, не получится и вы, в конце концов, просто запутаетесь. Ну и без домашек вас просто не допустят до защиты. Если говорить о себе, то приступить к содержательной части своего проекта мне удалось лишь тогда, когда я сдал почти все домашки. Дело в том, что развитие своего проекта предполагает серьёзное вмешательство в код, отчего он начинает расходиться с референсным и это затрудняет его сопоставление для воспроизведения в ходе выполнения ДЗ по следующим темам. Во многом процесс обучения заключается в повторении всего того, что делается на занятиях, причём именно в процессе выполнения этой чёрной работы на ум часто приходит какое-то своё, иногда даже более удачное решение. Происходит переосмысление пройденного материала и всё начинает худо-бедно укладываться в голове после своеобразного «взрыва мозга» на занятиях. Не стесняйтесь обсуждать и задавать самые на ваш взгляд бестолковые вопросы — от этого не должно быть стыдно. Что касается организации курса, то я бы уменьшил количество повторений одного и того же в начале занятий, а также объём некоторых теоретических блоков, которые несут минимальную полезность. Лучше увеличить время реального кодинга с объяснением конкретных шагов и приёмов. Лидером в таком подходе, без сомнения, является ведущий куратор нашего курса Евгений Непомнящий, глубокий профессионализм которого великолепно сочетается с ярким преподавательским талантом. Хотелось бы пожелать и другим начинающим преподавателям стремиться достичь такого же уровня. Курс однозначно must have!

Михаил Сазонов

04.09.2023
Я работаю в компании немного на другом стеке технологий (php/js), нежели рассматривался на курсе, но мне хотелось как раз попробовать себя в другом стеке, поэтому пошёл на этот курс. Курс очень понравился, понравилось, что рассматриваются современные подходы к разработке, затрагиваются многие проблемы, которые возникают на разных этапах разработки приложений, которые напрямую не связаны с программированием и непосредственно языком. Так что всё супер, спасибо большое преподавателям!

Александр Порублев

03.09.2023
Работаю разработчиком С++. Курс выбрал, потому что хотелось познакомиться с современным подходом к разработке бэкенд приложений. Понравилось, что курс хорошо разбит на модули, вместе с практикой, материал очень хорошо закрепляется. В результате я познакомился с языком Kotlin и сделал ядро своего проекта.

Nikolai Ponomarev

03.09.2023
Работаю Java разработчиком. OTUS мне посоветовал коллега. Понравилось большое количество материалов на курсе, а не понравилось - большое количество преподавателей. Этот курс дал мне больше понимания Kotlin.

Владимир Овсянников

21.08.2023
Удивительный курс. Очень полезный, насыщенный. К сожалению некоторые вещи объясняются «галопом по европам», но они объясняются и этого достаточно, чтобы их отдельно потом самостоятельно доизучать. К сожалению нет курса более базового, более начального, более полного. Однако я слышал, что он был. Но, раз уж его нет, было бы не плохо расширить и углубить этот. Я рад, что прошёл этот курс. Спасибо.

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

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

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

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"), повторюсь, это важно понимать! Для себя сделал вывод, что курс был мне полезен и дал достаточное количество знаний для перехода на веб разработку, в своей компании я начну просить небольшие задачи уже в качестве веб разработчика бэкенда.

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

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, а было одно занятие с теорией. Понял, что буду углубляться в эту тему дальше. Хочу еще раз сказать «Спасибо!» Сергею и всей команде курса! Постараюсь развивать получившееся приложение и после окончания курса.

Егор Ширнин

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

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

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

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

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

Илья Бикметов

10.10.2022
Курс был очень интересным и насыщенным. Всё что я планировал удалось завершить вовремя. Все очень понравилось:)

Алексей Ульянов

03.10.2022
Очень хороший курс, если вы новичок в бэкенд -разработке, то курс погружает в технологии на все 100% Дает очень хорошее понимание технологий бэкенда, ну и море практики на протяжении всего курса. Если студент будет прилагать усилия, чтобы получить знания, то он их получит однозначно, категорически рекомендую!

Евгений Сальников

28.09.2022
Это прекрасный курс, но точно не для новичка. Если вы уже знакомы с базами данных, докером и тд то вы научитесь работать со всем этим используя котлин, если нет - вас ждёт полгода полного погружения )

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

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

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

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

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

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