Специализация

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

С нуля до Middle за 15 месяцев

28 марта

Basic

15 месяцев

Онлайн

Для кого?

  • Специализация подойдет всем желающим, кто хочет освоить новую профессию Java-разработчика с нуля
  • Подойдет тем, кто еще не определился с языком программирования
  • Для тех, кто работает сисадмином, тестировщиком, аналитиком или специалистом технической поддержки и хочет стать частью команды разработчиков
  • Для тех, кто хочет с нуля освоить программирование для решения собственных задач

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

  • Создавать приложения на языке Java
  • Работать с реляционными базами данных
  • Разрабатывать серверные веб-приложения
  • Сможете претендовать на позиции Middle Java Developer

Инструменты, которые освоите:

IntelliJ IDEA, Java Development Kit (JDK), Spring Framework, Hibernate, PostgreSQL, Apache Maven, Gradle, Docker, Kubernetes, Apache Kafka, RabbitMQ, JUnit, Postman, Jira.

Подходит ли программа именно вам?

Менеджер поможет разобраться!

Оставить заявку

Какой результат вы получите?

Обучение состоит из 3-х ступеней, каждая длится 5 месяцев

Начало обучения
29 декабря
  • Для тех, кто хочет с нуля освоить профессию Java-разработчик
Ступень 1
Пн 20:00, Ср 20:00
Junior
  • Познакомитесь с эко-системой Java и настроите окружение
  • Освоите синтаксис Java и напишите свою первую программу
  • Освоите базовые алгоритмы и принципы архитектуры приложений
  • Научитесь использовать Docker и взаимодействовать с сетями, базами данных
Ступень 2
Пн 20:00, Ср 20:00
Junior+
  • Освоите фундаментальные основы Java Virtual Machine и "тонкие" аспекты языка Java
  • Рассмотрите принципы проектирования SOLID и паттерны проектирования GOF
  • Разберете операции с файловой системой, механизмы сериализации/десериализации объектов
  • Уделите внимание работе с реляционными БД. Подробно изучите jdbc и Hibernate
  • Поймете как создавать многопоточные и многопроцессные приложения
  • Разработаете серверное приложение на Java
Ступень 3
Пн 20:00, Ср 20:00
Middle
  • Узнаете о понятиях и функциональности на которых базируются все проекты Spring
  • Рассмотрите проекты Spring для работы с реляционными БД и с NoSQL базами данных, а также Spring JDBC, Spring ORM, Spring Data Repositories и работой с транзакциями
  • Научитесь использовать возможности Spring для разработки Web-приложений
  • Разберете продвинутые проекты Spring, связанные с авторизацией и аутентификацией, размещением сервисов в облаках и работой с БД

Авторская программа


Актуальные навыки, которые помогут начать и развиваться в профессии

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


Не обязательно иметь профильные знания. Программа подходит для новичков

Помощь с трудоустройством


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

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

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

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

Java Developer

Перспективы направления
Средний уровень зарплат в Москве:
81 000Junior+ специалист
180 000Middle+ специалист
250 000Senior специалист
2064
актуальные вакансии
Формат обучения

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


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

Три проектные работы


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

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


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

Персональный ментор

На специализации предусмотрено менторское сопровождение в виде групповых разборов домашних заданий. Занятие по групповому разбору ДЗ с ментором проводится раз в месяц в рамках расписания.

Вы выполняете домашнее задание
Ментор проверяет его в личном кабинете, делает ревью и дате развернутый фидбек
На занятии ментор отвечает на часто возникающие вопросы, проводит подробный разбор работ студентов и объясняет каждый этап выполнения
С ментором также можно общаться по домашнему заданию в чате. Он даст вам обратную связь по итогам проверки и направит вас в нужное русло

Программа

1 ступень

Основы языка Java

Тема 1: Обзор курса. Введение в программирование на Java

Тема 2: Основы работы в GIT

Тема 3: Основы языка Java. Часть 1

Тема 4: Разбор практических примеров

Тема 5: Основы языка Java. Часть 2

Тема 6: Разбор практических примеров

Тема 7: Основы языка Java. Часть 3

Тема 8: Практический консольный проект

Тема 9: Консультация по ДЗ

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

Тема 1: ООП. Часть 1. Введение в ООП

Тема 2: ООП. Часть 2

Тема 3: Практика ООП. Работа со строками.

Тема 4: ООП. Часть 3

Стандартная библиотека языка Java

Тема 1: Исключения

Тема 2: Коллекции. Часть 1

Тема 3: Коллекции. Часть 2

Тема 4: Разбор алгоритмов

Тема 5: Java IO. Часть 1

Тема 6: Консультация по ДЗ

Тема 7: Работа с сетью

Тема 8: Основы многопоточности. Часть 1

Тема 9: Консольный сетевой чат. Часть 1

Тема 10: Консольный сетевой чат. Часть 2

Тема 11: Реляционные базы данных, SQL

Тема 12: JDBC

Тема 13: Консультация по ДЗ

Тема 14: Обобщения

Тема 15: Java IO. Часть 2

Тема 16: Основы многопоточности. Часть 2

Тема 17: Основы тестирования и логирования

Тема 18: Основы Web. Пишем простой http клиент и сервер. Часть 1

Тема 19: Основы Web. Пишем простой http клиент и сервер. Часть 2

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

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

Тема 1: Консультация по ДЗ и проектной работе

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

Тема 3: Карьерная консультация

Тема 4: Итоговое занятие

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 SQ

Тема 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: Защита проектных работ

3 ступень

Введение

В данном модуле будут рассматриваться понятия и функциональности, на которых базируются все проекты Spring: Inversion of Control (Spring Context), аспектное программирование (Spring AOP), Spring Expression Language (SpEL). Слушатели смогут правильно и эффективно конфигурировать Spring-приложения различными средствами и способами, а также будет рассмотрена "чёрная магия" Spring Boot - автоконфигурации.

Тема 1: Введение в Spring Framework

Тема 2: Конфигурирование Spring-приложений

Тема 3: ЛикБез - Основы архитектуры ПО

Тема 4: AOP, Spring AOP

Тема 5: "Чёрная магия" Spring Boot

Тема 6: Продвинутая конфигурация (часть 1) - Scopes, Lifecycle

Тема 7: Продвинутая конфигурация (часть 2) - Conditionals, Events, тестирование

Тема 8: Разбор домашних заданий, QnA

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

В данном модуле будет рассмотрены проекты Spring для работы как с реляционными базами данных, так и с NoSQL базами данных. Spring JDBC, Spring ORM, Spring Data Repositories и, разумеется, работа с транзакциями. Помимо проектов Spring, участники смогут разбираться в особенностях различных баз данных, а также использовать специальные embedded-базы даных.

Тема 1: DAO на Spring JDBC

Тема 2: Основы ORM, JPA, Hibernate как провайдер JPA

Тема 3: JPQL, Spring ORM, DAO на основе Spring ORM + JPA

Тема 4: Транзакции, Spring Tx

Тема 5: "Белая магия" Spring Data: Spring Data JPA

Тема 6: SQL и NoSQL базы данных

Тема 7: Spring Data для подключения к нереляционным БД

Тема 8: Разбор домашних заданий, QnA

Разработка Web-приложений

В данном модуле будут рассматриваться возможности Spring для разработки Web-приложений: Spring MVC и современный Reactive-ориентированный Spring WebFlux. Разумеется, будут рассмотрены популярные технологии View и разработка современных SPA-приложений. И, конечно, различные "плюшки" Spring Boot, максимально ускоряющие разработку Web-приложений.

Тема 1: Введение в Spring MVC, Spring MVC на Spring Boot

Тема 2: Spring MVC View

Тема 3: Современные приложения на Spring MVC

Тема 4: Reactor. Введение в реактивное программирование

Тема 5: Spring WebFlux

"Около" и "Дзен"

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

Тема 1: Вебинар-собеседование

Тема 2: Spring Security: Архитектура

Тема 3: Spring Security: Механизмы аутентификации

Тема 4: Spring Security: Авторизация

Тема 5: Spring Security: ACL

Тема 6: Spring Batch

Тема 7: Монолиты vs. Microservices Round 1, Messaging, Enterprise Integration Patterns (EIP)

Тема 8: Spring Integration: Messages и Channels

Тема 9: Spring Integration: Endpoints и Flow Components

Тема 10: Монолиты vs. Microservices (Round 2), Spring Boot Actuator - must have в микросервисах

Тема 11: REST-клиенты, SOAP, Spring WebServices и клиенты к ним

Тема 12: Docker, оркестрация

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

Тема 14: Облака, Mongo DB Atlas cluster, Spring Cloud

Тема 15: Spring Cloud Config, Spring Cloud Bus, Spring Cloud Service Discovery с Eureka, Ribbon и Feign

Тема 16: Zuul, Hystrix Circuit Breaker, Sleuth, Zipkin, Hystrix Dashboard, Secure Configuration Properties

Тема 17: Обзор дополнительных технологий Spring, быстрая разработка приложений

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

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

Тема 20: Комплексный пример использования WebFlux и Kafka

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

Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей. Проект должен стать примером кода, который можно показывать потенциальным работодателям. Проект должен быть сделан на основе Spring Boot, включать работу с DB с ипользованием Spring Data репозиториев и/или Spring JDBC. Проект должен иметь UI построенный на современных принципах разработки Web-приложений (AJAX и/или SPA). Приложение должно содержать механизмы аутентификации и авторизации с использованием Spring Security Асинхронные части могут быть реализованы с помощью Spring Integration. Пектные обработки, утилиты поддержки должны быть реализованы с помощью Spring Batch + Spring Shell. Проект должен быть cloud-ready. Примеры тем: - Онлайн-библиотека - Блог с админкой/регистрацией пользователей

Тема 1: Выбор темы и организация проектной работы

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

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

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

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


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

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

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

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

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

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

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

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

Сбер

Дмитрий Коган

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

Александр Романов

Teamlead команды разработки

Тинькофф

Олег Чередник

Андрей Поляков

Старший разработчик

Unlimint

Михаил Ронжин

Дмитрий Чуб

Александр Фисунов

Senior Kotlin Developer

ВТБ

Владимир Андреев

Борис Кириллов

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

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

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

Многопоточность в Java
Борис Кириллов
Поговорим об организации многопоточной обработки на Java, обсудим когда ее стоит применять и какие проблемы возникают при ее испольовании. Узнаем как возникают гонки и дедлоки и что с ними делать.

Занятие подойдет:
Тем, кто только начинает программировать на Java или думает о начале обучения программированию.

В результате:
Вы получите понимание, что такое многопоточное программирование и как это делается на языке Java
...
19 марта в 17:00
Открытый вебинар

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

Дмитрий Чуб
Открытый вебинар
Дебаггинг приложений на Java
Александр Фисунов
Открытый вебинар
Основы объектно-ориентированного программирования в Java
Оставьте заявку, чтобы получить доступ ко всем записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке

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

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

Диплом о профессиональной переподготовке

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

Почему специализация выгоднее, чем отдельные курсы?

  • Стоимость ниже, чем покупка курсов по отдельности
  • Диплом о профессиональной переподготовке
  • Расширенная опция помощи с трудоустройством

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

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