27 сентября 2022

☕ Дорожная карта Java-разработчика в 2022 году

Пишу об IT и на Python. kungurov.net
Рассказываем, что изучать и в какой последовательности, чтобы стать хорошим Java-разработчиком.
☕ Дорожная карта Java-разработчика в 2022 году
Статья подготовлена по материалам ютуб-канала BeTry.

1. Английский язык

Почему это важно:

  • Вся документация пишется на английском языке.
  • Работая в международной компании, все митинги, созвоны будут проводиться на английском языке. Поэтому вам необходимо иметь уровень хотя бы elementary или beginner. Во многих компаниях есть курсы английского языка, но эти курсы предназначены для увеличения вашего скила, а не для старта с нуля.

2. Git

☕ Дорожная карта Java-разработчика в 2022 году

Что нужно знать:

  • git clone
  • git pull
  • git commit
  • git push
  • gist stash
☕ Подтянуть свои знания по Java вы можете на нашем телеграм-канале «Библиотека Java для собеса»

3. Операционная система

Определитесь, с какой ОС вам предстоит работать. Для автоматизации действий вам придется писать скрипты: в случае Linux — bash-скрипты, а на Windows — bat-скрипты.

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

☕ Дорожная карта Java-разработчика в 2022 году

Что нужно знать:

  • Алгоритмы сортировки.
  • Как работать с деревьями.
  • Понимать списки, очередь и стек.
  • Сортировки: сортировка пузырьком, сортировка слиянием и так далее.
  • Алгоритмы поиска.
  • Математика: как считать среднее арифметическое, среднее геометрическое и т. д.

5. Java Core

Java Core — база языка программирования, в которую включены структуры данных, синтаксис и все прочее.

☕ Дорожная карта Java-разработчика в 2022 году

Java Basic

  • Базовый синтаксис.
  • ООП.
  • Дженерики – шаблонные классы, которые подстраиваются под то, что вам необходимо; хранят и обрабатывают любые типы данных, которые вы укажите при их объявлении.
  • Строки. Понимать, как делать сверку по шаблону, производить поиск в строках и т. д.
  • Коллекции для хранения данных: Map, List, Array, Set (часто спрашивают на собеседованиях).
🧩☕ Интересные задачи по Java для практики можно найти на нашем телеграм-канале «Библиотека задач по Java»

Потоки (Concurrency)

  • Thread.
  • Thread Pool.
  • Паттерны многопоточных приложений.

Java 8 Features

  • Lambda-функции (анонимные функции).
  • Stream.
  • Класс Optional.
  • Функциональное программирование и прочее.

IO

  • Понимать, как работать с файлами.
  • Networking (Socket).
  • Java NIO/NIO2 (часто встречается в вакансиях).

6. Tools

☕ Дорожная карта Java-разработчика в 2022 году

В совершенстве владеть своей IDE (Eclipse, IDEA, VSCode, vim) и понимать, как создавать приложения с нуля, как собирать приложения, какие плагины установить, пользоваться быстрыми клавишами и т. д.

Build (сборщики)

  • Maven — использует xml для описания проекта.
  • Gradle — использует язык программирования groovy для описания проекта.

Docker

  • Docker Compose.
  • Docker swarm.
  • Kubernetes.

Jenkins

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

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека джависта»

7. Фреймворки и библиотеки

Для бэкенда

☕ Дорожная карта Java-разработчика в 2022 году
  • Spring: Spring Core (основа для создания сервисов), Spring Data (работа с БД), Spring cloud (работа с микросервисами), Spring Security (защита приложений).
  • Hibernate — для работы с базой данных.
  • Quarkus и Micronaut — позволяют быстро писать реактивные приложения.
  • Vert.x — асинхронный веб-фреймворк.

Для десктопа

  • JavaFX, Swing, AWT — для создания графического интерфейса в считаные часы.

Web basic (для фулстек-разработки)

  • JavaScript: Angular, Vue.js или React.
  • HTML5.
  • Bootstrap.

8. Тестирование

☕ Дорожная карта Java-разработчика в 2022 году

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

  • Библиотеки Junit, Mockito для тестирования действий при работе с базой данных.
  • Auto Testing — Selenium позволяет создавать окна браузеров, заходить на веб-страницу, тестировать клики, поля ввода и т. д.
  • Integration Test тестирует, как приложение встраивается в инфраструктуру и как оно в ней работает. Используемые библиотеки для написания сценариев: Selenium, Robot.

9. Utils

Углубиться в оптимизацию процесса работы и разработки:

  • Log4j, SLF4j (логирование) — отслеживают действия клиентов.
  • JavaDoc — описывает классы и в дальнейшем генерирует из этого документацию в формате .html или .pdf.

Java Analyze

Утилиты, которые помогают понять, где произошла ошибка:

  • Heap Analyzer.
  • Thread Dump Analyzer.

Java Analyze

  • Jira для трекинга задач.
  • GitLab, GitHub, BitBucked — необходимо уметь использовать сервисы для хранения исходного кода.
  • AWS — важно знать, что такое микросервисы, как микросервисы разворачиваются и т. д.
  • HTTP — приложение Postman, генерирующая запросы к серверам.

10. Базы данных

☕ Дорожная карта Java-разработчика в 2022 году
  • SQL — DML (язык манипуляции с данными), DCL (язык дает доступ к определенным базам данных и таблицам), TCL (работа с транзакциями), DDL (язык определения данных).
  • Как происходит подключение к БД с помощью драйвера JBDC.
  • Hibernate.
  • NOSQL.
  • MySQL.
  • MSSQL.
  • PostgreSQL.
  • MongoDB.
  • ClickHouse.

11. Оптимизация приложений

  • JMH.
  • JIT.
  • warmup.
  • JVM (OpenJDK, AdoptOpenJDK, Zulu, GraalVm).

12. Куда расти

  • Менеджер — работа с людьми.
  • Архитектор — продумывать схемы работы приложений.
  • Product Owner — совмещать разработку и менеджмент.

Скачать дорожную карту

Диаграмма в формате .pdf.

***
Статья написана в рамках программы Proglib Boost, в которой «Библиотека программиста» бесплатно помогает IT-блогерам распространять их контент. Отправить заявку на участие можно по ссылке.
***

Материалы по теме

Источники

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ