Java разработчик как найти работу

Как Java удается возглавлять рейтинги языков программирования на протяжении 20 лет? Почему Java-разработчики особенно востребованы в банковской сфере? Разбираемся в устройстве популярной позиции разработчика в бэкенде

Об эксперте: Даниил Пилипенко, директор центра подбора ИТ-специалистов SymbioWay, программный директор факультета backend-разработки направления «Программирование» и автор профессии «Java-разработчик» в Skillbox.

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

Что нужно знать о языке программирования Java

Java — это язык программирования, который появился в 1995 году и был разработан для настройки бытовых электронных устройств. В том числе, кофемашин. Именно оттуда и пошло это экзотическое название, заимствованное у индонезийской марки кофе Java. А хорошо узнаваемый логотип языка украсила кружка горячего свежесваренного напитка.

Фото:java.com


Фото: java.com

Java — мультифункциональный объектно-ориентированный язык программирования. Сейчас расшифруем. Мультифункциональность — возможность создавать на Java самые разные приложения, а объектно-ориентированность означает, что в нем можно создавать объекты и работать с ними. Например, если речь о разработке программы для той же кофемашины, можно создать объект «напиток» и задать ему набор свойств: название, рецепт приготовления, стоимость. И далее уже работать не с отдельными разрозненными свойствами, а с объектом целиком: сохранять его, передавать внутри программы и так далее. Также этот язык относится к кроссплатформенным: код, написанный на Java, будет с одинаковым успехом работать на разных операционных системах, например, Windows, MacOS, Linux и Android.

Наиболее популярная сегодня среда разработки на Java — это IntelliJ IDEA — бесплатное приложение для установки на компьютер, в котором программисты пишут код и создают Java-приложения.

С момента запуска Java в ИТ-индустрии менялось многое: появлялись более «дружелюбные» по синтаксису или специализированные под конкретные задачи языки, вместе с новыми продуктами росли сферы применения программирования. Но одно оставалось неизменным: уже более 20 лет Java сохраняет лидерские позиции в топ-3 самых разных рейтингов. Например, в ежемесячном рейтинге TIOBE, оценивающем популярность языков по количеству поисковых запросов. Почему так получилось?

Даниил Пилипенко, программный директор факультета backend-разработки направления «Программирование» Skillbox и директор центра подбора ИТ-специалистов SymbioWay:

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

Фото:tiobe.com


Фото: tiobe.com

Чем занимается Java-разработчик

Применение Java обширно. Во-первых, Java-разработчики могут заниматься созданием desktop-приложений. Для примера: на Java написаны игра Minecraft (Java Edition), бесплатный аналог Microsoft Office — приложение OpenOffice (не полностью на Java, но в значительной мере) и большое количество продуктов «европейского аналога» 1С — компании SAP.

На Java можно создавать консольные приложения, которые запускаются и работают в командной строке, а также различные сервисы и утилиты. Долгие годы Java оставалась единственным языком программирования для создания мобильных приложений на базе Android. В 2017 году появился язык программирования Kotlin, который через какое-то время стал основным языком Android-разработки. Kotlin — это своего рода продолжение Java. Поэтому, владея навыками в прародителе, освоить его достаточно просто. Сегодня порядка 30% Android-приложений все еще разрабатываются на Java.

Еще одна быстрорастущая сфера применения языка Java — все, что связано с обработкой больших данных и сферой Data Science. Этот сегмент она разделяет с языком программирования Python. На Java реализуют решения инфраструктурного уровня. Например, на ней написана одна из самых распространенных систем хранения и обработки больших данных Hadoop.

Основное же назначение Java — это разработка серверной части веб-приложений — приложений, к которым мы получаем доступ через интернет. На Java написаны такие сервисы как «Яндекс.Музыка», «Яндекс.Маркет», «МойСклад», «Альфа.Клик», «Сбербанк.Онлайн» или социальная сеть «Одноклассники». На Java разрабатывают именно серверную часть веб-приложений — так называемый бэкенд.

По данным ресурса «Хабр.Карьера», большая часть российских вакансий на бэкенд приходится именно на Java, которая занимает в структуре спроса на бэкенд-разработчиков более 30%.

Фото:Unsplash

Сколько зарабатывает Java-разработчик

В ИТ-индустрии принята градация специалистов, которая зависит от уровня самостоятельности и коррелирует с длительностью опыта работы: junior (до года), middle (1–3 года) и senior (больше 3-х лет). Зарплатные вилки московских разработчиков в среднем представлены следующим образом:

  • junior — ₽60–140 тыс.;
  • middle — ₽130–250 тыс.;
  • senior — ₽220–350 тыс.

Зарплаты Java-разработчиков в регионах ниже в среднем на 10–20%.

Как стать Java-разработчиком

Этот путь начинается с учебы. Рынок предлагает множество вариантов обучения Java: от классических, вроде колледжей и университетов, до программ дополнительного профессионального образования, буткемпов и краткосрочных марафонов. Конечно, у человека всегда остается опция самостоятельного обучения, но это далеко не самый оптимальный сценарий. Даже имея перед глазами четкий список навыков, которые нужно освоить, можно легко заплутать в многочисленных ресурсах и информации из открытых источников. В то же время, сформированный образовательный продукт своей целью видит создание самого короткого пути пользователя к его карьерной цели. Считается, что навыки уровня junior можно в среднем приобрести за 6–12 месяцев обучения.

Наталья Строганова, продюсер профессии «Java-разработчик» в Skillbox:

«Например, наш курс по java-разработке разбит на две части. Первая — это индивидуальная работа. Примерно за шесть месяцев пользователь обучается самостоятельно по предзаписанным видеоурокам постепенно возрастающей сложности. Он выполняет задания и получает комментарии проверяющих кураторов, каждый из которых является практикующим Java-разработчиком. Следующий этап — это командный проект длительностью три месяца. Под руководством тимлида пользователи в команде из 5–7 человек разрабатывают бэкенд полноценной социальной сети. В этот период они на практике отрабатывают навыки работы с Git, методологией Scrum и в таск-трекере GitLab».

Hard skills

  • Знание синтаксиса языка (типы данных, операторы).
  • Умение работать с коллекциями в Java — специальными хранилищами, поддерживающими различные способы накопления и упорядочения объектов для получения быстрого к ним доступа.
  • Умение работать с файлами — читать их и записывать.
  • Знание принципов объектно-ориентированного программирования (ООП) — в частности, таких, как наследование, полиморфизм и инкапсуляция.
  • Умение создавать многопоточные приложения, в которых различные задачи могут выполняться одновременно.
  • Знание фреймворка Spring — это специальное программное обеспечение для создания оптимизированных и структурированных веб-приложений, а также библиотека со множеством полезных функций и инструментов.
  • Умение работать с командной строкой bash — инструментом для программ в текстовом формате.
  • Знание языка SQL и умение работать с реляционными базами данных, которые используются практически в любом веб-приложении для хранения данных в виде связанных друг с другом таблиц.
  • Умение работать с системой контроля версий Git — инструментом, позволяющим сохранять промежуточные версии программного кода и отслеживать его изменения при коллективной разработке.
  • Знание принципов клиент-серверного взаимодействия — протокола HTTP и стандарта REST, по которым работают большинство современных веб-приложений.
  • Владение инструментами автоматизированного тестирования — JUnit и Mokito, позволяющим автоматически проверять код каждый раз, когда в него были внесены какие-то изменения.
  • Понимание принципов «чистого кода» и умение его писать, что необходимо для разработки легко поддерживаемых приложений, особенно, в командах.

Java — это про командную разработку. Поэтому в стандартном пакете soft-skills особое внимание работодатели уделяют умению работать в команде. А также желанию развиваться, учиться новому и уровню английского языка.

Фото:Unsplash

Этапы трудоустройства Java-разработчика включают в себя подготовку резюме, поиск вакансий, отправку откликов, телефонное интервью, собеседование, тестовое задание, оффер. Глобально здесь все устроено так же, как и в других отраслях. Поэтому подробнее остановимся на особенностях.

Где искать работу Java-разработчику

Помимо работных сайтов вроде hh.ru и Superjob, ИТ-специалисты могут обращаться к отраслевому ресурсу «Хабр.Карьера». Также вакансии можно искать на специальных карьерных страницах сайтов компаний, например, в «Яндексе», «Одноклассниках», «Сбере» и других. Их удобный интерфейс позволяет указать язык программирования и свой уровень, подобрать подходящие варианты. Сегодня для поиска работы активно используются и новые медиа, например, отраслевые Telegram-каналы learn.java и Java jobs. С трудоустройством могут помочь и образовательные платформы. Например, в Skillbox существует Центр карьеры. Это своего рода «мост» между работодателем и студентами. Специалисты центра находятся в постоянном контакте с партнерскими компаниями, собирают вакансии, подбирают студентов с релевантным опытом и организовывают собеседования.

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

Фото:Shutterstock

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

На собеседовании работодатель будет оценивать знание основ Java устно или через тест. Например, стандартные вопросы могут выглядеть так: «В чем заключаются особенности языка программирования Java?», «Можете ли вы перечислить важные методы из класса Object?», «Назовите известные вам модули фреймворка Spring». Также кандидата могут попросить написать код для решения той или иной задачи. Если соискатель прошел обучение недавно, эти этапы не должны составить труда.

Время на прочтение
5 мин

Количество просмотров 36K

Привет, Хабр! Меня зовут Даниил Пилипенко, я — программный директор факультета backend-разработки направления «Программирование» в Skillbox и директор центра подбора IT-специалистов SymbioWay.

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

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

Мы подготовили для вас несколько карьерных треков, которые сразу разложат все по полочкам: 

  • на какой доход можно рассчитывать; 

  • какие знания нужно получить, чтобы зарабатывать больше;

  • по каким критериям выбирать обучение. 

Для начала давайте разберемся, какими знаниями и навыками должен обладать начинающий Java-разработчик.

Что должен знать и уметь начинающий Java-разработчик?

Чтобы устроиться на работу на должность младшего Java-программиста, нужно:

Знать

Уметь

синтаксис языка, все основные операторы и конструкции;

основы объектно-ориентированного программирования: что такое классы, методы, статический контекст, константы, наследование, полиморфизм, инкапсуляция, перегрузка и переопределение;

принципы клиент-серверного взаимодействия, в том числе, HTTP и REST;

язык запросов SQL как минимум на уровне JOIN-ов;

принципы многопоточности.

писать “чистый” работающий и достаточно оптимальный с точки зрения производительности код; 

работать с разными типами данных и коллекциями; 

работать с исключениями;

писать и понимать лямбда-выражения и работать с функциональными интерфейсами;

работать со Stream API;

настраивать логирование;

работать с сетью и с файлами.

Еще вам понадобится опыт:

  • работы со сборщиком (например, Maven или Gradle) и с подключением внешних библиотек;

  • отладки и профилирования приложений; 

  • работы с системой контроля версий Git;

  • разработки хотя бы несложных веб-приложений на Spring Boot;

  • работы с командной строкой Linux (bash); 

  • командной разработки. 

Это обязательная база, без которой не получится работать. Конечно, эти списки могут корректироваться и уточняться в зависимости от требований и задач конкретного работодателя. 

И, если вы не владеете другими языками программирования и у вас нет никакого опыта в разработке, осваивать профессию придется полностью с нуля.

А если все навыки есть и опыт командной разработки тоже, можно смело устраиваться на работу и развиваться дальше. Когда в знаниях есть пробелы, нет уверенности в своих силах или практики разработки более-менее крупных проектов, тогда вам в стажеры. Рассмотрим карьерные треки с вилкой зарплат.

Стажер, 40 000 – 50 000 рублей в месяц

С позиции стажера часто начинается карьера любого программиста, в том числе Java-разработчика. Найти вакансии стажера можно на популярных агрегаторах — таких, как HeadHunter, Яндекс.Работа или SuperJob Student. Последняя площадка полностью посвящена стажировкам.

Вам в стажеры, если:

  • вы знаете только основы Java;

  • у вас есть практика решения задач, но только самостоятельная, и нет опыта командной разработки;

  • вы еще учитесь, но хотите начать подрабатывать и обучаться на практике.

Junior-разработчик, 50 000 – 90 000 рублей в месяц

Если у вас есть все перечисленные базовые знания и вы разрабатывали проекты в команде, можно претендовать на должность младшего Java-разработчика. А если вы еще учитесь, но получаете дополнительное образование, у вас есть опыт в других языках — вполне возможно, вы сможете устроиться на работу в середине обучения. В таком случае и зарплата может быть сразу 60 000 – 70 000 рублей. Все зависит от вашего стремления учиться, а также качества и скорости решения задач, которое вы приобретете в процессе такого обучения.

Можно учиться и работать параллельно. Курсы по Java в среднем длятся 6-9 месяцев. В Skillbox модуль на неделю — это где-то 1,5-2 часа видео и 5-6 часов домашних заданий. Вы сможете посвящать обучению один неполный выходной или по часу в день в течение недели и совмещать с основной работой или учебой. 

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

Middle-разработчик, 90 000 – 250 000 рублей в месяц

У вас есть все знания и навыки junior-разработчика, вы работаете по профессии, но хотите развиваться, идти дальше и зарабатывать больше. Для этого нужно интенсивно учиться, в том числе:

  • Освоить фреймворк Spring. Если сделать это перед трудоустройством, то вы сможете сразу претендовать на зарплату от 90 000 рублей.

  • Освоить работу с базами данных, алгоритмами и Enterprise-технологиями в  Java. Это поможет вам быстрее вырасти до уровня middle/middle+ и зарплаты до 250 000 рублей в месяц при условии постоянной реальной практики на работе.

Например, вы можете учиться на нашем курсе «Java-разработчик PRO», обучение занимает 2 года и охватывает базовый, полный и дополнительный курс с изучением указанных выше технологий. 

На что обратить внимание при выборе курсов в Java-программировании? 

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

  • Нагрузка. Курс может быть слишком плотным или чересчур растянутым. Оптимально, когда есть рекомендуемые темпы обучения.

  • Командная разработка. Чем больше практики, реальных проектов, тем лучше, а здесь никуда без работы в коллективе. Уровень сложности — максимальный. Это отличный опыт и ваш главный козырь при трудоустройстве. Неизвестно, когда на работе вам попадется такой проект, так что используйте возможности во время обучения по-максимуму.

  • Обязательная стажировка. Если после обучения вам нужно обязательно стажироваться — вы учитесь на уровень Junior. Это неплохо, если после короткого обучения (6 месяцев максимум) вы уже можете идти работать. Но лучше, если программа предусматривает помощь в трудоустройстве. Это значит, что образовательное учреждение или платформа не сомневается в уровне подготовленных кадров и предоставляет выбор: если вы хотите учиться недолго — можно идти на стажировку. А если пройти полное обучение, то можно сразу устраиваться на работу.

  • Срок обучения. У всех разные потребности. Кто-то приходит с опытом командных разработок в других языках, кто-то совсем без всего. Понятно, что таким людям нужно учиться разное время, знания различного уровня, а значит — выбирать программу нужно под себя, под свою ситуацию и личные потребности. 

  • Дополнительные курсы. Иногда программы обучения включают множество дополнительных курсов не по основной профессии. Такие программы, как правило, стоят дороже и занимают больше времени. Обращайте внимание на то, чтобы все курсы в рамках выбранной вами программы были так или иначе посвящены Java-разработке.

  • Программа курса. Тут все просто: чем больше практики, тем лучше, но теория тоже нужна. Практика в среде разработки, а не на виртуальном тренажере — дополнительный плюс. Обращайте внимание, чтобы авторы курса не тратили ваше время на устаревшие технологии, например, сервлеты и JSP, JSTL. Некоторые обучающие платформы до сих пор этому учат и берут за это деньги.

  • Диплом. Круто, если по результатам обучения вы выполните не только индивидуальный, но и командный диплом. Это дополнительный бонус при трудоустройстве.

Подведем итоги

Если у вас есть опыт в разработке на других языках, проходите базовое обучение по Java и смело вливайтесь в профессию. Если таких знаний нет, нужно погружаться с нуля. А если вы хотите выйти на новый уровень и зарабатывать больше, ищите продвинутые курсы уровня PRO и обязательно проходите обучение технологиям Enterprise-разработки и фреймворку Spring.

Какие навыки потребуются для успешного прохождения собеседования на Java-разработчика? Сколько разрабы получают на старте и за какое время можно вырасти до middle? Вместе с IT-архитектором Альфа-Банка Максимом Чернухиным разобрались, как новичкам прокачать образование и карьеру, чтобы получить работу. А также посмотрели на особенности трудоустройства junior-джавистов в Альфа-Банк.

Почему компаниям нужны джуны

Еще во время пандемии спрос на IT-специалистов сильно вырос — многие компании стали стремительно осваивать онлайн. Параллельно на этот тренд наложился демографический спад среди поколения миллениалов и зумеров, на которых приходился основной массив разработчиков. В итоге с середины 2020 года и по сей день на рынке ощущается нехватка «свободных» middle-специалистов. А потому компаниям пришлось задуматься о взращивании собственных айтишников.

Если говорить о плюсах такого подхода, то инвестиции в начинающих специалистов помогают повысить лояльность команды. Сотрудники, которых обучила компания, показывают высокий уровень вовлеченности и дольше остаются в коллективе. А удержание кадров является одной из ключевых задач в высококонкурентном сегменте IT.

Другое преимущество — возможность вырастить узконаправленного специалиста под задачи компании. Если вам на постоянную основу нужен разработчик с редким стеком, чаще бывает выгоднее обучить его внутри коллектива, чем искать на рынке.

Найти сотрудников на перегретом рынке тяжело: опытные специалисты часто или запрашивают слишком много, или не хотят менять комфортное место работы. Здесь на помощь приходят и джуны. Они могут взять рутинные задачи сеньора, разгрузить более производительного сотрудника. К тому же, джуны зачастую привносят в устоявшиеся коллективы новый критический взгляд. В попытках приручить хаос они задают много вопросов и могут помочь найти организационные пробелы. Важный момент заключается в готовности компаний нанимать начинающих разрабов: потребуются выстроенные процессы онбординга и менторинга. В противном случае каждый новый сотрудник только добавит проблем.

Александр Сырычко, Тимлид направления «Программирование» в Skillbox

База начинающего Java-разработчика

Самое главное для junior-разработчика — наличие базы технических навыков в Java. Вот список стартовых hard skills:

  • Знание основ языка и ООП (объектно-ориентированное программирование);
  • Базовые знания одного из популярных фреймворков Java, например, Spring;
  • Понимание принципов работы микросервисов и умение упаковывать их в контейнеры;
  • Умение работать с базами данных: знание PostgreSQL будет плюсом.

Если говорить о soft skills, то логическое мышление и непрерывное образование — действительно необходимые для развития требования. Новичку важно набрать как можно больше теоретических и практических основ: с этим могут помочь популярные онлайн-курсы и стажировки.

Как получить первый оффер в IT: четыре сценария

Начинающие разработчики могут получить оффер с помощью одного из этих способов:

  • Стажировки
    Это оплачиваемая возможность получить опыт, который помогает в будущем попасть в штат. Для попадания на стажировку необходимо пройти скрининг, то есть соответствие кандидата уровню джуна, и техническое интервью. В среднем стажировки длятся до полугода. Даже если новичок в итоге не получит оффер, он сможет понять, какие навыки нужно прокачивать.
  • Обучающие проекты
    Это образовательные программы от компаний для тех, кто только закончил вуз, начинает прокачиваться в IT или хочет сменить индустрию. В Альфа-Банке это проект Alfa Campus — трехмесячные курсы по тестированию, системной аналитике и микросервисной архитектуре. На всех программах студенты работают с Java. Первый поток мы запустили в апреле. Набор на продвинутый курс по микросервисной архитектуре стартует в июле. Лучшие студенты кампуса будут приглашены в штат.
  • Образовательные платформы
    Стереотип о том, что выпускники образовательных платформ и программ дополнительного профессионального образования обладают недостаточными для полноценной работы навыками, уходит в прошлое. Напротив, для многих крупных компаний упоминание курсов в резюме соискателя становится показателем высокой мотивированности и искреннего интереса к профессии. Кроме того, компаниям удобно взаимодействовать с кузницами кадров внутри EdTech. Например, в Skillbox существует Центр карьеры. Профессиональные HR-консультанты начинают общаться с пользователями на шестом-седьмом месяце обучения, помогают подготовить резюме и портфолио, организовывают собеседования.
  • Собеседования
    Проверить свои навыки можно через прохождение собеседований на открытые позиции. Многие крупные компании выкладывают вакансии на специальных лендингах. Вот наш: job. alfabank. ru. Как правило, для начинающих специалистов отбор состоит из тестового задания, технического интервью и общения с командой. Не бойтесь пробоваться на позиции в крупных компаниях, ведь даже отказ — шанс получить обратную связь и прокачать навыки. Главное — составить подробное описание резюме. Расскажите, чем вы уже занимались, что умеете. Пусть даже навыков немного, но честность и детали уже выделят резюме среди других для HR. Покажите, что вы готовы учиться и умеете это делать: например, можно рассказать, как изучили какой-то блок языка самостоятельно. Покажите, что можете отдавать много времени Java: тогда ваши шансы на трудоустройство сильно вырастут.

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

Анна Хохол, Карьерный консультант Центра карьеры Skillbox в направлении «Программирование»

Что нужно, чтобы повысить шансы на попадание в штат? Теоретическая и практическая база. Показать ее можно, например, с помощью личного IT-проекта из портфолио — реализованные программы, код. Желательно, чтобы он был создан в команде — так соискатель подтвердит, что у него все в порядке с soft skills. Сегодня, если у кандидата отличные hard skills, но он не умеет работать в команде, высока вероятность, что его не возьмут.

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

Карьерный трек джуна

Как и в случае со стажировками, после найма к junior-разработчику приставят ментора. Обычно это опытный специалист, который поможет с погружением в проект и отследит эффективность работы и обучения. Наставник даст советы для прокачки и hard, и soft навыков. Но здесь важно отметить, что на старте карьеры разработчика основной фокус будет идти именно на технические навыки и исполнительность.

Junior-специалисты занимаются теми же проектами, что и другие, но задачи для них прописаны детальнее или декомпозированы. У нас в Альфа-Банке они, как правило, связаны с микросервисами — небольшими блоками, из которых состоят приложения. Со временем уровень сложности по проекту растет. Появляются задачи, по которым нужно провести ресерч и попробовать несколько способов решения.

Раз в квартал разработчики проходят сессии с руководителем, на которых он оценивает результаты проделанной работы. В Альфа-Банке мы выработали целую систему, которая позволяет определить зоны роста. На сессии обсуждаем со специалистом, на какие навыки ему нужно обратить внимание, и смотрим динамику его прогресса.

Рост до следующей ступени, middle-разработчика, в среднем занимает год. Это медианное значение — скорость повышения зависит от мотивации и опыта начинающего специалиста. При этом получить повышение по зарплате можно и без перехода. Например, если junior-разработчик решил важные для компании задачи, его могут наградить премией или увеличением ставки.

В Москве зарплатные ожидания у разработчиков в среднем такие: джуниор специалист может рассчитывать на сумму от 60 до 140 тысяч рублей в зависимости от компании. Специалист уровня middle может получать до 250 тысяч рублей, а у senior-разработчиков зарплата доходит и до 350 тысяч. В регионах эти суммы стоит умножить на коэффициент 0.8

Даниил Пилипенко, Автор профессии «Java-разработчик» в Skillbox

Чем дальше растет специалист, тем больше увеличивается время, необходимое для перехода на следующий уровень. На то, чтобы получить навыки senior-разработчика, точно уйдет больше года. С повышением грейда на передний план выходят soft skills: умение управлять командой, мотивировать и вдохновлять, ставить задачи, прорабатывать архитектуру и мониторить процесс. Эти навыки нарабатываются опытом и практикой.

***

Самое важное для старта в IT — это личное желание человека. Тогда не будет страшно пробовать, совершать ошибки и совершенствоваться. Горящие глаза обязательно оценят HR-специалисты и будущая команда. Рынку нужны разработчики. Поэтому с каждым днем появляется все больше инструментов и каналов для быстрого старта и профессионального роста ньюкамеров.

На сегодняшний день насчитывается около 700 языков программирования. Язык Java — один из самых востребованных. В статье разберем особенности подбора java-разработчиков: на что обратить внимание и где искать.

Язык Java 

Java относится к объектно-ориентированным языкам программирования. 

По данным State of the Octoverse, в 2020 году Java занял третье место по популярности среди других языков. Почему же его выбирают программисты? 

Гибкость

  • Готовую программу можно запустить на любом устройстве, если на нем есть виртуальная машина Java.

Универсальность

  • Java — язык общего назначения. На нем пишут финансовые программы, компьютерные игры, мобильные и клиентские приложения.

Легкость в изучении

  • Язык Java считается легким в освоении для начинающих в сравнении с другими языками.

Что важно при подборе

Подбор java-разработчика опирается на общие принципы ИТ-рекрутмента.
Однако популярность языка растет, а вместе с ней и запросы кандидатов. Рекрутеру важно понять, что именно разработчик выбирает компанию, и возможно, ваше предложение будет для него пятое за день. Поэтому вакансия должна быть привлекательной.

Суть проекта, стек технологий

Этот пункт стоит наравне с уровнем зарплаты. Хороший программист постоянно учится, наращивает свои hard skills. Он хочет применять свои знания в проекте с интересными задачами.
Как заинтересовать. Презентуйте компанию с позиции технологий и области применения. Рассказывайте о задачах честно — это покажет общность интересов и сэкономит время на дальнейших этапах.

Уровень дохода

Здесь правила игра определяет разработчик. Они регулярно мониторят рынок труда с целью увеличить свой доход.
Как заинтересовать. Соотнесите уровень вилки зарплаты с предложениями конкурентов. Если она сильно отличается, сообщите цифры руководителю. Найти классного программиста не просто, поэтому проявите гибкость и не упустите ценный ресурс.
Важный момент. Многие разработчики мониторят рынок и не собираются менять компанию. Получают оффер с более высоким доходом и идут к руководителю за повышением зарплаты. Цель рекрутера — выявить реальную мотивацию поиска работы.

Плюшки компании и условия работы

Каждый второй программист мечтает об офисе Yandex или Google. Ну или о чем-то похожем. Бывает так, что просят показать фото офиса. Этот пункт действительно важный. 

Как заинтересовать. Современный офис, зона отдыха, комфортная столовая  — тот минимум, который должен быть. Да, кофемашиной и печеньками уже мало кого удивишь. Поэтому подумайте, чем ваша компания уникальна. Что вы можете предложить сотруднику, помимо достойного дохода? Возможно, онлайн-интенсивы, тимбилдинги, или скидки на спорт. 

Возможности роста

Для программиста это гарантия того, что он не заскучает на однотипных задачах и сможет дорасти до тимида.
Как заинтересовать. Расскажите о перспективах и как можно развиваться в компании.

Команда

От нее зависит не только нагрузка, но и общий дух в коллективе. Айтишники любят находится в своем кругу, обсуждать код, разбирать баги.
Как заинтересовать. Расскажите сколько человек в проекте, какие роли у каждого.

На что обратить внимание в резюме

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

  1. Коммерческий опыт разработки на Java. Если вакансия Junior, можно рассмотреть студенческие проекты.
  2. Знание фреймворков. Основные: Spring Framework, PrimeFaces, PrimeFaces, Blade.
  3. Знание баз данных. Например, MS SQL и Oracle.
  4. Английский язык на уровне elementary и выше для чтения технической литературы.
  5. Курсы, дополнительное обучение по Java. Нужны не для галочки, а для развития и применения hard skills.

Где искать

Если HH.ru просмотрен вдоль и поперек, предлагаем расмотреть более интересные варианты для поиска.

LinkedIn

Социальная сеть для установления профессиональных контактов, а значит и поиска сотрудников! Здесь сосредоточена аудитория, которая не сидит на работных сайтах.
Еще один плюс — пользователи открыты к общению и ждут писем с предложениями о работе. Это одна из задач LinkedIn.

Как искать

Поиск кандидата в шапке профиля

Введите заголовок в шапке профиля «looking for Java Developer». Пользователи, которые будут искать здесь вакансии, введут эту фразу в поисковую строку и найдут вас. Для связи есть кнопка “Установить контакт”, либо можно написать напрямую.

Поиск по ключевым словам

Чтобы сузить поиск и не пересматривать тысячи профилей, вводите ключевые слова с указанием специальностей. Например, «looking for a job as Java Developer».

Оператор «OR»  позволяет вводить две специализации. 

Например, «ищу работу Java Developer» OR «активно ищу работу по PHP».

Основной минус LinkedIn — поиск  нужно настраивать вручную. Но если нужен хороший Java-разработчик — время точно стоит потратить.

Boolean search 

Boolean search (булевой поиск) — это поиск веб-страниц с использованием специальных слов-операторов (AND, OR, «» и т. д.).

Зачем это нужно рекрутеру

Они находят веб-страницу по введенным данным. Для рекрутера это сокращение времени и более целенаправленный поиск. Инструмент, который позволяет как расширять, так и сужать поисковой запрос.

Как использовать

 Для того, чтобы этот метод работал необходимо грамотно составить запрос. 

  1. Подберите ключевую фразу “разработчик java” “москва”
  2. Добавьте нужных операторов (“ “, — , OR и т. д.).
  3. Пропишите все в поисковой строке
  4. Нажмите Enter.

Вы увидите веб-страницы с релевантным запросом. 

Основные операторы

Оператор Для чего нужен Пример
“ “ поиск точной фразы “Middle Java Developer”
исключает слово из запроса “Java Developer-вакансия-jobs”
OR поиск по нескольким словам сразу “Java разработчик OR Программист”
site: поиск на конкретном сайте site: github.com

Форумы, жж-сообщества по программированию

Их достаточно много. Например,такие: CyberForum, SGL.ru, КлубПРОграммистов.

Форум для программистов как закрытый клуб, в котором они общаются на своем языке и задают вопросы. Поэтому найти здесь кандидата не просто.

Как искать

Для начала зарегистрируйтесь и изучите форум. На них есть темы, часть из которых разделяется по уровню программистов. Можно перейти в личную переписку, или поискать профиль кандидата на GitHub. Иногда участники сами делятся ссылками на хостинг своих проектов.

Stackoverflow

Веб-сайт с системой вопрос-ответ по программированию. Похож на форум, но охватывает другие языки и более популярен у разработчиков.

Как искать

Через X-Ray запросы или через никнеймы как на форумах.

Facebook

Здесь есть группы с вакансиями и специализированные группы для джавистов:

Java Tutorials and IT jobs, JAVA JOBS, Javascript Developers.

Как искать

Сообщества закрытые, поэтому для начала нужно подать заявку. Facebook — деловая социальная сеть. Оформите свою страницу, пропишите должность и название компании. Так потенциальные сотрудники сразу увидят кто к ним обращается.

Еще один способ — прямой поиск. В поисковой строке можно искать сотрудника по конкретной компании и опыту работу. Обращайте внимание на год и текущее место работы.

Чтобы найти классного Java-разработчика, используйте разные способы. Изучайте сферу и презентуйте вакансию со стороны преимуществ для кандидата.

Я занимаюсь подбором ИТ-специалистов более 7 лет, за это время я получила обширную экспертизу в этой области. Думаю, данный материал будет интересен как рекрутерам с опытом работы с данными специалистами, так и тем, кто только знакомится с миром ИТ, поэтому информацию постараюсь дать максимально просто.

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

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

Хороший программист (если мы нанимаем специалиста с опытом) имеет знания и практический опыт в технологиях  Java, пишет качественный код, допускает не критичное количество ошибок, постоянно в курсе новых технологий и методов разработки, потому что он непрерывно занимается самообразованием.

Основная проблема оценки любого программиста в том, что  профессиональные навыки кандидата не могут быть проверены рекрутером, это оценивается техническим специалистом.

Особенности:

  1. Айтишники в основном более интровертны и обычно любят говорить по делу. Предпочитают общаться по электронной почте и не любят, когда им звонят. Отчасти потому, что квалицированному специалисту постоянно названивают рекрутеры и отвлекают от работы, отчасти потому что они лучше воспринимают информацию и гораздо эффективнее общаются по переписке.
  2. Программист обычно сосредоточен на конкретной задаче, над которой он работает не отвлекаясь.
  3. Уровень интеллекта у айтишников  в среднем достаточно высок, так как они получили хорошее математическое образование.
  4. Айтишники любят более неформальное общение и неформальный подход к работе.
  5. Они в основном совы и предпочитают работать с 11:00. Также многие достаточно свободолюбивы, не любят дресс-код итд. В таких условиях они обычно достигают лучших результатов.

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

На рынке ИТ, в том числе и Java-разработчиков, даже в кризис правила игры определяет соискатель. Предложений достаточно для того, чтобы средний кандидат мог найти работу за 1-2 недели, выбирая между несколькими предложениями о работе. В среднем, на одну вакансию в сфере ИТ претендует 3 кандидата (из исследования hh.ru).  Тем не менее, Java не является редкой технологией, эта платформа достаточно популярна у программистов, поэтому найти нужное количество кандидатов для собеседования возможно, но потока по этой вакансии у вас не будет.

При снятиии потребности у заказчика (работодателя) необходимо сразу получить полное описание вакансии, так как составить её самостоятельно без технических знаний в данной сфере рекрутер не сможет.

Обычно требования к джависту состоят из следующих блоков:

–       Требование к образованию – чаще всего необходим кандидат с высшим техническим образованием.

–       Знание и опыт коммерческой разработки на языке Java (не менее определённого количества лет), то есть студенческие и личные проекты работодателя не интересует.

–       Часто указывается знание паттернов проектирования, но не всегда. Обычно успешный разработчик их знает и умеет применять.

–       Знание определённого набора фреймворков (Hibernate, Spring итп.)  и библиотек (например, JQuery). В каждой компании они требуются свои. Важно в этом пункте сразу уточнить у работодателя, что является обязательным, а что будет плюсом.

–       Знание баз данных, например – MS SQL, Oracle и так далее.

–       Владение английским языком требуется часто, но не всегда. Обычно, хороший программист постоянно читает много книг по нужным технологиям, в том числе на английском, поэтому так или иначе владеет языком на уровне чтения технической литературы.

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

Обязательно уточните у работодателя следующее:

  1. Какой график предусмотрен для кандидата, есть ли переработки, имеется ли возможность график сдвигать?
  2. Присутствует ли дресс-код и насколько строгий?
  3. Где будет располагаться рабочее место кандидата, будет ли это опен спейс или в компании кабинетная система, будет ли он находиться среди коллег-айтишников или среди коллег из других подразделений?
  4. В вопросе компенсации важно иметь четкое представление, что есть оклад, что есть премия и бонусы, белая ли зарплата.
  5. Обязательно узнать обо всех аспектах соц. пакета, он обычно у айтишников очень широкий: кроме ДМС это может быть компенсация фитнеса, бесплатная столовая, 100% оплата больничного, и даже игровые приставки в офисе.
  6. На каком проекте или каких проектах будет работать данный сотрудник, сколько человек в команде, и вообще, лучше честно и прямо спросить: «Чем эта вакансия может заинтересовать кандидата, что мы можем рассказать кандидату, чтобы он загорелся». Это очень хороший вопрос, и адекватный нанимающий менеджер охотно расскажет про все преимущества.
  7. Подразумевается ли профессиональный и карьерный рост на данной позиции?
  8. Какие знания и навыки из описания вакансии обязательные (без которых резюме не будут смотреть) и какие желательные. Например, «знание Java – от 2 лет опыта работы и знание Spring.MVC – обязательно”. Уточните у заказчика, может ли кандидат не указать каких-то из этих ключевых слов в резюме.

2. Как представлять вакансию соискателям (нюансы и правила создания презентации вакансии).

Здесь нужно исходить их трёх основных мотиваторов айтишника:

  1. Интересные проекты.
  2. Технологии, с которыми он будет работать (например, ему уже надоела та платформа, на которой у него большой опыт, но ему очень хочется работать только с Java).
  3. Повышение своего дохода. Этот пункт может быть заменен на комфортность работы (дорога до офиса, удобство графика, наличие столовой, хорошего места для питания, парковки) или команду (насколько хороший микроклимат в команде и насколько она профессиональная).

В описании вакансии для публикации на ресурсах и в соц сетях обязательно хорошо распишите условия, избегайте казённых и шаблонных фраз. В заголовке достаточно написать «Программист Java” или “Ведущий Java-разработчик».

Составьте шаблон письма кандидату, где вы представляетесь, сообщаете, что у вас есть позиция и сразу пишите, что это Java-программист, далее описание вакансии и информация о компании. И, конечно, здесь распишите все преимущества компании, вакансии и проекта, которые вы ранее получили у заказчика (см. выше).

Кандидату лучше сначала высылать письмо, и потом звонить: “Я высылала вам письмо с вакансией” работает лучше, чем внезапный звонок.

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

3. Где размещаться (источники поиска, в том числе специальные и нетривиальные).

По статистике всё-таки больше кандидатов на Java находится на hh.ru, а лучшие приходят по рекомендации коллег-программистов.

Источники:

  1. hh.ru (и активный , и пассивный поиск).
  2. LinkedIn (лучше заранее работать над своей сетью контактов в тех сферах, где вы ищете и будете искать людей).
  3. Рекомендации других сотрудников-айтишников.
  4. Профессиональные форумы sql.ru и rsdn.ru, vingrad. Периодически появляются новые, теряют актуальность старые. Поэтому постоянно ищите новые ресурсы.
  5. Другие источники: ITMozg, Brainstorage, Programmersforum,  Javatalks, Github.
  6. Facebook, Twitter, Вконтакте, жж-сообщества по программированию.
  7. Корпоративный сайт компании или агентства.

4. Стратегия поиска (отклики, активный обзвон, соцсети, объявления и т.д.).

1. Размещение вакансии на hh.ru, сбор откликов и активный поиск.

Для эффективного поиска лучше создать автопоиск на основании ключевых слов, которые соответствуют обязательным требованиям заказчика, например если это опыт в Java и фреймворк Hibernate, наш запрос будет выглядеть как

Java and Hibernate

Количество лет опыта мы будем определять уже по резюме.

2. Публикация объявления о вакансии со ссылкой на описание в соцсетях и на LinkedIn. В зависимости от соцсети преамбула может быть более или менее формальной и должна быть привлекательной и интересной. Попросите своих знакомых сделать репост ваших публикаций.

3. Публикация объявления на профессиональных форумах. Обязательно сначала прочитайте правила форума и раздела «Работа» или «Вакансии». За невыполнение требований вас забанят, а вакансию удалят. Например, на sql.ru публикацию нельзя редактировать, обязательно нужно указать оклад, название компании или агентства и город.

 5. Как проводить первичный отбор по телефону (важные правила переговоров  и критерии отбора).

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

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

6. Особенности очного общения и оценки кандидатов.

Для айтишников не рекомендуется использование психологических тестов, так как они во-первых, показывают свою невалидность, во-вторых, в данном сегменте рынка труда психологические тесты и вопросы могут вызвать негативную реакцию.

В процесс оценки по желанию заказчика может включаться выполнение тестового задания или предоставление примеров программного кода разработчика.

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

Если вы подбираете Java-программиста для компании-заказчика, вам нужно будет развёрнутое интервью, чтобы собрать необходимую информацию для заказчика о кандидате.

В таком случае советую разработать таблицу со списком основных технологий по данной вакансии и столбцами: опыт работы (лет), количество проектов, уровень владения и опросить подробно о том, с чем кандидат работал, как он оценивает знания технологии, как много проектов сделал с использованием данной технологии.

Обязательно давайте обратную связь кандидату по телефону или по электронной почте в любом случае.

6. Подготовка кандидатов к интервью в компании.

Здесь нет никаких особенностей, кандидата необходимо снабдить всей необходимой информацией о компании и условиях работы, так как технари на эти вопросы не всегда могут ответить кандидату. Очень желательно рекрутеру присутствовать хотя бы на первом интервью с нанимающим менеджером и техническим специалистом, даже несмотря на то, что 90% того, что будет обсуждаться, не-технарю будет непонятно. Это даст вам возможность скорректировать свой поиск и лучше подобрать хорошего кандидата данному заказчику.

Спасибо за внимание, я надеюсь, что поиск айтишника, если он вам предстоит, будет лёгким и интересным!

Диана Цуркан, IT HR, ithrdiana.wordpress.com

Понравилась статья? Поделить с друзьями:
  • Как найти потерянные наушники jbl беспроводные
  • Как найти двутавр для балки
  • Как найти центр поворота равностороннего треугольника
  • Как найти адвоката в курске
  • Как найти жениха в москве