Длительность, рекомендуемая Skillfactory:
14 месяцев
Формат:
онлайн в любое удобное время

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

Уровень:
с нуля
Освойте мощный язык для создания IT-решений любой сложности — от мобильных приложений до корпоративных систем.

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

Освойте backend-разработку на Java и основы DevOps, соберите портфолио и откликайтесь на вакансии уже после 7 месяцев обучения.
Получите доступ
к онлайн-курсу
Наш менеджер скоро свяжется с вами и ответит на все вопросы

Курс «Java-разработчик»

Старт:
скоро
Можно с нуля

Этот онлайн-курс для вас, если

Мечтаете с нуля освоить новую сферу, чтобы работать без привязки к одному месту и путешествовать
Хотите участвовать в больших проектах и развиваться в крупной стабильной компании, в офисе или удаленно
Увлечены программированием, стремитесь разобраться в бэкенде и создавать сложные продукты на Java
На онлайн-курсе вы систематизируете знания, изучите только нужную для работы информацию и будете последовательно двигаться по проверенному пути.
Java уже 20 лет в мировом топе языков программирования.

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

Почему изучать Java правильный выбор?

По порогу входа

Java или другой язык — зависит от ваших целей

  • Код Python напоминает английский язык, что делает его читаемым и понятным даже для новичков
  • Java — строгий и более подробный, требует большего количества кода и внимательности к деталям
  • Python подходит для быстрой разработки и прототипирования, код на нем пишется легче, но работает медленнее
  • Java требует больше времени на этапе написания кода, незаменим в проектах, в которых производительность и надежность критически важны
Java часто сравнивают с Python, потому что оба языка подходят для новичков.
Java сложнее
По производительности
Java быстрее
  • Python нужен в анализе данных, машинном обучении, веб-разработке и написании скриптов.
  • Java тоже подходит для веб-проектов, а также используется в создании мобильных приложений, игр и сложных корпоративных систем.
По сферам применения
они разные
Если хотите заниматься серьезной разработкой в крупной компании, выбирайте Java.

Придется приложить больше усилий, но они обязательно окупятся.

Java откроет дверь в мир корпоративной разработки и масштабных проектов, даст возможности развиваться в разных направлениях.
Начинайте со сложного — c нами получится. А после того как изучите Java, будет проще осваивать другие языки: Kotlin, Scala или С++.

После онлайн-курсов Skillfactory специалисты в среднем зарабатывают 20 000 000 so'm

Развивайте навыки и растите в цене
Senior-специалист
в иностранной компании
Middle-специалист
12 000 $
Junior-специалист
Senior-специалист
20 000 000 so'm
Java-разработчик уровня Junior
*По данным hh.uz
13 000 000 so'm
32 000 000 so'm
Центр развития карьеры работает с вами
начиная с первого дня обучения и до первого оффера

Мы подготовим вас к трудоустройству:
• дадим много практики для кейсов в ваше портфолио
• поможем с резюме
• познакомим с будущими работодателями

Вернем деньги за курс

если не найдете работу после его освоения

*подробные условия возврата в правилах акции
Чтобы посмотреть как устроена работа в большой IT-компании
Чтобы быстрее влиться в среду
Чтобы расти в карьере и работать из любой точки мира

План прохождения онлайн-курса

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

3. SQL и работа с базами данных

1. Основы Java и ООП

Вы научитесь:
— понимать основные IT-термины
— разбираться в типах данных и операторах
— работать в среде разработки IntelliJ IDEA
— создавать программы и имплементировать решения
— писать код на Java, применяя принципы и методы ООП
— загружать свой код на GitHub
Вы научитесь:
— создавать и наполнять базы данных
— работать с операторами и функциями в БД
— манипулировать структурой таблицы и данными в ней
— писать сложные SQL-запросы и вызывать хранимые процедуры
— пользоваться Maven из командной строки и с помощью плагина в IDE
— работать с БД средствами JDBC
— изменять данные в БД средствами JDBC и MyBatis
3 месяца
1,5 месяца
Вы научитесь:
— оценивать время работы и затрачиваемую память программ
— работать со встроенными и самописными структурами данных
— решать задачи с использованием стека и очереди
— применять амортизационный анализ

4. Алгоритмы и структуры данных

0,5 месяца
Онлайн-тренажер: Java
• 5 мини-проектов по написанию программ
30+ написанных программ
• Тренажер по основам SQL
• Проект: создание и тестирование БД для обслуживания социальной сети
• 30+ мини-задач
2 месяца
Вы научитесь:
— собирать и запускать проекты с помощью Maven и Gradle
— проектировать приложение и проводить его декомпозицию
— понимать принципы построения архитектуры приложения
— подбирать подходящие паттерны для разных задач
— использовать Java Reflection API
— пользоваться Lombok
— применять генератор кода MapStruct
— управлять и работать с Tomcat
— использовать технологию JSP

5. Backend-разработка на Java

7. Frontend для backend-разработчика

6. Spring Framework

Вы научитесь:
— подключаться к API
— проектировать REST-сервис для задачи
— создавать веб-приложения на фреймворке Spring
— быстро начинать проект, используя SpringBoot
— понимать полезность и применимость паттерна MVC
— встраивать Swagger и применять его
— использовать Hibernate для доступа к БД
— тестировать приложения (писать юнит-тесты)
— видеть разницу между юнит- и интеграционными тестами
— применять Mockito
Вы научитесь:
— использовать HTML и создавать веб-страницу
— применять таблицы стилей CSS
2 месяца
0,5 месяца
Вы научитесь:
— работать с Ubuntu Linux на уровне пользователя и писать команды

8. Основы системного администрирования

0,5 месяца
• Проект: приложение-помощник для учета личных финансов
0,5 месяца
Вы научитесь:
— применять мощный инструмент Docker
— современным способом доставлять свой код в продакшн, ориентируясь на устройство этого процесса в топовых IT-компаниях
— использовать контейнеризацию

9. Основы DevOps

1,5 месяца
Вы научитесь:
— самостоятельно создавать собственное приложение

10. Индивидуальный проект

• Проект: система обработки информации об университетах и студентах

2. Программирование на Java

Вы научитесь:
— собирать большое приложение с подключенными библиотеками
— применять Java Collections
— работать с многопоточностью
— использовать лямбда-функции
— работать в Java с памятью компьютера
2 месяца
• 3 проекта для портфолио: шифрователь текстов, игра в жанре RPG, чат-бот
• 5 мини-проектов по написанию программ
• 20+ написанных программ
Обучение Питон с нуля
Это пример API, которое может использовать банкомат, веб-приложение или мобильное приложение интернет-банка.
  • спроектируете базу данных
  • создадите REST API
  • добавите функционал для работы с балансом и для перевода суммы другому пользователю
Умение создавать API и проектировать базу данных — ключевой навык для бэкенд-программиста.

На проекте вы:

Ваш финальный проект —
«REST API по работе с банковским счетом»

После освоения материалов вы получите

Сертификат о прохождении онлайн-курса
Он позволит чувствовать себя увереннее при трудоустройстве — работодатели отметят подтверждение квалификации официальным документом
Сертификат может быть дублирован на английском языке

Спикеры и менторы

Вас будут учить люди, которые давно в индустрии, обладают большим опытом и точно знают стандартный список навыков и инструментов, которые нужны junior-разработчику

Как проходит освоение материалов курса

Занимайтесь в своем темпе
Наши курсы ориентированы на тех, кто работает и хочет сам регулировать нагрузку. Занимайтесь без отрыва от работы и выделяйте на учебу столько времени, сколько есть прямо сейчас, — 15 минут или 2 часа в день.
20% курса — интересная и важная теория
Теория разбита на короткие блоки, после которых обязательно идёт практика.

Вы смотрите короткие видео, изучаете текстовые материалы и приступаете к заданиям для закрепления.
80% курса — практика в разных форматах
Для развития навыков у нас есть 5 видов практики: тренажёры, тесты, практические задания, проекты и хакатоны.

Разнообразие форматов помогает усваивать материалы максимально эффективно.
Менторы и координаторы помогут дойти до конца
Все менторы — опытные практики из IT-индустрии. Они дают качественную обратную связь на практические задания, отвечают на вопросы и помогают достичь своих целей во время освоения материалов. Выпускники оценивают менторскую поддержку на 9,1 балла из 10.

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

Проекты в ваше портфолио

Ролевая игра

Проект: разработаете с нуля ролевую игру, напоминающую World of Warcraft, где игрок сможет исследовать мир, сражаться с монстрами, получать новые уровни, покупать предметы и становиться все более мощным.

Навыки: Java Core

Аналитический сервис университета

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

Навыки: Maven, Excel, JSON

Настройка сервера

Проект: виртуальная машина на ОС Linux для управления сервером документооборота. В качестве сисадмина вы установите необходимые компоненты и настроите систему.

Навыки: научитесь управлять правами доступа и настройками безопасности на сервере Linux.

Интернет-банк

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

Навыки: Spring Framework, REST-API, JDBC и Hibernate.

Telegram-бот

Проект: конвертер курса валют. Напишете бота, который будет конвертировать курсы валют на основе актуального курса Центробанка. Для этого подключитесь к открытому API ЦБ.

Навыки: основы работы с ботами в Telegram, подключение к API, работа с запросами и ответами в формате JSON, реализация SQL-запросов.

Вы освоите современные технологии Java-разработки

Docker
Redis
MySQL
SQL
Nginx
Gradle
IntelliJ IDEA
Java Server Page
JUnit
Java
Oracle
NoSQL
Java FX
Mockito
Kafka
Java8
DevOps
MongoDB
Maven
PostgreSQL
Apache
JDK
Kubernetes
JDK — Java Development Kit, набор инструментов для разработки на языке Java. Он позволяет компилировать, то есть «собирать», и запускать написанный код
IntelliJ IDEA — интегрированная среда разработки для Java, Python и других языков программирования от компании JetBrains
Java — язык программирования разработанный компанией Sun Microsystems. На нем написано множество приложений, программ и ОС для современных смартфонов
Java8 — новейшая версия Java, содержит новые функции и исправления ошибок, которые позволяют повысить производительность
SQL — это структурированный язык запросов, созданный для того, чтобы получать из БД необходимую информацию
NoSQL (Not only SQL) — нереляционные типы БД, данные в которых хранятся в формате, отличном от реляционных таблиц
PostgreSQL — это объектно-реляционная система управления БД, наиболее развитая из открытых СУБД, является альтернативой коммерческим БД
MySQL — это реляционная система управления базами данных (СУБД), которая распространяется как свободное программное обеспечение. Отличается гибкостью, легкостью, удобством в использовании
Oracle — это объектно-реляционная система управления базами данных (СУБД) от компании Oracle
MongoDB — документоориентированная система управления БД, которая не требует описания схемы таблиц. Считается одним из классических примеров NoSQL-систем
Redis — резидентная система управления БД класса NoSQL с открытым исходным кодом, работающая со структурами данных типа «ключ — значение»
Java Server Page — технология, которая позволяет создавать динамические веб-страницы для приложений
Maven — инструмент для автоматической сборки проектов на основе описания их структуры в специальных файлах на языке POM (Project Object Model)
Gradle — система для автоматизации сборки приложений и сбора статистики об использовании программных библиотек
Apache — открытое кроссплатформенное программное обеспечение для размещения и поддержки веб-сервера
Nginx — программное обеспечение с открытым исходным кодом для создания легкого и мощного веб-сервера. Также его используют в качестве почтового или обратного прокси-сервера
JUnit — фреймворк для Java, предназначенный для автоматического тестирования программ
Java FX — набор инструментов для создания кроссплатформенных приложений
Mockito — фреймворк для тестирования приложений, который позволяет легко и быстро подменять реальные объекты программы «пустышками»
Kafka — распределенная система обмена сообщениями между серверными приложениями в режиме реального времени
DevOps — методология взаимодействия разработчиков, тестировщиков и других IT-специалистов в команде
Kubernetes — программная платформа для автоматического управления контейнеризированными приложениями
Docker — программная платформа для разработки, доставки и запуска контейнерных приложений

Пример вашего резюме после курса

Java-разработчик
Я уверенно могу:
Решать задачи любой сложности с помощью алгоритмов

Программировать на Java и применять Сollections, Exceptions, Generics, основы Multithreading

Писать серверную логику и настраивать взаимодействие с базами данных, писать SQL-запросы

Использовать Spring, SpringBoot

Реализовывать REST-сервисы с различными функциями

Разворачивать на домене и поддерживать сайт

Искать и исправлять ошибки в коде (debugging)

Написать собственный движок сайта

Работать с Git, Gitflow

Использовать дополнительные фреймворки

Применять DevOps-инструменты

Тестировать приложения
Зарплата: от 13 000 000 so'm

Истории успеха из блога

Александр Нуруллов:
«после полугода учебы стал мидлом в крупной компании»
Роман Селезнев:
«задал вопрос — и сразу получил возможность попасть в Agima»
Надежда Ковалева:
«ушла из финансов в дата-сайентисты и выиграла карьерный конкурс»
Денис Злобин:
«занимался по 6 часов в день и нашел сразу две работы»
Александр Нуруллов:
«после полугода учебы стал мидлом в крупной компании»
Роман Селезнев:
«задал вопрос — и сразу получил возможность попасть в Agima»
Надежда Ковалева:
«ушла из финансов в дата-сайентисты и выиграла карьерный конкурс»
Денис Злобин:
«занимался по 6 часов в день и нашел сразу две работы»

Стоимость онлайн-курса

при рассрочке на 18 месяцев без первоначального взноса и переплат
1 012 619 so'm/мес
1 841 125 so'm/мес
-45%
обучение на русском языке

Получите доступ

  • Начнете изучать Java с нуля, постепенно погрузитесь в программирование и освоите продвинутые навыки разработчика

  • Обратная связь от менторов

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

  • Доступ к материалам онлайн-курса

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

Программа включает базовый курс и подойдет для начинающих разработчиков, которые решили освоить backend и программирование с нуля.
DevOps — это методология взаимодействия разработчиков, тестировщиков и других IT-специалистов в команде.
Сервер (от англ. server — обслуживающий) — сетевой компьютер, обрабатывающий запросы от других компьютеров в локальной или глобальной сети.
Python — это высокоуровневый язык программирования, отличающийся эффективностью, простотой и универсальностью использования.
Скрипт, или сценарий, — это небольшая программа, которая выполняет конкретную задачу. Обычно у скриптов нет своего визуального интерфейса: это код, который запускается по команде, отрабатывает, совершает нужные действия и завершается.
Kotlin — это язык программирования, созданный компанией JetBrains. С момента выхода первой официальной версии языка в 2016 году, всего за год он занял место в топ-50 в рейтинге TIOBE.
Scala — это язык программирования, основанный на Java. Его можно использовать для разных целей, он лаконичнее и упорядоченнее, чем Java, но местами сложнее в освоении.
Объектно-ориентированное программирование (ООП) — это подход, при котором программа рассматривается как набор объектов, взаимодействующих друг с другом. У каждого есть свойства и поведение.
SQL (от англ. Structured Query Language) — это структурированный язык запросов, созданный для того, чтобы получать из базы данных необходимую информацию.
Алгоритм — это четкая последовательность действий, выполнение которой дает какой-то заранее известный результат. Простыми словами, это набор инструкций для конкретной задачи.
Git (читается как «гит») — это система контроля версий, которая помогает отслеживать историю изменений в файлах. Git используют программисты для совместной работы над проектами.
Spring — это фреймворк с открытым исходным кодом для языка программирования Java. Он был создан для упрощения разработки и поддержки масштабируемых, слабосвязанных и повторно используемых приложений.
Gradle — система для автоматизации сборки приложений и сбора статистики об использовании программных библиотек, применяющая языки Groovy, Java, JavaScript, Kotlin и т. д., а также решения из фреймворков Apache Ant и Apache Maven.
Linux — это семейство операционных систем (ОС), работающих на основе одноименного ядра.
DevOps — это методология взаимодействия разработчиков, тестировщиков и других IT-специалистов в команде. Такая система нужна, чтобы команда работала более эффективно и слаженно, вовремя исправляла ошибки и грамотно взаимодействовала друг с другом.
GitHub — это сервис для совместной разработки и хостинга проектов. C помощью GitHub над кодом проекта может работать неограниченное количество программистов из любых точек мира.
Чат-бот (chatbot) — это программа для общения с пользователями, проведения консультаций, помощи в решении вопросов. Их используют банки, интернет-магазины и даже государственные порталы.
Приложение — это программа для мобильного устройства, обычно под операционной системой Android или iOS. В более широком смысле приложение — любая прикладная программа, в том числе онлайн-программа.
Библиотека — это готовый набор функций и объектов для какого-либо языка программирования.
База данных (БД) — это имеющая название совокупность данных, которая отражает состояние объектов и их отношений в рассматриваемой предметной области.
Maven — это инструмент для автоматической сборки проектов на основе описания их структуры в специальных файлах на языке POM (Project Object Model) — подмножестве XML.
IDE, или Integrated Development Environment — интегрированная среда разработки, набор ПО для создания кода.
JDBC — это платформенно независимый промышленный стандарт взаимодействия Java-приложений с реляционными базами данных.
MyBatis — платформа персистентности (сохранения) с открытым исходным кодом, упрощающая и автоматизирующая взаимодействие между Java-приложениями и базами данных.
Стек — это способ формирования структуры данных, а структура — это вариант хранения информации: списков, «веток», схем, множеств, таблиц.
Lombok — это библиотека для сокращения кода в классах и расширения функциональности языка Java.
Mapstruct — это библиотека для Java, которая генерирует код для передачи данных между разными сущностями в программе.
Java Server Pages (JSP) — технология, позволяющая создавать веб-страницы и Java-приложения со статическим и динамическим содержимым.
Фреймворк (с англ. framework — «каркас, структура») — заготовка, готовая модель в программировании для быстрой разработки, на основе которой можно дописать собственный код.