Roadmap начинающего Java-разработчика
Как вырасти из джуниора в сеньоры, что нужно знать и где искать необходимую информацию, рассказал senior software engineering менеджер Александр Решетник.
— Начинающий разработчик должен обладать уверенными коммуникативными навыками, хорошо владеть английским и иметь хорошие задатки для изучения языков программирования (в нашем случае — Java). Кстати, на первых порах недостаток технических знаний поможет компенсировать именно коммуникативные навыки, — считает Александр, — Помните, что уровень владения английским растет медленнее, чем улучшаются технические навыки, отсюда главный совет: учите английский.
Базовые рекомендации
- Продвигайтесь по актуальной дорожной карте для освоения Java.
- Учите базовые понятия по проверенным книгам.
- Постоянно практикуйтесь.
— Составить универсальную дорожную карту невозможно, — убежден Александр, — Но взгляните на этот вариант. Конечно, со временем и опытом вы несколько видоизмените и дополните карту, ведь найти свой путь — это тоже один из главных челленджей для начинающего разработчика.
Обучение
— Главный секрет успешной работы 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».
Таким образом, для обучения необходимо использовать:
- литературу для вашего уровня;
- обучающие курсы на платформах Udemy, LinkedIn и других;
- официальную документацию;
- информацию из статей и блогов.
— Важно помнить, что для публикации любой книги требуется время, поэтому она может не отражать актуального состояния предметной области, — подчеркивает Александр, — Тем не менее у вас будут книги, обязательные к прочтению независимо от того, какой технологический стек вы изучаете. Книги для начинающих — это хорошая отправная точка, а далее вы можете переходить к профессиональной литературе и 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 и пр. Применяйте каждый новый инструмент на практике.
Полезный опыт также можно получить, участвуя в проектах с открытым кодом. Например:
- Help out your favorite open-source projects and become a better developer while doing it; and
- 20+ Trending and Popular Java Open Source Project.
— Я рекомендую уже на этом этапе заводить pet-проект, который бы соответствовал вашему уровню знаний. Чтобы стать профессионалом, новичку придется потратить немало времени и постоянно сохранять мотивацию, — резюмирует Александр, — Но с правильной дорожной картой и эффективной стратегией обучения все обязательно получится. Помните, что практика важна, постоянно совершенствуйте свои навыки.
Полезные ссылки
- Design patterns in different programming languages;
- Java Design Patterns and Architecture;
- Java Interview Questions You Need To Know;
- Awesome-java.
Еще больше про Java
- SQL Antipatterns: Avoiding the Pitfalls of Database Programming, by Bill Karwin;
- Clean Code: A Handbook of Agile Software Craftsmanship, by Robert Cecil Martin;
- Top 5 Free Apache Maven eBooks for Java Developers;
- SSH Basics for Cloud Security;
- The Complete SQL Bootcamp 2022: Go from Zero to Hero;
- Database Design Fundamentals for Software Engineers;
- SQL for Data Science;
- A handy new Google Cloud, AWS, and Azure product map;
- Top 5 Courses to Learn SQL and Database in 2023 — Best of Lot.
Благодарим за предоставленную тему портал training.epam.com.