article-spots
article-carousel-spots
programs
Материалы
Путь от джуна до хорошего Java-разработчика: roadmap для начинающих
9 янв. 2023

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

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

Базовые рекомендации от Александра:

  1. Продвигайтесь по актуальной дорожной карте для освоения Java.
  2. Учите базовые понятия по проверенным книгам.
  3. Постоянно практикуйтесь.


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

Детальная карта Java Roadmap доступна по ссылке.

Главный секрет успешной работы Java-разработчика — это профессиональная литература.

Для тех, кто делает первые шаги, есть полезная книга Kathy Sierra, Bert Bates «Head First. Java».

Затем можете перейти к Cay S. Horstmann «Core Java», Herbert Schildt «Java: A Beginner’s Guide» или «Java: The Complete Reference». По мере того как будет расти уверенность в себе, пробуйте более сложные книги.

Профессиональный разработчик хорошо разбирается в системах управления зависимостями Gradle и Maven. Просмотрите краткий курс Maven Quick Start: A Fast Introduction to Maven by Example на Udemy и обратитесь к основательной книге Tim O’Brien «Maven: The Complete Reference». Пройдите курс Learning Gradle на LinkedIn, после чего приступайте к официальной документации — Gradle Guides.

Еще одна важная вещь для программиста — работа с базами данных, для которой нужно знать SQL. Начинающим советую ознакомиться с книгой Thomas Nield «Getting Started with SQL».

Таким образом, используйте для обучения:


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

На чем еще стоит сосредоточиться?

По-настоящему классный специалист пишет хороший код и умеет решать задачи с помощью программирования. Для этого неплохо было бы разбираться в системах контроля версий (Git, SVN), REST, HTTPS, web (basic, SSO, OAuth, JWT), структурах данных, Scrum, Kanban и алгоритмах.

Также стоит поближе познакомиться со смежными специальностями, чтобы понимать, из чего состоит работа коллег. Что почитать, чтобы вникнуть в суть:

  • Gene Kim, Kevin Behr, George Spafford. The Phoenix Project;
  • Tim Riley, Adam Goucher. Beautiful Testing: Leading Professionals Reveal How They Improve Software;
  • Kate McGoey and Kupe Kupersmith. Business Analysis For Dummies;
  • Susan Weinschenk. 100 Things Every Designer Needs to Know About People;
  • Scott Berkun. Making Things Happen: Mastering Project Management.

Больше книг по каждому техническому направлению собрано в статье «Одна книга для каждого направления».

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


Освоив фундаментальные вещи, двигайтесь дальше по дорожной карте, изучайте web frameworks, CLI tools, databases и пр. Применяйте каждый новый инструмент на практике. Полезный опыт можно получить участвуя в проектах с открытым кодом. Например:


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

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

Полезные ссылки

Еще больше про Java:

Про Spring Boot: