Share This
Связаться со мной
Крути в низ
Categories
//Как стать программистом на Java: дорожная карта 2022

Как стать программистом на Java: дорожная карта 2022

kak stat programmistom na java dorozhnaja karta 2022 04c779f - Как стать программистом на Java: дорожная карта 2022

Пишу об IT и на Python. kungurov.net Рассказываем, что изучать и в какой последовательности, чтобы стать хорошим Java-разработчиком.

kak stat programmistom na java dorozhnaja karta 2022 1693f18 - Как стать программистом на Java: дорожная карта 2022

Статья подготовлена по материалам ютуб-канала BeTry.

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

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

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

2. Git

kak stat programmistom na java dorozhnaja karta 2022 3765e1a - Как стать программистом на Java: дорожная карта 2022

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

  • git clone
  • git pull
  • git commit
  • git push
  • gist stash

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

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

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

kak stat programmistom na java dorozhnaja karta 2022 fd2c9c1 - Как стать программистом на Java: дорожная карта 2022

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

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

5. Java Core

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

kak stat programmistom na java dorozhnaja karta 2022 9d5c998 - Как стать программистом на Java: дорожная карта 2022

Java Basic

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

Потоки (Concurrency)

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

Java 8 Features

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

IO

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

6. Tools

kak stat programmistom na java dorozhnaja karta 2022 ee93c1d - Как стать программистом на Java: дорожная карта 2022

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

Build (сборщики)

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

Docker

  • Docker Compose.
  • Docker swarm.
  • Kubernetes.

Jenkins

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

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

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

Для бэкенда

kak stat programmistom na java dorozhnaja karta 2022 528ab8e - Как стать программистом на 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. Тестирование

kak stat programmistom na java dorozhnaja karta 2022 613ac8f - Как стать программистом на 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. Базы данных

kak stat programmistom na java dorozhnaja karta 2022 0c9bc8c - Как стать программистом на 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-блогерам распространять их контент. Отправить заявку на участие можно по ссылке. Отправить заявку ***

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

  • ТОП-6 алгоритмов сортировки на Java для новичков
  • ☕ ТОП-20 бесплатных учебных курсов по Java для новичков
  • ☕ 15 лучших каналов YouTube по Java для новичков и профессионалов

  • 5 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Свежие комментарии

    Рубрики

    About Author 01.

    blank
    Roman Spiridonov

    Моя специальность - Back-end Developer, Software Engineer Python. Мне 39 лет, я работаю в области информационных технологий более 5 лет. Опыт программирования на Python более 3 лет. На Django более 2 лет.

    Categories 05.

    © Speccy 2022 / All rights reserved

    Связаться со мной
    Close