Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Привет, меня зовут Алексей Мартынов и в IT я уже более 20 лет. В Яндекс Практикуме я — ведущий эксперт, наставник и автор контента на курсе «Фронтенд-разработчик». Успел поработать в самых разных компаниях в большинстве сфер — от логистики до финансов. Принимал участие в разработке сервисов «Госуслуги» и «Подорожник» и такого количества приложений, что почти все россияне пользуются моим софтом :) Последние 10 лет развиваю собственные проекты. Например, сейчас руковожу стартапом в области искусственного интеллекта. Параллельно работаю техническим директором в компании, специализирующейся на веб-разработке.
В этой статье хочу рассказать, как обстоят дела в этой сфере и что нужно знать джунам, чтобы найти интересную работу фронтендером, что происходит на рынке новичков, кому они нужны, какие у них перспективы и возможности развиваться. А главное, что изменилось на рынке и как с этим теперь жить.
Нанимают ли джунов на работу в 2023 году
В отрасли IT за последний год произошли серьёзные трансформации. Но там, где кризис, открываются и новые возможности. С российского рынка труда «вымыло» опытных специалистов. Появилось огромное количество вакансий на их замещение.
В результате весной 2023 года профессия фронтенд-разработчика входила в топ-3 востребованных IT-специализаций. Вакансии на позиции джуниор-разработчика и стажёра традиционно в меньшинстве, но уже на уровне мидла выбор мест работы резко возрастает — таких предложений больше половины от общего числа.
Конкуренция между начинающими специалистами — высокая, работодатели ищут самых подготовленных. Но только 8% международных компаний нанимают исключительно за технические навыки. Чтобы преуспеть, нужно развивать гибкие навыки и нетворкинг.
Даже во время рецессии появляются новые рабочие места. По мнению экспертов, на это есть ряд причин:
сотрудники уходят в отпуска, в том числе долгосрочные;
руководство стремится к ротации кадров;
на места более опытных сотрудников нужны новички.
Есть тренд на возвращение с удалёнки. Это плюс для новичков — они обычно готовы работать в офисе и переезжать в другой город.
В России медианная зарплата разработчика составляет 151 000 рублей по данным калькулятора zarplan.com. HH.ru уточняет, что для джунов этот показатель — примерно 100 000 по вакансиям и 97 000 по фактическим зарплатам.
Эксперты проанализировали данные hh.ru и пришли к выводу, что конкуренция составляет примерно 4 кандидата на одну вакансию.
А команда ресурса «Библиотека программиста» провела опрос среди подписчиков и выяснила, что зарплаты джунов за последний год не падали и даже немного подросли.
Через некоторое время стоит ждать вертикальную миграцию кадров — руководство организаций будет повышать сотрудников хотя бы с минимальным опытом. А на их места понадобится нанимать джунов с рынка труда.
Конечно, требования к таким джунам возрастают. Рынок перенасыщен начинающими специалистами, конкуренция между ними высокая. На первый план вышли софтскилы, в частности умение подстраиваться к новым задачам и делать то, что раньше не приходилось. То, насколько быстро готов втянуться новый сотрудник в работу, даже важнее его жёстких навыков.
По моим прогнозам, этот тренд сохранится как минимум до конца 2023 года. В компаниях понимают, что уже сейчас им некем закрывать средние и высшие позиции. В ответ на вертикальную миграцию кадров начнётся активный найм джунов, чтобы растить опытные кадры из них.
В первую очередь нанимать джунов будет крупный бизнес, особенно в банковской сфере. В таких компаниях самые большие кадровые потери, которые нужно быстро восполнять. Технологические гиганты, например Яндекс и VK, подстраховались заранее, к тому же у них есть корпоративные программы роста сотрудников. Скорее всего, они сначала будут закрывать возникшие потребности за счёт внутреннего резерва. Но очередь дойдёт и до них.
Как получить опыт
Резюме без опыта большинство работодателей не рассматривают вообще. Получить первый опыт можно на фрилансе, стажировке, с помощью пет-проектов и опенсорса. Давайте разберём каждый из вариантов подробней.
Фриланс. Фрилансеров сейчас стало меньше, поэтому есть все шансы выполнить несколько заказов и собрать портфолио. Занятость в формате фриланса нужно аккуратно указывать в резюме. Есть две категории работодателей: одни не приветствуют опыт на фрилансе, а другие с удовольствием рассматривают таких специалистов.
Обычно фрилансеры готовы брать на себя ответственность и выполнять широкий круг задач. Они хорошо соблюдают сроки и умеют разбираться в новом, потому что имеют дело с самыми разными запросами. Благодаря этому у фрилансеров сейчас преимущество перед теми, кто долго занимался чем-то одним.
Конечно, всегда находятся заказчики, которые хотят «подешевле», и не все умеют выбирать фрилансеров, но правильно и красиво оформленный профиль поможет пробиться. Умение продать свои способности начинающему специалисту всегда пригодится.
Пет-проекты — всегда хорошее подспорье для разработчиков. Если настроен правильный флоу найма и начинающий специалист попадёт к техническому руководителю, ему будет интересно посмотреть проекты, в которых поучаствовал новичок. Раньше на это обращали меньше внимания. Сейчас, при большом потоке новичков, этот дополнительный фактор поможет выделиться. Скорее всего, тимлид посмотрит, какой код вы написали и как его преподносите. Здесь тоже важно умение «продать себя». Чтобы технический специалист составил хорошее впечатление о вас как о разработчике, проект должен быть не только хорошо написан, но и задокументирован. Нужно описать, что это за проект и зачем он нужен, написать подробные инструкции по сборке/запуску/использованию, привести ссылки на опубликованную версию, дать уместные комментарии по коду, планы по развитию и улучшению проекта.
Стажировка. Легко или сложно попасть на стажировку — зависит от работодателя. Иногда крупные технологические компании устраивают серьёзные испытания даже на этом этапе. Например, в Яндексе любят алгоритмические задачки. Но и на них можно себя натаскать: решайте олимпиадные задачи, прорабатывайте алгоритмы. В интернете немало сервисов, например Leetcode или Codewars, Yandex Cup, на которых можно потренировать умение решать задачи для фронтенда. Это пригодится, потому что в условиях быстрого найма представители работодателей любят давать такие испытания.
Опенсорс. Опенсорс-проекты больше подходят опытным разработчикам. Но если чувствуете в себе силы этим заниматься, пробуйте. Одно дело — создание и продвижение такого проекта, другое — просто участие, решение рядовых задач. Если вы действительно решили проблему в каком-то известном, полезном опенсорс-проекте, ваш пул реквест принят, на это обязательно нужно сослаться. Однако задачи, которые там возникают, обычно сложноваты для джунов. Поверхностные ошибки решаются быстро, всё остальное может быть более трудоёмким. Экономьте свои силы и время.
Актуальные хардскилы
В освоении профессиональных навыков не всегда стоит гнаться за всеми модными технологиями. Например, вам может показаться, что на первый план в мировой разработке вышел сборщик Vite. Да, это прекрасный инструмент, который имеет все шансы занять достойное место в тулсете разработчика, но пока ещё не оброс достаточным объёмом комьюнити и поддержки для применения в продакшен. На работе же вы, как правило, будете иметь дело с большим объёмом легаси-кода, который был написан давно. Изучение чего-то нового всегда полезно в профессиональном плане, но начинающему специалисту важнее наработка хорошей базы в технологиях, которые на текущий момент широко используются в проектах.
Как минимум, вы должны отлично знать React и Vue.js, не брезговать писать на чистом JavaScript, потому что таких проектов тоже очень много. Библиотека jQuery морально устарела, но до сих пор часто встречается. А будни фронтенд-разработчика — это не всегда модный красивый код, написанный с нуля :) Нужно уметь работать с большинством популярных CMS и уметь натягивать на них шаблоны и использовать плагины, написанные, как правило, с использованием jQuery.
Сначала придётся освоить всю эту «старую школу», и только тогда браться изучать что-то новое. Например, в мире продолжает набирать обороты язык TypeScript. Но пока что он не настолько широко распространён, чтобы стать обязательной технологией для джуна в России. Знакомство с ним — must have. Но в работе, скорее всего, пригодится не скоро. Сейчас мало вакансий с этим языком для начинающих специалистов.
Подходы к найму у нас и за рубежом несколько отличаются. Поэтому нет большого смысла смотреть видео вроде «100 вопросов фронтенд-разработчику на интервью в Amazon», если не собираетесь туда устраиваться. Наш флоу приёма на работу начинается чаще всего с собеседования с HR. Эти специалисты смотрят, насколько адекватно вы отвечаете на заготовленные вопросы. Чем больше собеседований у вас за плечами, тем лучше вы будете понимать этот этап. Шансы пройти через первый барьер увеличатся. Только после этого, как правило, следует техническое интервью.
На техническом этапе идёт упор на жёсткие навыки. Софтскилы до сих пор проверять было не принято, но сейчас это постепенно выходит на передний план. Условия работы изменились, требуется иной набор навыков. Но традиции найма так быстро не меняются. Тимлид, которого отправили поговорить с кандидатом, скорее всего, будет задавать вопросы по технологиям. Именно поэтому базу языка и инструментов нужно знать назубок.
Идеально, если вы претендуете на место в небольшой или средней компании, там вас будет собеседовать непосредственно лицо, принимающее решение. Это тимлид или техдир, способный оценить, как именно вы впишетесь в существующую команду. Им важнее стоящие перед проектом задачи, поэтому давить на знание теории не будут. Проверят в первую очередь мотивацию, способность учиться. Для новичка это выигрышная ситуация — останется только выяснить, что вам подходит эта компания, а вы — ей. Если химия сработала, всё разрулится на месте. Но если идти по классической схеме, нужна вся база теоретических знаний.
К чему быть готовым
Тем, кто сейчас выходит на рынок, важно понимать, что условия игры изменились — от кандидатов-новичков требуют самостоятельности и готовности идти до конца.
Спрашивают как с мидлов. Требования для кандидатов на джуниор-позицию приближаются к уровню мидл-разработчиков. База знаний остаётся такой же, но уровень знаний требуется выше. Например, сейчас нередко можно увидеть в вакансиях фронтенд требования знать бэкенд — так часто завуалировано ищут фулстеков. То есть ожидают, что пришедший специалист уже знает или будет готов быстро изучить новые языки/технологии/фреймворки. Наниматели рассчитывают, что специалист придёт и сразу включится в процессы — будет тушить те пожары, что уже есть. То есть будет самостоятельным специалистом.
Покажите, что готовы идти к цели. Человеку, который сейчас выходит на этот рынок, нужно показать свою целеустремлённость, готовность быстро встраиваться в процессы и разбираться с новыми вызовами.
Вы можете чего-то не знать, но должны быть готовы учиться и разбираться. Важно адекватно оценивать свои навыки, честно об этом говорить и выражать готовность учиться. Если вы докажете работодателю, что трезво смотрите на вещи, готовы развиваться и отвечать за свои слова, это оценят.
Проактивность — то, чего от вас ждут. Просто прийти и сидеть на тёплом месте, как можно было раньше, уже не получится. Это означает, что нужно повысить активность уже на первом этапе — отправлять много запросов HR. Не все отклики будут успешными, какие-то вообще не просмотрят. Большую роль играет, как заполнено резюме. Если вы джун и пока не приобрели опыт работы, здорово продемонстрировать свои пет-проекты. Придумайте, как подсветить своё развитие в интересном направлении. Любая возможность выделиться на фоне других кандидатов критически важна. Проявляйте себя любыми способами.
Времени на поиски уйдёт дольше. Даже если с первого раза не получилось, через некоторое время снова можно попробовать откликнуться на вакансии тех же компаний. Но нужно быть готовым, что время поиска работы или стажировки сейчас увеличено.
Главный мягкий навык сейчас — адаптивность. Чтобы проверить его, на собеседовании могут дать сложную задачу. Предполагается, что разработчик этого уровня заведомо не может её решить. Очень важно, как он будет рассуждать в процессе. Если кандидат осилит задачу — хорошо. Значит, его уровень выше ожидаемого. И всё же главное — не решить, а показать ход своих мыслей.
Этот навык можно в себе нарабатывать. Попробуйте найти такую задачу в интернете или даже придумать. Дальше — покорять её итеративно, слой за слоем раскручивая решение. Поможет проговаривать или даже записывать ход мыслей. Научитесь объяснять, почему вы сделали тот или иной выбор. Это поможет наработать понимание: видеть тонкие моменты своего кода, неучтённые факторы. На собеседованиях вы продемонстрируете, что готовы искать решения нетривиальных задач.
А что дальше: перспективы развития в профессии
С точки зрения профессионального роста самое дальновидное — уйти именно в заказную разработку. Каждый проект будет новым и по-своему интересным и сложным. Получится больше опыта за меньшее время, вы прокачаетесь буквально за несколько лет.
Если пойти в продуктовую разработку, например в банк, это будет более тёплое место. Но развитие специалиста идёт медленнее, потому что сейчас не хватает опытных сотрудников. Вас просто будут закидывать в разные места — «тушить пожары». Там требуются одни и те же навыки, связанные с поддержкой интерфейса.
Каждый выбирает для себя: развитие без особой стабильности или стабильность без особого развития