В статьях на JavaRush мы не устаем повторять, что знание языка Java, ввиду его глобальной популярности, дает огромные возможности для трудоустройства и успешной долгосрочной карьеры. И это действительно так — вакансий для Java-разработчиков много, а их количество только растет. Согласно статистике одного из лидирующих агентств в сфере ИТ-рекрутинга Сollabera, с начала 2017-го по конец 2018 года число вакансий, связанных с Java, выросло сразу на 80% — с 3,5 тыс. до 6,2 тыс. Разыскивается Java Junior: где легче найти работу и как понравиться работодателю? - 1Итак, Java, ввиду своей востребованности в мобильных приложениях, решениях для устройств Интернета вещей и еще во многих трендовых нишах, только набирает популярность. Спрос на Java-кодеров растет, а изучить данный язык программирования сложно, но возможно благодаря массе документации и удобных инструментов (включая JavaRush, конечно). Казалось бы, все прекрасно, а Java-девелоперам остается только радоваться жизни, благодарить судьбу за то, что выбрали именно этот ЯП, и с оптимизмом смотреть в будущее. Отчасти так и есть, но реальный мир все же вносит суровые корректировки, и молодым Java разработчикам частенько найти работу не очень-то просто. А бывает и так, что реальность бьет зеленых Java джуниоров, в розовых мечтах уже видящих себя высокооплачиваемыми pro, в живот сапогом высоких требований при приеме на работу. Например, нежеланием работодателей брать людей без опыта и обширных знаний кучи технологий и фреймворков. Поэтому сегодня поговорим о том, чего топовые работодатели ожидают от Java-джуниоров, где новичку будет легче всего найти работу, и без каких знаний и умений в трудоустройстве не преуспеть.

Портрет Java-джуна: чего компании ждут от начинающего кодера?

Итак, чего компании ждут от начинающего Java-разработчика? Зачастую ожидания могут, и будут, весьма различаться в зависимости от компании. И здесь многие люди с опытом рекомендуют просто задать вопрос о требованиях непосредственно рекрутеру или HR-менеджеру организации, которая разместила вакансию. Как правило, работодатели не делают секрета из того, что ожидают от Java-джуна, и по какой схеме будет проходить собеседование. Если же измерять “среднюю температуру по больнице,” на базовом уровне все так или иначе сводится к двум вещам: знанию основ программирования на Java, а также способности и готовности к обучению или углублению своих навыков. Многие эксперты и опытные программисты, как и наниматели, отмечают, что именно последнее наиболее важно. Нанимая начинающего Java-разработчика, работодатель как правило отдает себе отчет в том, что “джуниор” пока обладает лишь базовым знанием языка и его технологий, и ему только предстоит сформировать понимание процессов в команде разработчиков и компании в целом. Однако при этом почти всегда от начинающего кодера ждут, что он будет прикладывать максимальные усилия, чтобы овладеть всеми нужными навыками как можно скорее. Разыскивается Java Junior: где легче найти работу и как понравиться работодателю? - 2Именно здесь на первый план выходят пресловутые “софт скиллз,” такие как умение взаимодействовать внутри коллектива, рабочая этика, а также мотивация и дисциплина. Если же говорить именно о технических требованиях к Java-джуниору, то здесь в большинстве описаний вакансий будет представлен целый список, но некоторые пробелы в резюме, формальном образовании и имеющемся опыте очень часто можно компенсировать готовностью быстро учиться и не показным энтузиазмом.
  • Java Core

    Что касается вышеупомянутого списка требований, то самым первым в нем конечно будет идти Java Core — знание всех фундаментальных основ Java, что включает основные конструкции, операторы и типы данных Java, понимание принципов объектно-ориентированного языка программирования и того как они реализованы в Java, а также понимание многопоточности и ряда других вещей, которые и составляют “ядро” этого языка.

    IDE

    Подтвердив знание “основ,” будущему Java-джуну нужно будет продемонстрировать знание IDE (интегрированной среды разработки), понимание ее основных возможностей, знание различий между основными IDE, а также умение компилировать, запускать, отлаживать и тестировать файлы, рефакторить код.

  • Системы контроля версий

    Знание систем контроля версий и основных принципов их использования также требуется даже от малоопытного разработчика, ведь он все равно будет работать в команде.

  • Java API

    Знание основных API языка Java тоже будет критически важно на собеседовании и скорее всего поможет получить работу. Важнейшими API, знать которые необходимо в первую очередь, являются Java Collection Framework и Java Concurrency API.

Более подробно с деревом знаний Java-разработчика можно ознакомиться в данном материале от JavaRush: Java. План действий. Помимо технических знаний и навыков, важную роль при рассмотрении кандидата на позицию младшего Java-кодера играет и знание английского. Если коротко, английский надо знать, хотя бы на крепком среднем уровне Intermediate. Ну и помимо этого, не следует забывать о важности уверенной и эффектной презентации себя вместе с теми знаниями, умениями и навыками, которые, может и худо-бедно, но все-таки имеются. То есть о своем резюме. “Младшие девелоперы не должны играть по тем же правилам, что и опытные кодеры. Если вы насмотрелись минималистически-крутых одностраничных резюме опытных разработчиков, не следует повторять этот подход. Добавьте в резюме любой опыт, который у вас имеется. Может вам повезет, и наниматель, проглядывая ваше резюме, увидит в нем упоминание какой-то функции, которая используется и в продуктах этой компании,” — советует Джонни Ле (Johnny Le), старший разработчик компании Instructure. “Один из плюсов программирования в том, что вы можете создавать десятки собственных проектов в полном одиночестве. Так что сделайте несколько своих, пусть и простеньких, но полноценных программ — тайм-трекер, систему управления проектами, календарь и т.д. И добавьте их все в свое резюме. Работодателю важно прежде всего знать, можете ли вы разработать такого рода продукт, а не то, для кого он был разработан и пользуется ли им хоть кто-нибудь. Так что пытайтесь самостоятельно писать и любые сложные функции, о которых вы слышали. Это позволит вам чувствовать себя на собеседовании куда увереннее, даже не имея обширного опыта в команде разработчиком,” — добавил эксперт. Разыскивается Java Junior: где легче найти работу и как понравиться работодателю? - 3

Какие компании чаще всего берут на работу Java-джуниоров?

Если говорить о компаниях, которые наиболее активно открывают вакансии для Java Junior девелоперов, то чаще всего это, конечно, будут лидеры ИТ-секторов в своих странах. Компании с наибольшими оборотами и высокой потребностью в квалифицированных разработчиках могут позволить себе массово нанимать кодеров с небольшим опытом или совсем без него на относительно небольшую оплату, позволяя тем набираться опыта и знаний для последующего повышения по карьерной лестнице в той же компании. Так, в Украине топ-5 ИТ-компаний, нанимающих junior специалистов, выглядит так: SoftServe, EPAM, GlobalLogic, Luxoft и Infopulse. Об этом говорится в исследовании профильного ресурса DOU.UA, которое было опубликовано в апреле 2019 года. Согласно данным исследования, 45 топовых компаний украинского ИТ-сектора в 2018 году суммарно наняли 4360 сотрудников-новичков (имеются в виду ИТ-специалисты всех направлений с опытом работы до 1 года или вообще без оного). Наиболее активно с новичками сотрудничала компания SoftServe — в 2018 году она ​​взяла на работу на 400 джуниоров больше, чем в 2017 году (1148 против 719 сотрудников). Что касается России, то данных по количеству нанимаемых на работу девелоперов именно Junior уровня в этой стране при подготовке данного материала нам найти не удалось. Однако анализ вакансий для “джуниоров” на рекрутинговых сайтах позволяет выделить в качестве наиболее Junior-friendly работодателей следующие компании: G5 Entertainment, Luxoft, EPAM, Emergn, Mail.Ru Group и ALM Works. В Беларуси Junior Java разработчиков достаточно активно берут на работу такие компании, как Kyriba Corp, EIS Group, Seavus и Playtika.

В каких городах Java-джуну легче всего найти работу?

В каком городе малоопытному Java разработчику будет легче всего найти работу — это еще один актуальный вопрос как для тех, кто еще только изучает Java и думает о поиске работы в ближайшем будущем, так и у тех, кто уже активно просматривает вакансии и рассылает свои резюме. В целом же, вариантов для трудоустройства именно для Java Junior больше всего в крупных городах, где как правило и размещаются офисы всех основных ИТ-компаний. В Украине, по данным все того же относительно свежего исследования DOU.UA, зеленых и необстрелянных девелоперов чаще всего ищут в Киеве, Харькове и во Львове, причем эти три города продемонстрировали примерно равные показатели по количеству взятых на работу джуниоров в 2018 году. Также в пятерку городов с самым большим числом вакансий входят Одесса и Днепр. Что касается России, то в этой стране топ городов где Java разработчику, в том числе и малоопытному, будет найти работу легче всего, выглядит следующим образом: Москва, Санкт-Петербург, Новосибирск, Нижний Новгород и Екатеринбург. Это по данным исследования рекрутингового портала HeadHunter. Также в этот топ вошли Казань, Пермь, Уфа, Самара и Воронеж. В Беларуси абсолютное большинство вакансий для Java разработчиков, в том числе и Junior, приходятся на Минск. Также работу можно найти в Витебске, Могилеве и Гродно, но в этих городах вакансий, прямо скажем, не много. Разыскивается Java Junior: где легче найти работу и как понравиться работодателю? - 4

Мнения экспертов

Но вернемся к основной теме данного материала — ожиданиям работодателей при найме Java Junior разработчиков и тому, как этим ожиданиям соответствовать. Несколько цитат. “Очень распространено мнение, что требования к Java Junior разработчику со стороны работодателей крайне высоки. Это оказывает довольно сильное влияние на многих кандидатов во время технического собеседования. Думая, что планка требований выше, чем она есть на самом деле, они чувствуют себя неуверенно, преувеличивают свой опыт и приукрашивают навыки, из-за чего часто как раз и не получают работу,” — отметил Кен Мазаика (Ken Mazaika), CTO и со-основатель компании Firehose. “Честность и знание тех областей, в которых вам нужно совершенствоваться, только увеличивает ваши шансы на трудоустройство. Для компаний найм младших разработчиков — это скорее инвестиция с долгосрочным потенциалом, они не ожидают от нее никакой особенной отдачи. Поэтому от младших разработчиков они не ждут написания каких-то сложных функций и не станут требовать слишком многого в течение первых нескольких месяцев,” — добавил эксперт. “Одна из наиболее распространенных черт действительно классных Java-программистов, которых я брал на работу — это то, что они все были склонны работать над разными сторонними проектами помимо основной работы. Это могли быть проекты с открытым исходным кодом или личные проекты. Они даже не обязательно должны базироваться на Java, но их наличие серьезно повысит ваши шансы получить работу,” — сказал Кевин Хейен (Kevin Hayen), опытный Java разработчик и CTO компании Let’s Be Chefs. “Зачастую, нанимая Java программистов, мы отдаем предпочтение тем, кто многому научился самостоятельно. Часто именно такие люди увлечены программированием по-настоящему. Нам такие нужны — программисты, которые живут и дышат программным кодом. А многие технические знания и элементы легко приобретаются в процессе работы,” — отметил Крейг Далзил (Craig Dalziel), бизнес-менеджер компании Pearson Frank. Разыскивается Java Junior: где легче найти работу и как понравиться работодателю? - 5

Не так страшен черт, как его малюют

Подводя итоги, следует подчеркнуть главное: устроиться на работу в качестве Java Junior разработчика далеко не так сложно, как может показаться на первый взгляд, особенно после изучения вакансий с длинным списком требований. Достаточно знать базовые принципы Java, иметь желание обучаться и совершенствоваться, и располагать хотя бы мало-мальским практическим опытом. Получить который можно множеством разных способов, в том числе и с помощью курса от JavaRush — он включает в себя более 1200 задач, а их решение растянется на 300-500 часов чистой практики программирования. Это весьма впечатляющая цифра, которую можно будет без всякой скромности добавить в свое резюме, не говоря уже о том, что этот курс подготовят начинающего кодера к большинству задач, которые работодатели ставят перед Java-джуниорами, и вопросам, часто звучащим на собеседованиях.