Джуниоров много, вакансий не хватает
Несколько месяцев назад я сходила на мероприятие для женщин в IT. Там собралось много начинающих разработчиков, выпускников курсов программирования или учебных программ. Почти все говорили, что испытывают проблемы с поиском первой работы.
Лично мне повезло. Моей первой «настоящей» работой после колледжа в 2010 году стала должность «junior-разработчик приложений» в Колумбийском университете. В наше время сложно найти даже вакансию для джуниора. Люди, размещающие такие вакансии, завалены резюме. В то же время компании жалуются, что не могут найти хороших разработчиков уровня сеньора.
Но почему так происходит?
Я не совсем уверена в точной механике происходящего, потому что сама не управляю такой компанией. Но я знаю, что эти компании говорят мне: «Мы не хотим нанимать джуниоров, потому что не можем тратить время ведущих программистов на их обучение». Я видела ставки сеньоров, потому что я сама такая, и мои руководители проектов заставляли меня выделять время с целью бюджетирования. Я знаю, что ставки примерно $190-$300 в час. Вот почему компании считают, что нанимать новичков невыгодно.
Я в это не верю, потому что никакой сеньор не работает полный день по ставке $300 в час. Кроме того, стоны о чрезмерных расходах похожи на крокодиловы слёзы с учётом всего того времени, которое специалисты тратят впустую (по крайней мере, на мой взгляд) на совещания и тому подобное.
Но допустим, что компании снова начнут брать джуниоров в команды. Теперь у вас появится новая проблема, поскольку у сеньоров нет опыта работы с новичками — и вообще нет опыта обучения людей. Когда я впервые начала работать с джуниорами, то понятия не имела, как это делать. Я была потеряна и сбита с толку. Моя компания ничем не могла помочь: «Просто дай им какую-нибудь работу, чтобы они чему-то научились». Но в реальности этого недостаточно.
Я поискала какие-то справочные материалы на эту тему — и ничего не нашла. Если вам известны такие, то пожалуйста сообщите в комментариях. В конце концов я составила кое-как пригодную стратегию из фрагментов разных курсов и различных заданий.
Но безумие в том, как много пришлось мне узнать в процессе этого. Не думаю, что я когда-нибудь смогла бы разобраться на глубоком уровне в функциях JavaScript, если бы не пришлось их объяснить другому человеку. Некоторые из инструментов, которые я разработала для обучения, в итоге пригодились в реальных проектах.
Были времена, когда я испытывала разочарование. Особенно когда руководители проектов или другие менеджеры не понимали ситуации. Когда они не понимали, что я не могу сдавать работу в срок, потому что трачу время на обучение этих людей.
Я пытаюсь сказать, что вся экосистема разработки программного обеспечения нуждается в новичках для собственного благополучия. Их обучение имеет свою цену, но также несёт преимущества.
Если компания хочет снова нанимать джуниоров, я бы рекомендовала выделить время на разработку программы, которая поможет сеньорам и всем остальным, кто работает с джуниорами, эффективно освоить навыки наставников. А также учитывать суровую реальность.
Нужно понимать, что не все начинающие кодеры станут успешными программистами. Как к этому относиться? Вы будете винить их наставников? Или отслеживать развитие навыков и переводить тех, кто не очень справляется, на другие позиции, где они могут добиться успеха: например, в менеджеры проектов, инженеры поддержки продажи и другие позиции, не связанные с программированием, но где знание программного обеспечения является ценным.
И не все сеньоры становятся успешными наставниками. Есть много замечательных разработчиков, в которых просто нет такого таланта. Они должны иметь возможность отойти от этих обязанностей. Тех же, кто занимается наставничеством, нельзя наказывать. В одной команде я больше всех обучала новичка — и возникало чувство, что это считается как будто менее «настоящей» работой, чем у других сеньоров. Из-за этого впоследствии я неохотно брала на себя такую роль. Да, и я считаю, что отношение мужчин к женщинам тут тоже имеет значение: когда женщина берёт на себя такую роль, то со стороны часто похожа на эдакую заботливую мать-покровительницу. Это означает меньший престиж, а обычно чем меньше престиж — тем меньше зарплата.
Не могу не упомянуть некоторые другие экономические сложности, которые мешают джуниорам. Недавно я посетила мероприятие в одной компании, и они по сути сказали, что всю «лёгкую» работу отдают на аутсорсинг в другую страну. Раньше такую работу делали джуниоры. Потом есть автоматизация. Значительная часть работы, которую я лично делала в качестве джуниора, теперь автоматизирована.
Сейчас начинающим программистам сложно найти первую работу. Возможно, вам придётся делать то, что я действительно ненавижу рекомендовать, например, бесплатно работать над различными проектами. Если найдёте действительно отличный проект с открытым исходным кодом, который потом сможете указать в своём резюме. Я менее склонна рекомендовать бесплатно работать в «стартапе».
Кроме того, вам придется самому искать себе наставника. Лучше всего обучение при личных встречах, хотя я понимаю, что такой вариант не всем доступен. Поэтому можете попробовать закрытые тематические каналы в Slack и Discord. И это такой же отстой, как приглашение на свидание. Готовьтесь, что вам будут часто отказывать. Вам придётся работать на отстойных и полностью провальных проектах, потому что на бесплатных работников боятся возлагать большую ответственность. Как один джуниор сказал мне, он перестал ходить на наши митапы, потому что его проект провалился. Мне пришлось уговаривать его продолжать работу и браться за новые проекты, зная, что многие из них — отстойные и ничем хорошим не закончатся.
Со своей стороны, я с удовольствием помогаю ребятам на наших митапах и хотела бы поработать над разработкой более формальных программ наставничества в этих условиях.
Не уверена, что такое решение подходит для всех. Не уверена, можно ли назвать несбалансированными компании без джуниоров — или наоборот, они поступают грамотно. Реальность такова, что большинство разработчиков долго не остаются на одном месте — возможно, нет смысла сильно вкладываться в обучение кого-то? Или, может быть, представители индустрии должны спросить себя, почему люди продолжают прыгать с места на место? Может, потому что многие из них отстойные программисты, а может для многих это единственный способ повысить зарплату. Я могу или ждать глупого, бессмысленного ежегодного «обзора производительности», который поднимет мне ставку на 1%, или взять своё резюме, пойти на собеседование в другое место — и получить прибавку в 10% или больше.
Это не значит, что изъян в какой-то конкретной компании. Это изъян всей индустрии.
Несколько месяцев назад я сходила на мероприятие для женщин в IT. Там собралось много начинающих разработчиков, выпускников курсов программирования или учебных программ. Почти все говорили, что испытывают проблемы с поиском первой работы.
Лично мне повезло. Моей первой «настоящей» работой после колледжа в 2010 году стала должность «junior-разработчик приложений» в Колумбийском университете. В наше время сложно найти даже вакансию для джуниора. Люди, размещающие такие вакансии, завалены резюме. В то же время компании жалуются, что не могут найти хороших разработчиков уровня сеньора.
Но почему так происходит?
Я не совсем уверена в точной механике происходящего, потому что сама не управляю такой компанией. Но я знаю, что эти компании говорят мне: «Мы не хотим нанимать джуниоров, потому что не можем тратить время ведущих программистов на их обучение». Я видела ставки сеньоров, потому что я сама такая, и мои руководители проектов заставляли меня выделять время с целью бюджетирования. Я знаю, что ставки примерно $190-$300 в час. Вот почему компании считают, что нанимать новичков невыгодно.
Я в это не верю, потому что никакой сеньор не работает полный день по ставке $300 в час. Кроме того, стоны о чрезмерных расходах похожи на крокодиловы слёзы с учётом всего того времени, которое специалисты тратят впустую (по крайней мере, на мой взгляд) на совещания и тому подобное.
Но допустим, что компании снова начнут брать джуниоров в команды. Теперь у вас появится новая проблема, поскольку у сеньоров нет опыта работы с новичками — и вообще нет опыта обучения людей. Когда я впервые начала работать с джуниорами, то понятия не имела, как это делать. Я была потеряна и сбита с толку. Моя компания ничем не могла помочь: «Просто дай им какую-нибудь работу, чтобы они чему-то научились». Но в реальности этого недостаточно.
Я поискала какие-то справочные материалы на эту тему — и ничего не нашла. Если вам известны такие, то пожалуйста сообщите в комментариях. В конце концов я составила кое-как пригодную стратегию из фрагментов разных курсов и различных заданий.
Но безумие в том, как много пришлось мне узнать в процессе этого. Не думаю, что я когда-нибудь смогла бы разобраться на глубоком уровне в функциях JavaScript, если бы не пришлось их объяснить другому человеку. Некоторые из инструментов, которые я разработала для обучения, в итоге пригодились в реальных проектах.
Были времена, когда я испытывала разочарование. Особенно когда руководители проектов или другие менеджеры не понимали ситуации. Когда они не понимали, что я не могу сдавать работу в срок, потому что трачу время на обучение этих людей.
Я пытаюсь сказать, что вся экосистема разработки программного обеспечения нуждается в новичках для собственного благополучия. Их обучение имеет свою цену, но также несёт преимущества.
Если компания хочет снова нанимать джуниоров, я бы рекомендовала выделить время на разработку программы, которая поможет сеньорам и всем остальным, кто работает с джуниорами, эффективно освоить навыки наставников. А также учитывать суровую реальность.
Нужно понимать, что не все начинающие кодеры станут успешными программистами. Как к этому относиться? Вы будете винить их наставников? Или отслеживать развитие навыков и переводить тех, кто не очень справляется, на другие позиции, где они могут добиться успеха: например, в менеджеры проектов, инженеры поддержки продажи и другие позиции, не связанные с программированием, но где знание программного обеспечения является ценным.
И не все сеньоры становятся успешными наставниками. Есть много замечательных разработчиков, в которых просто нет такого таланта. Они должны иметь возможность отойти от этих обязанностей. Тех же, кто занимается наставничеством, нельзя наказывать. В одной команде я больше всех обучала новичка — и возникало чувство, что это считается как будто менее «настоящей» работой, чем у других сеньоров. Из-за этого впоследствии я неохотно брала на себя такую роль. Да, и я считаю, что отношение мужчин к женщинам тут тоже имеет значение: когда женщина берёт на себя такую роль, то со стороны часто похожа на эдакую заботливую мать-покровительницу. Это означает меньший престиж, а обычно чем меньше престиж — тем меньше зарплата.
Не могу не упомянуть некоторые другие экономические сложности, которые мешают джуниорам. Недавно я посетила мероприятие в одной компании, и они по сути сказали, что всю «лёгкую» работу отдают на аутсорсинг в другую страну. Раньше такую работу делали джуниоры. Потом есть автоматизация. Значительная часть работы, которую я лично делала в качестве джуниора, теперь автоматизирована.
Сейчас начинающим программистам сложно найти первую работу. Возможно, вам придётся делать то, что я действительно ненавижу рекомендовать, например, бесплатно работать над различными проектами. Если найдёте действительно отличный проект с открытым исходным кодом, который потом сможете указать в своём резюме. Я менее склонна рекомендовать бесплатно работать в «стартапе».
Кроме того, вам придется самому искать себе наставника. Лучше всего обучение при личных встречах, хотя я понимаю, что такой вариант не всем доступен. Поэтому можете попробовать закрытые тематические каналы в Slack и Discord. И это такой же отстой, как приглашение на свидание. Готовьтесь, что вам будут часто отказывать. Вам придётся работать на отстойных и полностью провальных проектах, потому что на бесплатных работников боятся возлагать большую ответственность. Как один джуниор сказал мне, он перестал ходить на наши митапы, потому что его проект провалился. Мне пришлось уговаривать его продолжать работу и браться за новые проекты, зная, что многие из них — отстойные и ничем хорошим не закончатся.
Со своей стороны, я с удовольствием помогаю ребятам на наших митапах и хотела бы поработать над разработкой более формальных программ наставничества в этих условиях.
Не уверена, что такое решение подходит для всех. Не уверена, можно ли назвать несбалансированными компании без джуниоров — или наоборот, они поступают грамотно. Реальность такова, что большинство разработчиков долго не остаются на одном месте — возможно, нет смысла сильно вкладываться в обучение кого-то? Или, может быть, представители индустрии должны спросить себя, почему люди продолжают прыгать с места на место? Может, потому что многие из них отстойные программисты, а может для многих это единственный способ повысить зарплату. Я могу или ждать глупого, бессмысленного ежегодного «обзора производительности», который поднимет мне ставку на 1%, или взять своё резюме, пойти на собеседование в другое место — и получить прибавку в 10% или больше.
Это не значит, что изъян в какой-то конкретной компании. Это изъян всей индустрии.