Джуниоров много, вакансий не хватает

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

[sendpulse-form id=”278″]

Лично мне повезло. Моей первой «настоящей» работой после университета в 2012 году стала должность «junior-php developer» в довольно маленькой компании. В наше время сложно найти даже вакансию для джуниора. Люди, размещающие такие вакансии, завалены резюме. В то же время компании жалуются, что не могут найти хороших разработчиков уровня сеньора.

Но почему так происходит?

Я не совсем уверен в точной механике происходящего, потому что сам не управляю такой компанией, моя потребность в джунах крайне мала, а текучка кадров минимальна, да иходя из задач выгоднее искать минимум мидла. Но я знаю, что эти компании говорят: «Мы не хотим нанимать джуниоров, потому что не можем тратить время ведущих программистов на их обучение». Смотрим ставки сеньоров, они колеблются в пределах $190-$300 в час. На обучение новичка придется потратить минимум 1 час в день, без учета времени на переключение между задачами. Вот почему компании считают, что нанимать новичков невыгодно.

Я не могу в это поверить целиком и полностью. Никакой сеньор не работает полный день по ставке $300 в час. Стоны о чрезмерных расходах при обучении новичков, больше похожи на крокодиловы слёзы с учётом всего того времени, которое специалисты тратят впустую (по крайней мере, на мой взгляд) в течении всего дня. Я смутно могу представить себе человека который 8 часов с перерывом на обед непрерывно пишет код жизненно важный для бизнеса (не важно собственный продукт или нет).

Допустим, что компании снова начнут брать джуниоров в команды. Появится новая проблема, поскольку у сеньоров нет опыта работы с новичками — и вообще нет опыта обучения людей. Когда я впервые начал работать с джуниорами, то понятия не имел, как это делать. Я был потеряна и сбит с толку. Моя компания ничем не могла помочь: «Просто дай им какую-нибудь работу, чтобы они чему-то научились». Но в реальности этого недостаточно.

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

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

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

Я пытаюсь сказать, что вся экосистема разработки программного обеспечения нуждается в новичках для собственного благополучия. Их обучение имеет свою цену, но также несёт преимущества.

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

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

И не все сеньоры становятся успешными наставниками. Есть много замечательных разработчиков, в которых просто нет такого таланта. Они должны иметь возможность отойти от этих обязанностей. Тех же, кто занимается наставничеством, нельзя наказывать. В одной команде я больше всех обучал новичка — и возникало чувство, что это считается как будто менее «настоящей» работой, чем у других сеньоров. Из-за этого впоследствии я неохотн брал на себя такую роль.

Не могу не упомянуть некоторые другие экономические сложности, которые мешают джуниорам. Недавно я посетил мероприятие в одной компании, и они по сути сказали, что всю «лёгкую» работу отдают на аутсорсинг в другую страну. Раньше такую работу делали джуниоры. Потом есть автоматизация. Значительная часть работы, которую я лично делал в качестве джуниора, теперь автоматизирована.

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

Кроме того, вам придется самому искать себе наставника. Лучше всего обучение при личных встречах, хотя я понимаю, что такой вариант не всем доступен. Поэтому можете попробовать закрытые тематические каналы в Slack и Discord. И это такой же отстой, как приглашение на свидание. Готовьтесь, что вам будут часто отказывать. Вам придётся работать на отстойных и полностью провальных проектах, потому что на бесплатных работников боятся возлагать большую ответственность.

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

Не уверен, что такое решение подходит для всех. Не уверен, можно ли назвать несбалансированными компании без джуниоров — или наоборот, они поступают грамотно. Реальность такова, что большинство разработчиков долго не остаются на одном месте — возможно, нет смысла сильно вкладываться в обучение кого-то? Или, может быть, представители индустрии должны спросить себя, почему люди продолжают прыгать с места на место? Может, потому что многие из них отстойные программисты, а может для многих это единственный способ повысить зарплату. Я могу или ждать глупого, бессмысленного ежегодного «обзора производительности», который поднимет мне ставку на 1%, или взять своё резюме, пойти на собеседование в другое место — и получить прибавку в 10% или больше.

Это не значит, что изъян в какой-то конкретной компании. Это изъян всей индустрии.