MIDDLE
JAVA
DEVELOPER

Длительность:
2 месяца
Бесплатный онлайн-курс
с дальнейшим трудоустройством
в Цифровые привычки
Формат:
Online по Zoom
Старт:
3 февраля
MIDDLE
JAVA
DEVELOPER
Длительность:
2 месяца
Бесплатный онлайн-курс
с дальнейшим трудоустройством
в Цифровые привычки
Формат:
Online по Zoom
Старт:
3 февраля
MIDDLE JAVA
DEVELOPER
Длительность:
2 месяца
Бесплатный онлайн-курс
с дальнейшим трудоустройством
в Цифровые привычки
Формат:
Online по Zoom
Старт:
3 февраля
О нашем курсе в цифрах
60+ часов

Лекции, воркшопы, домашние задания, тесты и индивидуальные консультации
90% выпускникoв

трудоустраиваются в Цифровые привычки и компании-партнеры
150 000 ₽

Средняя зарплата наших выпускников после окончания обучения
Почему бесплатно?
Мы отбираем лучших кандидатов с опытом коммерческой разработки для дальнейшей работы в Цифровых Привычках и ERP Consulting над высоконагруженными и отказоустойчивыми проектами.
Подробнее о курсе
Как проходят лекции на курсе
Часть лекции JDBC & JPA
Онлайн занятия в группах 8 - 12 человек с преподавателями по Zoom.

25 лекций и практических занятий, 4 домашних работы, а также дополнительные задания и материалы для изучения.

Программа обучения

Java Core
    • Основы работ Java программ
    Основы Java, которые часто пропускают. Разберем, что такое classloaders, и как сделать настоящий immutable класс.

    • Домашнее задание №1
    Реализовать программу, которая получает ключевое слово для поиска на Wikipedia, достает из результатов текст, и на основе динамически загружаемых плагинов на выходе формирует отчет и записывает результат в файл.

    • Java Collections Framework
    Подробно разберём внутреннее устройство коллекций, проанализируем алгоритмическую сложность, и научимся грамотно выбирать наиболее подходящую под конкретные виды задач.

    • Stream API
    Освоим навыки работы с потоками: способы их создания, свойства и особенности реализации. И самое главное — научимся решать емкие задачи кратко и лаконично.

    • Garbage collector
    Разберемся, как работают Garbage collectors, какими они бывают, чем отличаются друг от друга. Узнаем, почему может возникнуть утечка памяти и как с ней бороться.

    • Инструменты сборки
    Сравним две популярные системы сборки — Maven и Gradle. Научимся находить и правильно разрешать конфликты транзитивных зависимостей. Покажем, для чего в Gradle нужен wrapper и как написать свои таски.

    • Java Memory Model
    Поговорим об atomicity, visibility и reorderinghappens-before. Разберем фундаментальные вещи, которые вводят энтропию в многопоточный код.

    • Multithreading in Java + дополнительное задание
    Расскажем, как делать правильный многопоточный конвейер и безопасно проводить финансовые операции в конкурентной среде.

    • Домашнее задание №2
    Реализовать построчное чтение файла, многопоточную обработку текста, и запись результата в файл в отдельном потоке.
      Промышленная разработка на Java
      • Docker
      Покажем, из чего состоит docker образ и как его создать. Разберем способы уменьшения размера образа: multistage билды, buildpacks, alpine base images. Покажем, как с помощью docker-compose развернуть десяток микросервисов за пару минут.

      • Практическая работа по Docker
      Написать docker-compose файл, создать образы из исходников и собрать цепочку из двух микросервисов, БД и ui-консоли.

      • Архитектура web-приложений
      Разберемся, как строятся современные промышленные приложения, и научимся правильно соединять крупные компоненты наших систем между собой. Слои, протоколы, коннекторы — это лишь малая часть терминов, которые ты освоишь.

      • Паттерны разработки
      Расскажем, почему шаблоны проектирования — это важный инструмент разработчика, который помогает ему сэкономить время и сделать более качественное решение. Разберем виды шаблонов, как и когда их применять.
          Базы данных
          • Databases
          SQL vs NoSQL vs NewSQL. Расскажем, как разобраться с многообразием баз данных, когда какую использовать. Дадим практические примеры, чтобы ты разобрался в CAP теореме и понял, как она может помочь в жизни.

          • SQL
          Разберем SQL на продвинутом уровне. Расскажем о малоизвестных фичах, которые позволяю писать быстрые запросы. Также поговорим о грамотном проектировании БД.

          • JDBC & JPA
          Подключимся к базе данных из Java-приложения. Узнаем, что такое JDBC и чем он отличается от JPA. Разберем, как работать с Hibernate и что такое жизненный цикл entity.
          Spring
          • Spring Core
          С помощью простых и наглядных примеров разберем, в чем преимущество принципа DI, и зачем нужен IoC контейнер. Попробуем три способа конфигурации Spring-приложения и три способа внедрения зависимостей. На практике разберемся с Bean Definitions, Bean Scopes и BeanPostProcessor.

          • Домашнее задание №3
          Реализовать веб-сервер на Spring Boot по работе с сущностями Person и Department. Реализовать базовые CRUD операции над ними, написать unit-тесты и задеплоить его на Heroku.

          • Spring Boot
          Узнаем исторические предпосылки появления Spring Framework и Spring Boot. Поймем, в чем их отличие и секрет успеха. Заглянем под капот Spring Boot и поработаем с автоконфигурацией. Более детально познакомимся с фазами инициализации контекста, жизненного цикла бинов, конфигурацией пользовательских настроек.

          • Домашнее задание №4
          Реализовать загрузку property-файлов из файловой системы и из classpath в общий пул properties Spring.

          • Spring Modules
          Узнаем, как Spring Data делает жизнь разработчика лучше, а Spring MVC ставит написание RESTful сервисов на поток. Мы вместе напишем приложение, которое ответит на эти и многие другие вопросы. А также убедимся на практике, что TDD — не пустой звук, а unit-тесты — неотъемлемая часть процесса разработки.

          • Тестирование + Spring Boot Test
          Уделим внимание теме тестирования в целом и Spring Boot Test в частности. Посмотрим на пирамиду тестирования и определим место Java-разработчика в ней. Поговорим о разных типах тестов и наиболее распространенных ошибках при их написании.
          Инфраструктура
          • Async Java with Kafka
          Рассмотрим плюсы и минусы синхронного и асинхронного подхода, поговорим, когда и что применять. Разберем работу с очередями: какие преимущества они дают, какие сложности возникают при их использовании. Рассмотрим внутреннее устройство Apache Kafka, посмотрим на примере взаимодействие Producer – Consumer с помощью Spring Boot + Spring Kafka Client.

          • Сети
          Поговорим о моделях OSI и TCP/IP, какие протоколы туда входят, и как это поможет разработчику. Подробно разберем HTTP и HTTPS. Также уделим время WebSockets и безопасности в сети: сертификаты, инфраструктура x.509, и как это все работает в Java.

          • Kubernetes (K8S)
          Обсудим предпосылки появления технологии оркестрации контейнеров, поговорим про устройство кластера Kubernetes. Рассмотрим основные абстракции: Pod, Service, Deployment, Volume, Secret и т.д. Разберем, как устроена overlay сеть и как опубликовать сервис "наружу" кластера. Узнаем, зачем нужен Ingress. Рассмотрим примеры деплоя сервисов в Manager кластер Kubernetes на DigitalOcean. В завершении лекции поговорим про шаблонизатор Helm как production-ready средство для работы с кластерами.

          • Istio
          Поговорим про паттерн Service Mesh, обсудим проблемы, которые он решает. Разберем одну из реализаций Service Mesh – Istio, а также обсудим внутреннее устройство и новые типы абстракций: Gateway, VirtualService, DestinationRule и т.д. Как и в прошлой лекции, для демонстрации будем использовать Manager кластер Kubernetes в DigitalOcean, установим в него Istio и рассмотрим примеры настройки.

          • Agile, Scrum, Kanban
          Разберем гибкие методологии. Расскажем, как правильно внедрять и использовать Scrum, Kanban и XP, чтобы это не тормозило разработку, а помогало ей.
          Расписание курса
          Вторник
          Вторник
          19:00 - 21:00
          * Перед каждой лекцией, кроме вводной, высылаются материалы для подготовки, после каждой лекции - тест
          Четверг
          Четверг
          19:00 - 21:00
          Лекция и практическое задание
          Суббота
          Суббота
          11:00 - 16:00 (с перерывом)
          Две лекции с работой в группах
          На каких проектах работают
          наши выпускники
          СберСпасибо
          Одна из крупнейших программ лояльности в России
            Сервис
            Приложение для аренды теннисных кортов, заказа блюд в кафе и многое другое
            Подробнее...
              SberCloud
              Инфраструктурные и платформенные сервисы для бизнеса
                Мобильный банкинг
                Среди наших клиентов Сбер, ВТБ, МКБ и Сетелем
                Подробнее...
                  SberWorks
                  Управление проектным окружением в DevOps по облачному принципу
                  Образование
                  Создаем собственную образовательную платформу
                  Подробнее...
                  Преподаватели
                  Победители хакатонов, преподаватели в вузах, руководители отделов разработки
                  крупнейших банков страны
                  Алексей Романов
                  Java Architect, преподаватель МГТУ им. Н.Э. Баумана
                  Алексей Мухин
                  Senior Java developer в банковской сфере
                  Андрей Сундуков
                  Senior Java developer в VR Bank, HeadHunter
                  Михаил Красильников
                  Software Engineer EPAM
                  Владислав Казаков
                  Java Architect в Цифровых Привычках
                  Андрей Сычев
                  Middle Java developer в Raiffeisenbank
                  ex-разработчик в QIWI, СберБанк, дочерней компании Банка России


                  Роман Оборин
                  Ведущий разработчик в Natera
                  ex-разработчик в СберБанке, Orion Innovation, ALPOM

                  Алексей Степанов
                  Ведущий разработчик на проекте ВТБ
                  ex-разработчик в Банке Открытие, OBOZ, Regeneron
                  Владимир Красильщик
                  Senior Java Developer с 17-ти летним опытом
                  ex-разработчик в Luxoft, Яндекс, Dino Systems
                  Отзывы наших выпускников
                  Михаил Галактионов
                  Middle Java developer "Цифровые привычки"
                  Владимир Годияк
                  Middle Java developer "Цифровые привычки"
                  Курсы закрепили мои знания по Java core, Spring framework и др., а так же я познакомилась с новыми, для меня, технологиями, например, такими как Kafka и Kubernetes. На каждом занятии сидело 2 – 3 разработчика с большим стажем, так что, помимо теории, было много историй из практики.
                  Варвара Ситникова
                  Middle Java developer "Цифровые привычки"
                  Я сразу устроился на проект и одновременно учился на курсе. Смог объединять работу, учебу в магистратуре и курс. Теория на курсе часто встречается потом на проектах, я часто пересматриваю лекции, чтобы реализовать фичу на проекте, потому что преподаватели делятся именно своим практическим опытом, который потом можно применять
                  в жизни.
                  Михаил Галактионов
                  Middle Java developer "Цифровые привычки"
                  Курс помог мне вспомнить основы, а кое-где углубить некоторые знания. Получил много хороших впечатлений от слушания лекций. Узнал некоторые вещи, о которых только слышал краем уха от "старших" коллег. Теперь у меня новая долгожданная работа.
                  Алексей Карташов
                  Middle Java developer "Цифровые привычки"
                  Курс рассчитан на то, что слушатели уже имеют какие-то знания по языку Java и опыт работы. На лекциях преподаватели как повторяют самые основы, так и рассказывают о редко где встречающихся аспектах. Домашние задания были построены таким образом, чтобы охватить и применить на практике как можно больше возможностей языка, поэтому для их выполнения необходимо было самостоятельно дополнительно поразбираться.
                  Александр Вдовин
                  Middle Java developer "Цифровые привычки"
                  Курс помог мне разложить по полочкам базу по Spring'y, очень полезна была лекция по Kubernetes и Kafka. Именно из-за этих лекций я шел на курс, и эти темы объяснили максимально простым и понятным языком, с примерами из практики. Отдельно хочу отметить домашние задания и консультации с преподавателями, они помогли понять, какие темы стоит подтянуть.
                  Андрей Дудырев
                  Middle Java developer "Цифровые привычки"
                  До курса я почти 2 года работал программистом. Для перехода на Middle-позицию мне не хватало теории по микросервисной архитектуре. На курсе мы прошлись по микросервисам, стал увереннее себя чувствовать в этой теме. Мне были очень полезны лекции по Docker, SQL и многопоточке.
                  Андрей Стогов
                  Middle Java developer "Цифровые привычки"
                  На курсе разбираются все самые популярные темы и вопросы собеседований. Причём очень глубоко и системно. Плюс, это все закрепляется крайне полезными мастер-классами по современным технологиям, например kubernetes, istio и др. Короче, это было очень круто, спасибо!
                  Дмитрий Кокотов
                  Middle Java developer "Цифровые привычки"
                  В курсе не было ничего лишнего, и полученные знания помогают мне сейчас на проекте. Из преподавателей хочу отметить Андрея Сундукова. Он грамотно подавал сложный материал, использовал аналогии и подкреплял любую теорию примерами в коде, постоянно взаимодействовал со студентами и не давал заскучать. Круто, что домашние задания составлены таким образом, чтобы ты не терял время и сразу думал над решениями в контексте тематики: в готовых сконфигурированных проектах уже настроены пайплайны для тестов и прочее, остается только применить и отточить полученные на лекции знания.
                  Лев Стахеев
                  Middle Java developer "Цифровые привычки"
                  Курс действительно оказался полезным и полностью оправдал мои ожидания. Он помог мне структурировать теорию и закрепить знания на практике. Наиболее полезными темами для меня были: Нефункциональные требования, Архитектура Web-приложений, VSC и CI/CD. Новые знания помогли мне устроиться на проект Сбера "Монеты и слитки" и быстро влиться в рабочий процесс.
                  Бари Валиахмедов
                  Systems Analyst "Цифровые привычки"
                  Мегаполезными лекциями для меня были по Java Memory Model и многопоточке. Из преподавателей больше всех запомнился Андрей Сундуков. Он доходчиво объяснял сложный материал и давал задания прямо во время лекции, так что учеба была интенсивной и разнообразной.
                  Евгений Власов
                  Middle Java developer "Цифровые привычки"
                  На курсе мы разбирали темы, которые реально пригодились в работе и при прохождении собеседования на проект. Я узнал много нового про работу со Spring, Docker и базами данных.
                  Андрей Павлов
                  Middle Java developer "Цифровые привычки"
                  На курсе я хотел закрепить и структурировать свои знания, а в итоге узнал много нового. Самыми полезными лекциями для меня были по основам Java, где рассматривались тонкости языка, например, правила Happens-before. Также начал работать с новыми для меня технологиями: Kafka и Istio. Из преподавателей мне больше всех запомнился Андрей Сундуков, потому что на лекциях он давал множество инсайтов из своего опыта, интересно было слушать и подмечать что-то для себя.
                  Павел Нарижный
                  Middle Java developer "Цифровые привычки"
                  Самыми полезными лекциями для меня были по TypeScript, и все лекции Александра по React. В практических домашних работах мы применяли все полученные знания, а также было много отдельных небольших упражнений по пройденному материалу.
                  Владислав Иванов
                  Middle JavaScript developer "Цифровые привычки"
                  Лично для меня самыми полезными лекциями были по OpenAPI, архитектуре web-приложений и тестированию. У каждого преподавателя были свои фишки, все понятно объясняли темы и отвечали на вопросы. По тестам была хорошая обратная связь, сразу становилось ясно, где и что я не совсем поняла.
                  Надежда Филимонова
                  Systems Analyst "Цифровые привычки"
                  Курс прокачал мои знания в разных аспектах системного анализа: проектирование БД, разработка базовой информационной модели, нефункциональные требования применимые к бэкендовым системам, API и брокеры очередей. Ну и самое классное – это трудоустройство после курса.
                  Лика Кузнецова
                  Systems Analyst "Цифровые привычки"
                  Отзывы наших новых сотрудников
                  Требования к кандидатам
                  Опыт от 1,5 года
                  Рассматриваем кандидатов с опытом от 1,5 года коммерческой разработки в качестве Java Developer
                  Желание учиться
                  Мы предоставляем программу менторства и наставничества, обеспечиваем условия для карьерного развития
                  Готовность к переезду
                  У нас есть позиции на удаленке, но многие наши проекты подразумевают проживание в Москве, компания помогает в переезде, подробнее
                  Наши преподаватели и выпускники
                  Интервью + Тестирование
                  Мы назначим время прохождения интервью и вышлем тестовое задание
                  Заполни сопроводительное письмо - так мы поймем, что ты заинтересован
                  Заполнить заявку
                  Пройти техническое собеседование с нашим разработчиком
                  Собеседование
                  1
                  2
                  3
                  Этапы поступления
                  Если наш специалист посчитает, что ты уже достаточно квалифицирован для работы над проектами, тебе будет предложено сразу пройти собеседования на проекты.
                  Твое резюме будет подаваться на несколько проектов, поэтому если не пройдешь на один проект, то сможешь попытаться пройти на другой.
                  Если ты успешно пройдешь собеседование на разные проекты, то сможешь выбрать один из них. В дальнейшем ты сможешь выбрать другой проект для работы.
                  Оформляем трудовой договор и ты начинаешь работать с командой на новой технике. Далее тебе приставят ментора, чтобы задать вектор твоего развития.
                  Направляем твое резюме на проекты
                  Техническое собеседование на проект
                  Получение оффера
                  Что будет после обучения?
                  4
                  5
                  6

                  Часто задаваемые вопросы

                  Какое обязательное требование для обучения?
                  Опыт коммерческой разработки на Java не менее 1,5 года. Возможность работать удаленно (на время пандемии), а также переехать в Москву или Санкт-Петербург.
                  Когда начинается обучение на курсе?
                  Группа набирается каждые 2 -3 недели. Старт ближайшего потока – 3 февраля 2022
                  Обязательно ли переезжать в Москву?
                  Почти все проекты требуют присутствия в городе (Москва или Санкт-Петербург), даже если это удаленка. Отдельные позиции предоставляют полную удаленку.
                  Помогает ли компания при переезде?
                  Да, компания предоставляет релокационный пакет, в который входят: оплата билетов, помощь в подборе квартиры, помощь с залоговыми платежами. Подробнее о программе релокации на сайте.
                  А если я не подойду на работу по итогам курса, то мне придётся платить за курс?
                  Нет. Если ты не сможешь пройти собеседование на Middle позицию, то мы можем предложить junior позицию с дальнейшим апгрейдом. Если мы не сможем тебя трудоустроить, то никакие штрафные санкции не предусмотрены.
                  Что если я не сдам итоговую аттестацию?
                  Аттестация, в первую очередь, направлена на оценку твоего уровня после курсов. Если какие-то темы у тебя проседают, мы назначим тебе дополнительные консультации.
                  Если мне не подходит время лекции, я смогу посмотреть запись?
                  Обязательно присутствие на всех лекциях, чтобы ты мог задавать вопросы, которые интересуют лично тебя. При форс-мажорных ситуациях ты можешь посмотреть лекцию в записи, предварительно уведомив об этом менеджера курса.
                  Какие условия дальнейшего трудоустройства?
                  • Заработная плата выпускников 120 000 ₽ - 180 000 ₽;
                  • регулярный пересмотр зарплаты по результатам работы;
                  • оформление по ТК РФ, ДМС, компенсация спорта и курсы английского языка;
                  • гибкий график, возможность работать удалённо;
                  • офис в центре Санкт-Петербурга или Москвы;
                  • программа менторства.
                  Close
                  У вас есть вопросы? Напиши нам!
                  E-mail
                  Имя
                  Вопрос
                  Я соглашаюсь c политикой конфиденциальности