Здравствуйте!
Войти в IT — задача не из простых, особенно если у вас нет профильного образования.
Но тем не менее это можно сделать.
Запаситесь терпением и силами — они пригодятся, чтобы выучить Java. Как именно это сделать и с чего начать, расскажу в этой статье.
Язык Java: что это и зачем он нужен
Netflix, Spotify, Uber, LinkedIn, Google… Все эти сервисы существуют для того, чтобы снизить уровень стресса, который мы испытываем, и снять с нас часть нагрузки. Но объединяет их не только это. Эти приложения написаны с помощью ряда языков программирования, один из которых — Java.
Java — это проверенный годами язык, вокруг которого сформировалось большое и достаточно дружелюбное сообщество.
Он занимает третье место по популярности среди всех языков программирования (выше только JavaScript и Python), а в сфере backend — первое (что это значит, мы разберемся чуть ниже).
Этот язык используют большие технологические корпорации, такие как Google и Netflix, потому что плюсы и минусы этого языка хорошо известны. Кроме того, Java популярен в банках — уязвимости языка изучены, а значит понятно, как от них можно защититься.
Чтобы понять, для чего именно разработчики используют Java, нужно разобраться в разнице между frontend- и backend-частью любого приложения. В основном всё, что вы видите в вашем браузере, — это результат работы frontend-разработчиков, которые пишут, например, на JavaScript (это не то же самое, что Java). Поисковая строка, кнопки, выпадающие меню — все это frontend.
По другую сторону — взаимодействие с базами данных, обработка и подготовка этих данных для frontend-части приложения. Это backend, движок приложений. И вы никогда не увидите, как он работает. Backend-часть, как правило, пишется именно на Java.
Спрос на java-разработчиков сейчас очень высокий — в этой области специалистов просто не хватает. Предпосылок к изменению ситуации пока нет.
Поэтому крупные компании ищут разработчиков, причем не только готовых специалистов; многие готовы вкладываться в развитие начинающих программистов с определенным набором хард-навыков.
С чего начать изучение Java
Обобщим: чтобы попасть в профессию, вам нужно пройти три этапа обучения:
- Понять, что такое java-разработка, и научиться решать простейшие задачи.
- Изучить фреймворки.
- Попасть в компанию в качестве стажера или начинающего разработчика.
Будьте готовы: ваш путь на самом деле будет бесконечным. Даже опытным разработчикам постоянно приходится искать и усваивать новую информацию, это просто часть работы.
Начать знакомство с профессией стоит с бесплатных ресурсов. Здесь возможны варианты:
- Используйте сайты для бесплатного обучения, например Javarush.
- Найдите курсы на YouTube. Например, на канале «Уроки Java» есть и практика, и теория.
- Пройдите курсы на платформах типа GeekBrains.
- Если все-таки готовы заплатить деньги за обучение, то поищите куратора на таких сайтах, как Freelance или Upwork.
- Почитайте книги, например «Java. Эффективное программирование» (Джошуа Блох). Ее лучше изучить в оригинале — Effective Java by Joshua Bloch.
На чистой Java уже давно никто не пишет. Разработчики используют фреймворки.
Фреймворк, по сути, — набор готового кода, который решает определенные проблемы, например:
- настраивает взаимодействие с базами данных;
- отправляет сообщения по сети;
- выстраивает структуру проекта;
- помогает с безопасностью (код фреймворка протестировало большое количество людей);
- предотвращает написание так называемых велосипедов — это когда вы пишите свое решение проблемы, которая уже была решена.
Всё это вместе помогает вам работать над бизнес-логикой приложения, не отвлекаясь на сторонние задачи. Познакомиться с фреймворками, такими как Spring, очень важно.
Хорошая идея — после курсов и книг пойти стажироваться. У разных компаний есть разные форматы стажировок и интенсивных курсов обучения, так называемых буткемпов; многие из них предлагают возможность трудоустройства. Но даже если вам не предложат место в штате, стажировка или буткемп — это хорошая возможность получить реальный опыт программирования и поработать над проектами, которые войдут в портфолио. А с этим работу искать проще.
Запаситесь терпением — процесс обучения требует этого. В самом начале у вас, скорее всего, не будет ничего получаться: вы наверняка будете натыкаться на информацию, которая не поможет вам решить конкретные задачи. Но со временем весь массив знаний, которые вы освоите, сложится в пазл. С ним и можно стартовать в профессии.
Какие хард-скиллы должны быть у начинающего java-разработчика
- Знание синтаксиса выбранного языка программирования.
- Представление о базах данных SQL, NoSQL.
- Чтение документации на английском языке.
- Базовые знания Git (система контроля версий).
- Базовые знания Spring Framework (для Java).
А какие должны быть софт-скиллы?
Разработка приложения — это всегда командная работа. Поэтому помимо знания языка вам нужно уметь общаться.
Во-первых, будьте вежливым. Это очень важно для работы в команде, ведь с коллегами вам нужно будет проводить по 8 часов в сутки.
Во-вторых, задавайте вопросы. Один из источников знаний — это команда и профильные сообщества внутри компаний. Умение правильно задавать вопросы поможет вам получать правильные ответы.
В-третьих, учитесь принимать и давать обратную связь. Вас могут похвалить, и это даст понять, что всё, что вы делаете, не зря. А иногда могут указать на недостатки в вашей работе — это поможет вам развиваться.
На вашей первой работе коллеги поначалу будут вам говорить, что и как делать. А задачи вы будете получать совсем простые. Тем не менее, и с ними вы должны справляться хорошо.
Со временем сложность задач будет увеличиваться, как и количество ваших вопросов. Не стесняйтесь задавать их. И как можно больше смотрите чужой код — это поможет вам расти быстрее. Ведь код, который пишут старшие разработчики, — это кладезь знаний, накопленных годами.
Трудности, к которым нужно быть готовым
Один из популярных вопросов, адресованных java-разработчикам, звучит так: как вы относитесь к тому, что не сможете показать результат своей работы близким?
Ведь, как мы уже говорили, на Java пишут backend — ту часть, которую пользователь не видит.
Программирование — сложная штука, и объяснить кому-то вне мира IT что-то, что не имеет визуального представления, бывает сложно, а показывать код — занятие неблагодарное.
Поэтому вам придется привыкнуть к тому, что вашу работу в полной мере оценят только коллеги.
Это, а еще необходимость постоянно учиться, быть в тонусе и задавать вопросы — вот то, к чему нужно быть готовым. Если вас это не пугает, смело идите в java-разработчики — они все еще очень нужны.
До новых встреч!