В этом обзоре систематизируем требования работодателей к Junior-программистам, а также обобщаем условия, которые предлагают компании младшим разработчикам. Для этого анализируем реальные вакансии, опубликованные на hh.ru.
- Кого ищут работодатели: критерии анализа
- Какой опыт работы нужен Junior-программисту
- Какое образование нужно джуниору
- Требования к возрасту джуниров
- Какие софт-скилы нужны джуниору
- Какие хард-скилы нужны Junior-программистам
- Что работодатели предлагают Junior-программистам
- Что требуют и что дают джунам: комментарий HR-эксперта Вероники Ильиной
- Вместо заключения: что нужно, чтобы получить должность младшего программиста
Кого ищут работодатели: критерии анализа
Чтобы проанализировать требования работодателей к младшим программистам, я выбрал вакансии на сайте hh.ru по Москве, Санкт-Петербургу и Казани. Смотрел вакансии для JavaScript-программистов (фронт- и бэкенд), PHP-, Python- и Java-программистов. Проанализировал как минимум 10 вакансий по каждому стеку.
В вакансиях анализировал следующие параметры:
- требования к опыту работы;
- требования к возрасту;
- требования к образованию;
- требования к софт-скилам;
- требования к хард-скилам;
- предложенные условия труда.
Параметры анализировал без разделения по стекам. Исключение — требования к хард-скилам. Этот параметр проанализировал для каждого стека отдельно.
Какой опыт работы нужен Junior-программисту
В идеальном мире на позицию джуниора могут претендовать соискатели без опыта работы. В реальном мире всё не так просто.
В подавляющем большинстве вакансий для Junior-программистов опыт работы не требуется. Но иногда работодатели хотят видеть стажёра или джуна с опытом работы. Например, «Яндекс» ищет стажёра-разработчика с опытом работы от 1 года.
«Яндекс» ищет стажёра с опытом работы
Какое образование нужно джуниору
Нужно ли высшее образование программисту? На этот вопрос сложно ответить только с помощью анализа вакансий. HR-менеджеры могут не указывать требования к образованию в вакансиях. Но они наверняка обращают внимание на этот пункт в резюме, когда рассматривают заявку соискателя. Тем не менее даю слово реальному рынку труда.
В большинстве вакансий для Junior-разработчиков нет требований к образованию. Но часть работодателей хочет видеть соискателей с высшим техническим образованием или студентов старших курсов.
Важный момент: требования к образованию я встретил только в вакансиях для Java- и Python-программистов.
От Java- и Python-программистов чаще требуют высшее техническое образование
Промежуточный итог: в большинстве вакансий работодатели не указывают требования к образованию. Но иногда в объявлениях встречаются пожелания: компании хотят видеть у новичка диплом технического вуза или в крайнем случае студенческий билет. Такие требования я встретил только в вакансиях для Java- и Python-программистов.
Требования к возрасту джуниров
Этот вопрос чаще всего волнует специалистов, которые меняют сферу деятельности в возрасте 30+. Давайте посмотрим, есть ли ограничения по возрасту в опубликованных вакансиях.
Я просмотрел около 50 вакансий в разных стеках, но ни в одной не нашёл явных требований к возрасту. Иногда работодатели указывают, что набирают студентов последних курсов. Такие условия есть в объявлениях о стажировке, а не в вакансиях для джуниор-программистов.
На стажировку приглашают студентов
Это не значит, что работодатели не обращают внимание на возраст кандидатов. Эйчары видят резюме и могут уточнить год рождения соискателя, если эта информация не указана. А о среднем возрасте junior-программистов рассказывает HR-менеджер Вероника Ильина в комментарии ниже.
Промежуточный итог: работодатели обычно не указывают формальные требования к возрасту, но учитывают возраст соискателей при отборе.
Какие софт-скилы нужны джуниору
Софт-скилы или гибкие навыки — неспециализированные навыки, которые влияют на профессиональную деятельность специалиста. Примеры софт-скилов: дисциплинированность, проактивность, умение общаться, стрессоусточивость, способность к обучению.
Читайте также: Интервью Дмитрия Матвеева (Evrone) о требованиях тимлида к разработчикам
В большинстве вакансий работодатели не указывают требования к гибким навыкам. В нескольких объявлениях есть пожелания к софт-скилам, например:
- готовность общаться с разработчиками и с экспертами в предметной области;
- аналитический склад ума;
- ответственность за результат;
- стремление к профессиональному росту;
- любопытство;
- коммуникабельность;
- умение чётко формулировать мысли;
- адекватность;
- умение и желание работать в команде;
- умение планировать работу;
- умение работать со скучными задачами.
Мне показалось, что в некоторых вакансиях работодатели пишут о гибких навыках формально. Например, сложно представить, что кто-то из кандидатов скажет на собеседовании, что ему не хватает любопытства или адекватности.
В некоторых вакансиях софт-скилам уделяется повышенное внимание. Например, одна из компаний ищет Python-разработчика для работы в медицинском стартапе. Работодатель хочет, чтобы у соискателя был интерес к предметной области, то есть к медицине. Это объясняется тем, что разработчику придётся общаться с врачами, которые участвуют в разработке медицинских приложений.
В объявлениях часто встречается требование знать английский язык. В частности, указывается уровень intermediate.
Промежуточный итог: работодатели иногда указывают желаемые гибкие навыки. Любой кандидат может на собеседовании сказать, что он коммуникабельный, любопытный и адекватный. Реально оценить софт-скилы соискателя работодатель сможет во время испытательного срока.
Адекватные стрессоустойчивые соискатели интересуются вакансией
Какие хард-скилы нужны Junior-программистам
Хард-скилы или профессиональные навыки уместно рассматривать в разрезе стеков.
Требования к JavaScript-разработчикам (фронтенд)
Работодатели требуют от соискателей на позицию фронтенд-разработчиков такие знания и умения:
- знания основ JavaScript;
- базовые знания HTML и CSS;
- умение верстать (встречаются требования умение верстать по принципу pixel-perfect);
- умение использовать UI-фреймворки и библиотеки, чаще всего React и Vue.
- Знание протокола HTTP;
- умение работать с графическими редакторами (Adobe Photoshop требуют чаще всего);
- умение работать с Git и пакетными менеджерами.
В одной вакансии встретил пожелание — соискатель на позицию фронтендера должен знать PHP хотя бы на базовом уровне. Также в единичных вакансиях работодатель искал кандидатов со знанием TypeScript, умением работать с препроцессорами (SCSS или Less), знание Angular.
Требования к Node.js-разработчикам (бэкенд)
Работодатели ждут от Node.js-разработчиков таких знаний и умений:
- знание Node.js;
- опыт использования GitHub и GitLab;
- знание Vue.js;
- знание HTML и CSS, умение верстать;
- знание Websocket;
- знание SQL, умение работать с базами данных;
- понимание принципа MVC.
В вакансиях для Node.js-разработчиков часто встречаются жёсткие требования к знанию английского языка. В нескольких вакансиях увидел пожелание к знанию ещё одного серверного языка, например, PHP или Python.
Требования к PHP-программистам
От младших программистов на PHP компании ожидают таких знаний и умений:
- знание PHP;
- базовые знания HTML и CSS;
- знание бэкенд-фреймворков (чаще всего требуют Laravel и Yii2);
- знание SQL, умение работать с базами данных;
- знание CMS (встречаются разные, включая 1C-Битрикс, WordPress, Magento);
- умение работать с Git;
- понимание принципов ООП.
В нескольких вакансиях работодатели хотят, чтобы соискатель имел базовые знания JavaScript.
Читайте также: Как джуну написать сопроводительное письмо, за которое его возьмут на работу
Требования к Python-программистам
Один из работодателей принимает стажёров, которые знают основы Python и SQL. Стажировка оплачиваемая. К младшим программистам предъявляются более серьёзные требования:
- знание Python;
- знания scikit-learn, tensorflow-pythorch, matplotlib;
- знание алгоритмов машинного обучения и теоретическое понимание работы нейросетей (для джуниор-программистов в области machine learning);
- в вакансиях для Python-программистов часто встречаются требования уметь работать с Linux;
- для веб-разработчиков на Python актуальны умение работать с базами данных и знание веб-фреймворков, например, Django.
В вакансиях для Python-программистов практически не встречаются требования знать ещё один язык программирования. Также мне не попались требования знать HTML и CSS и уметь верстать. Тем не менее это актуальные для веб-разработчиков умения.
Требования к Java-программистам
Выше сказано, что от джавистов работодатели чаще всего требуют высшее техническое образование. Также компании хотят видеть такие знания и умения:
- знание Java;
- понимание принципов ООП;
- знание SQL;
- умение работать с базами данных;
- знание HTML и CSS;
- знание сетевых технологий, включая TCP и HTTP.
В вакансиях для Java-программистов несколько раз встретил требование уметь писать юнит-тесты. В объявлениях о поиске джуниоров в других стеках такого требования не увидел.
В одной из вакансий нашёл пожелание к знанию второго языка программирования, например, Python. В вакансии для веб-разработчика на Java увидел требование понимать принцип MVC.
Промежуточный итог: от младших программистов во всех стеках работодатели ожидают базового знания выбранного языка программирования. Часто встречается пожелание знать хотя бы ещё один язык. В большинстве вакансий есть требование знать HTML и CSS.
Работодатели ожидают, что Junior-программисты умеют работать с базами данных, знают сетевые технологии, владеют популярными фреймворками и библиотеками.
Изучайте операционные системы, повысьте свой уровень У нас есть курс по операционным системам. Зарегистрированные пользователи могут пройти его бесплатно. Другие бесплатные курсы можно найти по ссылке.
Что работодатели предлагают Junior-программистам
В части вакансий эйчары не указывают заработную плату, которую предлагают сотрудникам. Тем не менее объявления позволяют оценить уровень зарплат, на которые могут претендовать джуниоры. Также в вакансиях обычно есть информация о других «плюшках».
Работодатели предлагают будущим сотрудникам такие плюшки:
- добровольное медицинское страхование за счёт компании;
- абонемент в спортзал;
- напитки, йогурты, фрукты;
- изучение английского языка за счёт компании;
- корпоративные мероприятия;
- официальное оформление по трудовому кодексу;
- гибкий график работы;
- оплата обедов;
- услуги массажиста за счёт компании.
Промежуточный итог: Junior-программист может рассчитывать на заработную плату от 15 000 рублей в месяц и выше. Работодатели готовы дополнительно мотивировать джуниоров и обеспечивать им комфортабельные условия труда.
Что требуют и что дают джунам: комментарий HR-эксперта Вероники Ильиной
Я анализировал требования работодателей к джуниорам по опубликованным вакансиям. Чтобы получить полную картину, обратился к HR-эксперту Веронике Ильиной и попросил её рассказать, что требуют работодатели от Junior-программиста. Слово Веронике.
Вероника Ильина, HR-консультант «Хекслета»
«Обычно в вакансиях джунов пишут в требованиях или пожеланиях техническое образование. На это есть несколько причин: от традиций до убеждения, что универ учит системному мышлению. Но все знают, что действительно учатся даже в топовых вузах десятки, если не единицы людей на каждом потоке. То есть настоящих сильных выпускников никогда не хватит, чтобы закрыть потребность рынка в джунах. Так что многие работодатели на самом деле закрывают глаза на образование. Особенно после того, как встречают тимлида с опытом CTO и 9 классами школы или берут в джуны бывшего бариста, потому что мехмат МГУ не смог в сортировку. А бариста смог.
Опыт обычно не требуется, то есть учебного достаточно. Но и в целом джун джуну рознь: кто-то год параллельно с учебой стажируется в известной компании, но ничего не умеет. Кто-то даже учит школьников программировать, но у самого знаний все же не хватает даже в основах. А кто-то — тот самый бывший бариста, который выучил Java дома, и нормально работает :-)
Идеальный джун — это, конечно, вчерашний студент. Опыта нет, впитывает всё, что дают, легко подстраивается под рабочие процессы и увлечённо старается. Но студентов не напасёшься: их просто меньше, чем нужно. А тем более не хватает студентов с хорошо думающей головой. Поэтому компании медленно, но верно начинают смотреть кандидатов около 30 и старше. Да, они уже не такие «на всё согласные», но они знают, чего хотят. Конечно, негласный возрастной ценз и неверие в то, что человек в 30 может куда-то эффективно переучиться, никуда не исчезают. Но когда на рынке мало хороших студентов, кого еще рассматривать и брать?
Самое главное для джуна — уметь гуглить и не бояться спрашивать непонятное, просить помощи у живых людей. Такие джуны быстро растут. Молчуны растут намного медленнее, это логично: как расти, если ты знаешь меньше правильных решений и собственных ошибок, чем твой коллега-активист?
По хард-скилам: джун джуну рознь. «Яндекс» будет требовать от вас алгоритмов, маленькая студия — умения делать хоть что-то, маленькая и гордая студия — уметь делать простое, но очень хорошо. Нужно смотреть на конкретные требования и пробовать. Нет универсальной формулы технических навыков, с которыми вас возьмут. Но есть то, что помогает на любом уровне — кругозор в Computer Science.
Что предложат джуну: в Москве и Санкт-Петербурге джун любого направления в разработке может иметь 30-100 тысяч рублей на руки. Просто за 100 у него будет минимальный опыт работы и например невероятная алгоритмическая подготовка. А за 30 легкая стажировка или парттайм работа. Скорость роста дальше зависит от самого джуна и компании, не все умеют вовремя поднимать деньги джунам. А джуны не всегда приходят с запросом про деньги. «Плюшки» у всех примерно стандартные: пресловутые «печеньки», ДМС, фрукты какие-нибудь с фитнесом, компенсация обучения. Бывает больше и лучше, бывает меньше».
Вместо заключения: что нужно, чтобы получить должность младшего программиста
О требованиях работодателей к джунам мы узнали благодаря анализу вакансий и комментарию HR-эксперта Вероники Ильиной. Чтобы соответствовать этим требованиям, достаточно единственного фактора. Вам нужно развиваться: изучать программирование и смежные дисциплины, нарабатывать гибкие навыки. И не забывайте рассылать резюме и ходить на собеседования, без этого найти работу не получится.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях