Java Developer. Professional

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

24 апреля

Professional

6 месяцев

Онлайн

Пн/Ср 20:00 Мск

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

  • Для программистов Java с практическим опытом разработки
  • Для программистов на других языках ООП с опытом разработки от 3-х лет


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

  • Опыт разработки на Java от 1 года / опыт разработки на другом языке от 3 лет (приветствуются любые языки ООП)
  • Понимание основных структур данных и алгоритмов
  • Знание принципов ООП
  • Знание Git на уровне уверенного пользователя
  • Будет плюсом опыт работы с базами данных
  • Будет плюсом понимание основ веб-разработки
Пройди тест

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

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

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

  • Сможете создавать современные java-приложения
  • Поймете основы функционирования JVM (сборка мусора, byteCode)
  • Освоите приемы применения многопоточности.
  • Самостоятельно решать задачи уровня Middle+

Дополнительно на курсе вы:

  • Получите практику решения сложных задач с подробным код ревью от экспертных Java-разработчиков
  • Расширите возможности использования языка Java
  • Откроете для себя подходы, которые позволят писать код быстрее и чище

Освоите современные фреймворки

Spring WebFlux, Kafka, реактивный Postgres, Kubernetes.

600+ студентов, прошедших курс Java Professional в Отус.

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

Обучение проходит в формате вебинаров (онлайн).

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

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

По каждому домашнему заданию преподаватель дает развернутый фидбек.

Программа


Продвинутое программирование на Java: все, что надо знать и уметь Middle+ специалисту

Свой проект


Студент пишет выпускной проект на любую тему под контролем преподавателя

Портфолио


Проекты внутри домашних заданий + выпускной проект, который усилит ваше портфолио.

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

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

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

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

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


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

Программа для профессионалов


Альтернатива популярным программам "с нуля" - для профессионалов, кто хочет поднять свой грейд

Коммьюнити


Модерируемый ТГ-чат для общения преподавателей и студентов

Программа

Язык и платформа Java

В этом модуле изучаются фундаментальные основы работы Java Virtual Machine (JVM) и "тонкие" аспекты языка Java. В результате обучения студент сможет достаточно подробно рассказать как выполняется Java программа и что проиходит "под капотом".

Тема 1: Подготовка к курсу. ДЗ

Тема 2: Дополнение к gradle. Логирование.

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

Тема 4: Контейнеры и алгоритмы. ДЗ

Тема 5: Инструменты для преобразования контейнеров, unsafe, jmh

Тема 6: Аннотации. ДЗ

Тема 7: Lombok

Тема 8: Сборщик мусора. ДЗ

Тема 9: Java в Docker-е

Тема 10: Байт код, class-loader, инструментация, asm. ДЗ

Тема 11: Функциональное программирование в Java

Проектирование

В этом модуле рассматриваются принципы проектирования SOLID и паттерны проектирования GOF. В ходе выполнения Домашних Работ студент сможет на практике научиться применять паттерны проектирования и их комбинации.

Тема 1: Концепты проектирования ООП. ДЗ

Тема 2: Creational patterns

Тема 3: Behavioral patterns

Тема 4: Structural patterns. ДЗ

Работа с окружением

Этот блок посвящен вопросам взаимодействия java-приложения с внешним миром. Рассматриваются операции с файловой системой, механизмы сериализации/десериализации объектов. Большое внимание уделяется работе с реляционными базами данных. Подробно изучаются jdbc и Hibernate. При этом не забываем про noSQL. В качестве примера работы с noSQL рассматривается реактивное взаимодействие с MongoDb. Особое внимание уделяется разработке Web-серверов. Изучаем TomCat как пример контейнера war-приложений и Jetty - как встроенный web-сервер, учимся применять технологию web-сокетов. В качестве примера Dependency Injection изучаем Spring и Spring Boot.

Тема 1: Сериализация. ДЗ

Тема 2: NIO - операции с файлами

Тема 3: JDBC. ДЗ

Тема 4: Общие вопросы работы с СУБД, архитектура РСУБД

Тема 5: Hibernate

Тема 6: JPQL. ДЗ

Тема 7: Типы ссылок. Кэширование. ДЗ

Тема 8: No SQL

Тема 9: Web сервер. ДЗ

Spring

Модуль посвящен изучению основ Spring Framework. В этом модуле разберемся в принципах DI, IoC, поймем как это используется в Spring. Изучим как на технологиях Spring-а создать Web-приложение с базой данных.

Тема 1: Dependency injection. ДЗ

Тема 2: Spring Boot. Spring MVC

Тема 3: Asynchronous Web applications

Тема 4: Spring Data Jdbc. ДЗ

Многопоточность

Этот модуль посвящен многопоточности в разных ее проявлениях. Начинаем изучение с разбора Java Memory Model, какова цель ее создания, что решается и как это использовать. Заканчиваем Completable Future. Начинаем разрабатывать многопоточные приложения и переходим к разработке многопроцессорных приложений - приложения, отдельные части которых работают на разных хостах. Чтобы понять как объединить такие приложения, изучаем блокирующие и неблокирующие сокеты (NIO).

Тема 1: Thread

Тема 2: JMM

Тема 3: Executors. ДЗ

Тема 4: Потокобезопасные коллекции. ДЗ

Тема 5: Многопроцессные приложения. ДЗ

Тема 6: Применение RabbitMQ

Тема 7: NIO

Тема 8: Netty

Тема 9: Реактивное программирование. Spring Webflux. ДЗ

Тема 10: Применение Kafka

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

Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц, однако к защите надо разработать действующий прототип, который пояснит идею проекта. В процессе написания по проекту можно получить консультации преподавателей. Для достижения результата работа над проектом организуется в виде недельных итераций. Проект должен стать примером кода, который можно показывать потенциальным работодателям. Студент может самостоятельно выбрать технологии из числа изученных на курсе и/или использовать что-то дополнительно. Примеры тем: - телеграм-бот - распределенный кэш - web сервер (разберите протокол) - socket сервер на NIO (как netty) - свой ORM - кэш для hibernate

Тема 1: Основы CI/CD

Тема 2: Знакомство с Kubernetes

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

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

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


На основе умений и знаний полученных в курсе студент выбирает какой проект будет реализовывать. С нашей стороны будет помощь и наставничество в реализации проекта. Проект станет хорошим пополнением вашего портфолио.

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

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

Сергей Петрелевич

Павел Стрекалов

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

Александр Оруджев

Виталий Куценко

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

Сбер

Вячеслав Лапин

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

Разработчик

IT Sense

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

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

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

Знакомство с Armeria
Сергей Богатырец
Познакомимся с интересным фреймворком - Armeria.
Посмотрим, какие он дает возможности и как его использовать вместе со SpringBoot
...
27 марта в 17:00
Открытый вебинар
Знакомство с Mocronaut
Сергей Петрелевич
Познакомимся с популярной альтернативной SpringBoot - фреймворком Micronaut.
Посмотрим, в чем отличия и действительно ли Micronaut можно использовать вместо SpringBoot.
...
11 апреля в 17:00
Открытый вебинар

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

Александр Фисунов
Открытый вебинар
Готовимся к собеседованию на Java разработчика Junior+/Middle: проверьте свои знания
Александр Фисунов
Открытый вебинар
Java NIO
Для доступа ко всем прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!

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

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

Отзывы

Игорь Щеглов

07.02.2023
Я работаю фуллстек-разработчиком, в качестве бэкэнда использую java. Этот курс я выбрал, так как уже давно ощущал нехватку знаний по проектированию java-приложений. Фактически, я получил намного больше, чем ожидал. Курс позволил связать знания, которые были в моей голове, в единый каркас. Связать благодаря глубокому пониманию основ - рефлексии, паттернов, многослойной архитектуры... И этот фундаментальный каркас гораздо лучше дополняется новыми знаниями. Закрыта куча вопросов, которые встречались мне на собеседованиях. Преподаватели разные, и это хорошо. Это даёт возможность с разных сторон посмотреть на возможные решения. Все профессионалы. Особая благодарность Сергею - он как-то очень человечно относится к студентам и задаваемым ими вопросам. Домашние задания полезные, в меру сложные, заставляют еще раз обдумать материал вебинаров. Честно говоря, я сильно удивлен качеством проверки. Преподаватели реально анализируют код, который я присылаю. И находят, что там можно улучшить.

Андрей Волков

02.02.2023
Вообще я свитчер и предыдущая сфера моей работы - это не IT. В январе 2021 устроился на свою первую работу в IT - java-разработчиком. Работаю в банке. До устройства полгода самостоятельно учился с 0, сдал пару сертификаций от Oracle, прошел курс TopJava. Коллеги на работе посоветовали, поэтому выбрал курс в OTUS. Понравилось, что дают вещи, на которые самостоятельно сложно наткнуться. Преподаватели крутые, хорошо доносят материал. Больше бы практических занятий, пусть и не сложных, но прямо соотносящихся с темой лекций. По хорошему лекция+домашка. Без практики, не так эффективно осваивается материал. Обучение дало углубление имеющихся знаний и расширение кругозора в плане технологий. Узнал актуальные тенденции разработки. Попрактиковался. Успешное окончание курса позволит мне претендовать на более высокую зп на моей текущей работе, это, однозначно, будет учтено при принятии решения.

Вардан Фарсиян

07.11.2022
Отличный курс, приведет знания в порядок, систематизирует их и заполнит пробелы. Удобно выстроен процесс обучения - после семинара запись публикуется в ЛК, а примеры в репозиторий. При отправке пул-реквеста с ДЗ, преподаватели часто оставляют комментарии с советами или замечаниями. При всем обилии курсов по Java на рынке, этот курс оказался для меня наиболее полезным.

Даниил Блинов

28.03.2022
Отличный курс. Помог разобраться в работе Java, а так же пройти собеседование и устроиться на позицию выше. Очень благодарен

Анастасия Мазаева

09.02.2022
Спасибо большое преподавателям курса! Когда-то Java я начинала изучать самостоятельно, и, понятное дело, много чего упустила. На курс шла с целью заполнить пробелы и систематизировать знания. На ногах стою тверже, изучила как то, что планировала, так и то, о чем даже не догадывалась.

Павел Королёв

22.12.2021
Прошел почти год, как я закончил обучение в ОТУСе по программе "Java Developer. Professional" и решил оставить свой отзыв об обучении. Я пришел на курс, имея минимальные знания синтаксиса java и небольшой опыт написания примитивных приложений на Delphi (Pascal). Курс для меня был чрезвычайно сложным, так как всё было для меня совершенно новым и уроки будто проводились на другом языке. По мере обучения я многократно пересматривал записи вебинаров и стал глубже вникать в изучаемый предмет. Благодаря грамотным преподавателям вебинары были интересны, очень информативны и длились гораздо дольше 1.5 часов (в среднем 2-2,5 часа, а как-то раз аж 5,5 !) Через полгода после окончания учебы, благодаря Бабаевой Евгении - человеку, помогающему выпускникам в трудоустройстве, меня взяли на работу по новой специальности. Она помогла составить резюме таким образом, чтобы на него обратили внимание. Сейчас, пройдя испытательный срок, могу сказать, что все учебные материалы - очень актуальны, полезны и применяются фактически ежедневно. Огромное спасибо хочу сказать Евгении, а также Оруджеву Александру, Петрелевичу Сергею, Дмитрию Когану и Виталию Куценко - основным преподавателям курса, всегда готовым ответить, грамотно подсказать и направить в верное русло!

Анатолий Агеев

18.08.2021
Я из телекоммуникационной отрасли, работаю консультантом оптимизации мобильной сети. До обучения в Отусе прошел ряд курсов в С++, С# и Java. Курс Java Developer. Professional выбрал для того, чтобы окончательно разобраться как работает Java и научится писать код на более профессиональном уровне. В процессе прохождения курса я понял, что не ошибся в выборе и курс дает именно то, что я от него и ожидал. Темы в каждом уроке курса помогают детально разобраться во «внутренностях» Java, проходит понимание как это работает.

Давид Жарницкий

03.08.2021
Очень всеобъемлющий и полезный курс. Некоторые темы разбираются относительно поверхностно, некоторые более углубленно, но в целом курс охватывает все важные темы. Моей целью было скорее не выучить новое, но разложить по полочкам имеющиеся знания, с чем курс мне очень сильно помог. Попутно все-таки узнал и много нового и интересного, с чем редко приходится сталкиваться (например, с ASM или Unsafe). Формат курса довольно традиционный: вебинары + ДЗ. Лично мне очень не хватило разбора домашек, хотелось бы видеть эталонные решения заданий. Дополнительно хотелось бы упомянуть, что сейчас кажется логичным включить в курс больше материалов про набирающий популярность реактивный стек (RxJava, Reactor, WebFluxи тд и тп), а в идеале - сделать отдельный полноценный курс по нему. Советую курс разработчикам практически любого уровня!

Айрат Загретдинов

15.05.2021
К концу прохождения курса я устроился на работу java разработчиком и мое первое задание на моей новой работе я совместил с проектной работой этого курса. Задание выполнено, проектная работа защищена, я думаю этим всё рассказать о курсе. Единственное что можно добавить к этим курсам, так это методические материалы, к которым можно было бы обратиться в любой момент, если что то забыл (здесь многие наверное скажут, что гугл тебе в помощь, но собранный в одном месте квалифицированный материал без лишней "шелухи" для меня намного удобнее). Спасибо всем преподавателям курса, ваши старания мне очень помогли!

Сергей Кубатко

11.05.2021
Рекомендую данный курс как тем, кто уже съел пуд соли, так и тем, кто только начал своё восхождение. Отлично подобранные темы, превосходные наставники, код ревью и проектная работа в комплексе позволяют получить и закрепить практически навыки, необходимые в ежедневной боевой работе. Молодцы! Так держать!

Дмитрий Альбот

05.05.2021
Курс оказался очень полезным. Получилось узнать что-то новое, или закрепить знания о том, как устроена java под капотом. В целом, впечатление осталось приятное, есть желание продолжать взаимодействовать с Otus на тему расширения своих профессиональных навыков. Очень полезен был формат пробного собеседования - хотелось бы видеть подобный формат и на других курсах.

Александр Шаклеин

25.02.2021
Для меня это был уже второй курс на отусе. Первый был по Spring'у. Оба курса просто огонь. До обучения работал(да и продолжаю работать) в должности директора по разработке ПО Курс по Java выбрал в первую очередь для сотрудников, ну и т.к. попали под скидку, сам решил подтянуть знания. Если сравнивать с другими платформами(не буду писать названия), то нравится профессиональный уровень преподавателей, а также их умение преподнести материал. Немаловажно то, что в подготовке материала для обучения принимают участие(да и сами разрабатывают) именно преподаватели. Ну и домашние задания заставляли поднапрячься порой, конечно:) Обучение значительно расширило кругозор; ряд моментов были в новинку и затем успешно применены уже в рабочих проектах; ну и что-то заставило и вспомнить, конечно:) В общем, если вкратце - я более, чем доволен данным курсом, как и предыдущим, вообщем:)

Ольга Кузнецова

19.02.2021
Проработав пять лет (с перерывом на декрет) в крупной международной компании, решила сменить работу и начала готовиться к собеседованиям. На курс Java разработчик записалась, просмотрев программу: меня заинтересовало углублённое изучение многих тем (e.x. байт код, работа Spring "под капотом") + опытные преподаватели и, конечно, много практики. Мне понравились профессионализм преподавателей, подача материала, разбор домашних заданий. Курс напряжённый, требует много времени, большинство лекций лично мне приходилось пересматривать по второму разу, но оно того стоит, своим знакомым рекомендую этот курс.

Konstantin Ananev

25.01.2021
Я занимаюсь программированием в области компьютерного зрения, работаю в смежной области - программирование + искусственный интеллект. В основном нейронные сети и классические алгоритмы компьютерного зрения. Язык разработки C++, python для прототипирования и инфраструктуры.   Работаю в данной сфере 2 года. Первый год был связан с бурным развитием нового проекта и разработкой алгоритмов. Второй год сейчас идёт на то, что бы пустить систему в эксплуатацию.   До этого занимался медицинским документооборотом для разнообразных клиник Санкт-Петербурга и нескольких крупных городов. Работа велась на python и самописном почти ORM. Курс в начале дал понять, на какие вопросы от ответит с точки зрения сферы деятельности. Это меня подкупило. Возможно я утрирую и такой текст ни где не писали в описании курса, но из вводных уроков я понял именно это. Сергей Петрелевич создал у меня такое впечатление и я купил курс. По моему это был видос «Введение в Spring Data Jdbc». Уже точно не помню. На курсе очень понравились долгоиграющие домашние задания это приучает к ответственности и планированию. Преподаватели отзывчивые и очень часто отвечают на вопросы, развернуто и доходчиво. Ревью кода преподавателями, это like.  Живые люди, таких преподавателей давно не встречал. Возможно в курсе лишний Spring, возможно курс несколько перегружен множеством концепций. Хотя и сохраняет направленность — дать обзор инструментов и навыки работы с ними в приложении к бизнес процессам. И тут без Spring не обойтись.  Вы уже сделали отдельный курс по Spring, так что оставить в этом курсе Spring или нет остаётся вопросом сведенным к — в какой степени дать первичное представление о Spring. Добавить к курсу, думаю пока нечего. Раздутие тут будет мешать. Курс дал мне новый взгляд на вещи. Например, интерфейсы, как проявление принципа — indirection, волшебная штука, модульность программы, как способ упрощения поддержки. Да я теперь классы писать не боюсь!! Курс помог мне определиться с вектором развития. Дал понять, что я морально устарел, по причине, постоянно работы с устаревшими технологиями. Странно, наверное слышать такое, от 24х летнего человека, который вроде в rocket science работает… Но увы, шёл 2021 год, сырой указатель в бизнес логике и постоянная борьба с segfault, страх перед исключениями, всё это, до меня,  было must have в программном коде. Ужас. На счет смены работы и работе в компании мечты не уверен, пока что. Мой опыт на java, равен домашкам + 1 том Хорстмана. Но я готов. Курс вдохновил на развитие, я записался на курс по Spring. Продолжаю учиться. Далее приступлю к подбору вакансий. Спасибо преподавателям, что они есть!

Игорь Маликов

18.01.2021
Хороший курс для актуализации знаний по Java, если они отстали/заржавели (это было моей целью). Задания полезные, преподаватели адекватные и разбирающиеся. Лекции слушать интересно. Недостаток: мне, как работающему и родителю маленьких детей не хватило времени одного курса, чтобы сделать все дз, благо есть опция перевестись в другой курс для завершения. Некоторые хорошие и полезные домашние задания отнимали по 2-3 рабочих дня чистого времени. Само по себе, мне не жалко потраченного времени, но реальное время потраченное на дз для меня оч сильно отличалось от заявленного перед началом курса. Пожелания: 1. Озвучивать не среднее время выполнения всех дз в рекламе курса, а разброс от скольки и до скольки часов уходит у участников. 2. Добавьте лекцию о ломбоке в официальную программу. Очень полезная тула, которая мне сильно облегчила жизнь.

Денис Смолин

15.01.2021
Все было прекрасно. Особенно нравились лекции Сергея и проверка домашек Александра.

Александр Бугримов

14.01.2021
Отличный курс. Спасибо большое всем преподавателям

Виктория Синельникова

06.01.2021
После окончания университета работала в двух крупных для нашего города компаниях, где рабочие обязанности включали в себя в основном баг-фиксы, написание тестов и документации, редко попадались задачи, где можно было написать код и поизучать что-то новое. В основном было достаточно самых основ Java. После второй смены работы сложилась особенно грустная в плане написания кода обстановка, поэтому решилась пойти на курс. Основное, что привлекало в программе: нужно будет писать код и получать комментарии на ревью от преподавателей. Курс очень помог систематизировать знания и заполнить пробелы в них. При выполнении практических заданий часто приходилось обращаться к исходникам, для части работ – много гуглить. Преподаватели очень внимательно относились к проверке работ и делились информацией, как улучшить код и что можно еще почитать для развития. Полученные знания помогли пройти интевью в новый проект и теперь используются в текущей работе. Очень рада, что Отус есть и помогает развиваться! И благодарна преподавателям курса за мотивацию к развитию и изучению Java!

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

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

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

  • заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации, примеры кода
  • повысите свою компетенцию в сфере разработки на Java до Middle+
  • научитесь разрабатывать коммерческие приложения самостоятельно и в команде

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

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