У джунов вечная проблема поиска работы заключается в том, что большинство компаний предпочитают нанимать уже опытных разработчиков — то есть, людей, которым не требуется подготовка для выполнения своих задач. В частности, даже для стартапов нет смысла нанимать кого-то на более низкую ставку, если этот человек не может справиться с поставленной задачей. Получается традиционная картина:
Нет опыта — нет работы, нет работы — нет опыта.
Так что же, джуны остаются не у дел?
Компании, запомните:
Если вы не хотите нанимать Junior-специалистов, то вы не заслуживаете Senior’ов.
Вот список причин, по которым компании обычно отказывают Junior-специалистам:
Если подытожить, то получается, что младшие разработчики — это ответственность, которую компания берет на себя из чувства долга или из-за скудного бюджета. И у компаний появляются мысли «А почему мы должны? Пусть другие компании позволяют себе заниматься корпоративными благотворительными проектами и некачественной работой, а мы точно не можем».
На самом деле, то, как вы нанимаете и обращаетесь с младшими разработчиками, является ценным косвенным показателем здоровья вашей организации, вашей линейки продуктов и вашей внутренней культуры.
Ниже мы описали несколько пунктов, в которых разобрали, почему джуны — хорошее решение для компаний.
Прямо сейчас существует большой спрос на разработчиков, который увеличивает стоимость найма любого специалиста со значительным опытом разработки программного обеспечения. Найти хороших специалистов трудно. У талантливых senior-разработчиков в основном и так есть выбор высокооплачиваемых предложений. Стартапам и небольшим компаниям необходимо привлекать нужных им талантов на высококонкурентном рынке.
Эти факторы делают junior-разработчиков более привлекательным вариантом.
По факту, большинству компаний даже не нужны лучшие инженеры. Если вы пытаетесь создать лучшую поисковую систему или решить самые сложные мировые проблемы с данными, вам, вероятно, следует нанять всего 1% лучших. Однако большинству компаний просто нужны лидеры, которые могут помочь их командам обдумать сложные вопросы, и члены команды, которые готовы работать вместе для реализации творческих решений.
Для большинства продуктов нанять топовых разработчиков — все равно что нанять Пикассо, чтобы он покрасил вашу квартиру.
Если вы запускаете продукт и испытываете проблемы с набором персонала, найм младшего разработчика может иметь больше смысла — при условии, что вы обучите и подстроите его под цели и требования своей компании.
У каждой компании есть свои собственные методы работы, включая стандарты, которым необходимо следовать. Заставить опытного разработчика изменить свой образ действий — например, внедрить новые методы проверки кода — может оказаться трудным.
Вам нужно будет спланировать, как эффективно использовать любых нанятых вами младших разработчиков с первого дня, а также как помочь им улучшить свои навыки. Есть несколько способов сделать это в зависимости от рабочего процесса вашей команды. Например, каждый младший разработчик может объединиться с более старшим разработчиком. Парное программирование — ключевая часть рабочего процесса компании, выходящая за рамки обучения младших разработчиков. Это увеличивает их продуктивность и уменьшает количество обнаруженных ошибок.
Пара из одного младшего и одного старшего разработчика обычно эквивалентна двум старшим разработчикам и составляет менее 75% от общей стоимости. Если ваша цель — максимальная продуктивность при минимальных затратах, эта пара младших и старших сотрудников должна стать фундаментальной молекулой вашей организации.
А из этого следует…
Senior-разработчик получает ставку в два раза больше, чем Junior.
Стоимость часто оправдана. Ожидается, что старшие разработчики будут более продуктивными, чем младшие.
Однако не все проекты требуют многолетнего опыта, чтобы писать код и даже делать это хорошо. Каждая программа включает в себя «связующий код», который связывает различные входы и выходы обычным образом. Неважно, кто это пишет. За такую работу вы можете платить кому-то 28 долларов в час или 59 долларов в час: результат будет примерно одинаковый. Если вы нанимаете только Senior-разрабов, вы платите больше за пласт работы начального уровня.
Код также значительно различается от приложения к приложению, и знакомство с ним является ключевым фактором производительности. В большинстве случаев младший разработчик с шестимесячным опытом работы в команде будет более эффективным, чем старший разработчик.
Вышеупомянутый связующий код и предметно-ориентированный код составляют не менее половины всей работы по разработке. Остается код, который действительно требует опыта старшего разработчика. И даже для этого кода младший разработчик может выполнить выдающуюся работу, если у него будет доступ к достаточным образовательным ресурсам и поддержка опытного наставника.
Кроме того, у Senior-разработчиков есть широко распространенная тенденция дискутировать на темы, которые в конечном итоге оказываются тривиальными — например, алгоритмы, микросекундная оптимизация и стиль кода. Если организация нанимает только Senior’ов и не имеет надежного процесса принятия решений, на эти дискуссии могут уйти сотни рабочих часов. Младшие разработчики редко сталкиваются с подобными проблемами.
Одна из самых впечатляющих вещей, которые можно услышать во время собеседования: «Привет, я руководитель команды, проработал здесь восемь лет и пришел в компанию в качестве стажера». Немногие люди могут так сказать. Такой специалист очень ценен для компании: он знает всю линейку продуктов, он видел код каждого проекта в радиусе 100 метров и работал вместе со всеми в организации. Эти люди могут вводить новшества в своей компании так, как это делают очень немногие. И компания получает неоценимые дивиденды от работы этого человека, потому что он придумал, как сохранить интерес в течение восьми лет — примерно одной десятой их продолжительности жизни. Это признак успеха культуры компании. Он отмечает рабочее место, где моральный дух высок, хорошая работа признана, а интересные проекты ждут за каждым углом.
С другой стороны, высказывание «мы не нанимаем джунов» — это открытое признание того, что ваша компания не готова участвовать в чьей-либо карьере. По сути, это рекламирует застой: компания ожидает, что опытные и талантливые разработчики присоединятся к компании и будут вносить неограниченный вклад, получая при этом только зарплату за свои усилия. Некоторые могут захотеть это сделать, но вы никогда не увидите их лучших работ.
С другой стороны, если ваша компания действительно стремится к карьерному росту, произвольное ограничение в отношении младших разработчиков служит только для сокращения вашего набора кадров и сокращения возможного срока пребывания ваших сотрудников.
Младшие разработчики обладают несколькими уникальными чертами, которые их более опытные коллеги, как правило, уже потеряли. Одна из них — слепой оптимизм. Другая — готовность следовать. Но, пожалуй, самая ценная черта джунов — отсутствие багажа опыта.
Старшие разработчики видели, как технологии приходят и уходят, как проекты терпят неудачу, команды растворяются в распрях и все другие атрибуты технологического сектора. Они формируют твердые мнения и часто чрезмерно обобщают, полагая, что то, что работало (или не работало) для одной команды или одного проекта, должно быть одинаково эффективно для другой. И это может проявляться как нежелание познавать нюансы нового проблемного пространства.
Иногда работа менеджера проекта заключается в том, чтобы сказать: «Я знаю, что это не сработало, но, возможно, здесь это сработает». И младший разработчик, как правило, лучший человек для проверки этой теории — он может создать доказательство концепции или прототип, не привнося при этом никаких предубеждений, накопленных старшими разработчиками за все годы работы. Джуны часто берутся за такую работу, пробуя новые инструменты и технологии, перестраивая вещи по-другому, доказывая идеи, которые все остальные оценили слишком быстро. Так они часто обнаруживают более эффективные способы сборки, и в результате программное обеспечение компании становилось лучше. Например, когда время загрузки страницы на порядок становилось лучше, несколько страниц были объединены в одну, что сэкономило недели на обслуживание в будущем, или компания смогла исключить недостаточные технологии, которые могли бы привести к потере времени. Преимущества, которые дает чистый лист и свежий взгляд, невозможно игнорировать.
Многим компаниям удастся собрать кучу старших разработчиков в одной комнате и дать им возможность прийти к консенсусу по поводу того, как решать проблемы и создавать вещи. Но добавление к этому ряду нескольких младших разработчиков, время которых вы можете позволить себе потратить на разовые эксперименты и дикие идеи, внесут неожиданные улучшения в ваши продукты.
Когда вы нанимаете младшего разработчика, вам придется инвестировать ресурсы в его обучение. Нанять кого-то с минимальным опытом и закрепить его на должности технической поддержки или на каком-либо другом посту, где он не может учиться, противоречит самой концепции найма младшего разработчика. Некоторые из лучших компаний инвестируют в своих сотрудников, отправляя их на буткемпы разработчиков, конференции и давая им личное время для совместной работы над личными проектами.
Если вы и ваша компания не в состоянии научить нового разработчика, не говоря уже о том, чтобы обучить его навыкам, необходимым для повышения уровня найма младшего разработчика, лучше не вкладывайте свои ресурсы. В этом случае есть смысл платить за более опытного программиста. Но если вы готовы работать с джунами, у вас есть возможность обучать именно тех программистов, с которыми вы хотите работать — причем, за меньшие деньги. Это огромная победа для вашей компании. Позитивный подход к младшим разработчикам — важный признак качественного рабочего места для разработчиков любого уровня.
Python — именно этот язык для изучения предлагала мне таргетированная реклама лет эдак 5 назад. Я на тот момент была так же далека от IT, как и от рекламы, поэтому просто скролила непонятные картинки из другого мира. Не знаю, повлияли ли они на меня за столько лет, но в результате именно Python я выбрала в качестве первого языка программирования.
На то, чтобы найти “ту самую работу”, ушли недели. На то, чтобы составить правильное резюме, ушли часы.
Почти готово.
Финальный штрих — сопроводительное письмо.
Если вам необходимо заказать проект у сторонних исполнителей, в котором отсутствуют жесткие требования к качеству, попробуйте поработать с подрядчиками по техническому заданию. Этот план поможет разработать веб-портал, красивый и удобный дизайн, создать статью для блога или услуги. Благодаря ТЗ вы сразу конкретизируете собственные пожелания и избежите “косяков”. Давайте более детально разберем, что из себя представляет этот план работ, какие есть тонкости нюансы его составления.
Украинский рынок труда в сфере IT является кандидатским. Это означает, что специалисты получают работу по принципу “не меня выбирают, а я выбираю”. Это приводит к высокой конкуренции между компаниями за лучшие кадры.
И вот тут на арену выходит HR, который либо обеспечит компанию реальным специалистом, либо же выпустит его в пользу конкурента. К сожалению, второе происходит очень часто из-за обидных ошибок рекрутера.
Добавить комментарий