В зависимости от темпа обучения, через несколько месяцев или, может быть, год, вы задумаетесь о том, как перейти от решения задач по Java к реальной работе. Той, за которую вам будут платить деньги, и которая будет вам нравиться.
Будем честными. С каждым годом требования к джунам растут, но советуем воспринимать это как приятный вызов себе и возможность стать действительно крутым специалистом. Но что же нужно делать, чтобы выделиться среди новичков? За советом нужно обращаться не к теоретикам, а к самым настоящим практикам. Особенно если они прошли такую же школу жизни на JavaRush.
Выпускник нашего курса Джон Дориан как-то поделился своими жизненными советами.
1. Выучите JavaScript
На сегодняшний день JS — самый востребованный у работодателей язык программирования. Портал HackerRank провел опрос среди компаний на предмет их "хотелок", и именно он оказался на первом месте по запросам работодателей.
Причина проста: у JavaScript на сегодняшний день нет серьезной альтернативы при разработкe frontend. Если вы освоите "чистый" JS и один из популярных фреймворков (прежде всего — React или Angular), ваши шансы стать программистом вырастут В РАЗЫ.
Во-первых, любая компания, ищущая Java-developer'a, будет рада, если он владеет JavaScript. Причины этого достаточно просты: очень часто в проекте бывают небольшие задачи: например, исправить какой-то функционал.
"Кнопка A должна называться не А, а B, находиться не справа, а слева, и вызывать на backend'e функцию X, а не Y".
Но поправить в данном случае нужно и бэкенд, и фронтeнд. И даже если задача будет элементарной, для ее решения все равно нужно два человека: бэкендщик и "фронтовик". Но если в команде есть человек, владеющий и тем, и другим (не обязательно на выдающимся уровне), количество ресурсов на закрытие таких задач сокращается в разы.
Во-вторых, вакансии джунов и стажеров у фронтендщиков появляются чаще, чем у бэкендщиков. Например, пошарив сегодня по HeadHunter в своем городе, может получиться так, что вы найдете 1 вакансию Java Junior и, скажем, 3 на Frontend Junior.
В общем, JS — ваш серьезный шанс получить первую работу. Устроитесь "джавистом" — отлично, для них JS никогда не бывает лишним. Не получится с Java (во многих городах тухловато с вакансиями) — вполне возможно, сможете пробиться в IT через "фронт". На JavaRush есть история успеха от человека, который после учебы здесь ушел именно во фронт-разработку.
2. Научитесь писать SQL-запросы.
Казалось бы, SQL — не менее очевидная вещь, чем не включенные в список Spring и Hibernate. На самом деле, разница есть: большое количество разработчиков умеют пользоваться SQL "по верхам": написать "SELECT * FROM table_name", или сджойнить пару таблиц. Поэтому стоит основательно набить на них руку, и не стесняться указывать это в резюме.
Если вы будете понимать, что здесь написано и сами сможете быстро писать подобные вещи, ваша ценность в глазах работодателя очень сильно вырастет. Несколько коллег (автора статьи) в прошлом работали в областях, где приходилось писать много SQL-запросов, и когда они решили сменить сферу на Java-разработку, эти скиллы помогли им выглядеть очень привлекательно в глазах работодателя. Да и в работе java-dev'a, конечно, это полезнейший навык.
Начать изучение можно с "Head First SQL", дальше — просто выбрать одну из популярных СУБД (Portgres или Oracle, например) и прочесть пару книг по ней.
3. Заведите профиль на GitHub
Ваш GitHub, пожалуй, самое главное, на что обратит внимание потенциальный работодатель после резюме. Профиль с несколькими работающимипроектами однозначно привлечет дополнительное внимание. Более того, все более популярными среди служб подбора персонала становятся "анализаторы гитхаба" — специальные программы, которые по хранящемуся в github коду находят для компаний разработчиков с нужным стэком технологий. Если им нужен человек, владеющий Spring Security, такая программа парсит гитхаб, и отбирает пользователей, у которых в репозиториях есть код с использованием этой технологии.
Понятно, что в начале похвастаться будет особо нечем, но вполне можно начать с заливки туда "больших задач" JavaRush. Если выполнили тестовое задание для стажировки — его тоже туда. Освоили ReactJS/AngularJS и создали пару одностраничных приложений — туда же.
Все, что создано вашими руками, работает, и может быть интересно работодателю, должно появляться в вашем Github-профиле.
4. Получите сертификат Oracle
Создатели JavaRush не дадут мне соврать: самый частый вопрос, который задают потенциальные ученики — "А дают какой-нибудь сертификат после учебы?". Сертификатов на JR не дают, и тому есть, в общем-то, простое объяснение: работодателям бумаги неинтересны. Проверить, что вы знаете и умеете, они вполне способны на собеседовании безо всяких сертификатов онлайн-курсов.
Отличие сертификата Oracle в том, что это — официальное подтверждение от создателей Java, что вы хорошо владеете этим языком. Его наличие у вас будет очень серьезным преимуществом для аутсорс-компаний, т.е. для тех, кто "сдает в аренду" своих разработчиков другим компаниям для работы на внешних проектах.
Например, какому-то банку нужно создать новый интернет-клиент. Содержать для этого собственную ораву разработчиков ему невыгодно: для разового проекта проще найти команду со стороны. В таких случаях и обращаются к аутсорсным компаниям. Они подберут для банка людей с нужными скиллами и сформируют команду. Однако, заказчику очень важно понимать, что он платит деньги (и очень немалые) за действительно толковых разработчиков. И вот здесьсертификат Oracle и станет вашим преимуществом. Ведь по сути, это единственная возможность подтвердить "бумажкой" квалификацию Java-программиста.
Иными словами, компании гораздо проще "продать" сертифицированного разработчика своим заказчикам.
Сертификаты Oracle бывают нескольких уровней. Получить первый уровень (OCAJP8) будет совсем несложно. На экзамене будут вопросы всего по 8 темам:
- Java Basics (переменные, пакеты, метод main() и т.п.);
- Working With Java Data Types (примитивы, ссылки, обертки);
- Using Operators and Decision Constructs (+-*/ , а также if-esle, switch и т.п.);
- Using Loop Constructs (Циклы);
- Working with Methods and Encapsulation (методы, инкапсуляция);
- Working with Inheritance (Наследование);
- Handling Exceptions (Исключения);
- Working with Selected classes from the Java API (Работа с несколькими популярными классами - LocalDateTime, ArrayList, String).
Никаких сложных тем типа многопоточности, IO/NIO и тому подобного. Многие темы усечены (например, из всех реализаций List<> вопросы будут только про ArrayList<>).
Подготовиться к экзамену можно по любой из специальных книг, их обзор есть на JavaRush.
В комплекте с ними также идут и несколько пробных тестов.
5. Участвуйте в профессиональных сообществах
Согласно результатам опроса, проведенного ранее "Моим кругом", около половины работодателей интересуются участием потенциальных сотрудников в профессиональных сообществах.
Каждый четвертый работодатель смог припомнить случай, когда активное участие в профессиональных сообществах помогло кому-то из кандидатов получить у них работу.
Главные из них (помимо GitHub, о котором говорилось ранее) — это "Хабрахабр" и StackOverflow. И если набить высокую карму на Stack'e неопытному разработчику почти нереально, да и в OpenSource-проектах участвовать рановато, ссылка на блог на "Хабре" с несколькими хорошими статьями будет смотреться очень выигрышно в резюме новичка.
Не будем скромничать: если ваш выбор — Java-разработка, смело можете выбрать для публикации своих постов раздел "Статьи" на JavaRush. На JavaRush — сотни тысяч активных пользователей, и многие выпускники и продвинутые студенты не упускают возможность поделиться практическим опытом или альтернативным объяснением той или иной Java-темы.
Поэтому, если вы пилите какой-то мини-проект — не стесняйтесь поделиться им с сообществом.
Мир постоянно меняется, и IT-сфера — не исключение. Обратить на себя внимание работодателя, не имея опыта, достаточно сложно, но можно, если