Важное руководство по найму отличных внештатных разработчиков

Опубликовано: 2022-03-11

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

Итак, как мы это сделаем? Что ж, есть из чего выбрать фрилансеров; многие хорошие, но многие нет. Чем больше рынок, тем больше риск. При наличии большего количества кандидатов проверка рекомендаций и отбор отдельных кандидатов могут стать проблемой, особенно если вы размещаете объявление на крупной платформе для фрилансеров и получаете сотни заявок.

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

Очевидно, что доверие является предпосылкой любого серьезного обязательства в любых деловых или личных отношениях. Но что происходит, когда вы не знаете нужных людей и вынуждены искать таланты на огромной бирже фрилансеров? После нескольких десятков заявок люди начнут сомневаться в собственной здравости, не говоря уже о том, чтобы доверять незнакомым людям и их обещаниям. Доверие хорошо, доверие продает.

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

Так что же действительно важно? Давайте взглянем на несколько правил найма фрилансеров.

Вы не можете торопиться

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

Если возможно, вам следует попробовать поработать с разработчиком, прежде чем принимать окончательное решение. Испытание может включать в себя небольшой проект или просто ряд тестов. Период оценки не должен быть слишком длинным, если он хорошо продуман. Также неплохо привлечь остальную часть команды; в конце концов, они будут работать с новым разработчиком и, возможно, смогут выявить некоторые проблемы, которые в противном случае остались бы незамеченными. Прислушивайтесь к их мнению, спрашивайте их мнение и не принимайте решения самостоятельно.

Тем не менее, оценка может работать не во всех ситуациях. Если ваш кандидат — очень квалифицированный и опытный разработчик, это может даже показаться профессиональным оскорблением. Это зависит от их эго, но вы же не хотите, чтобы в вашей команде были примадонны, не так ли?

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

Дело не только в технике

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

Подходит ли кандидат?

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

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

У миллиона программистов есть миллион разных личностей, и каждая компания уникальна, поэтому не существует единого правила, подходящего для всех, когда речь идет о культурной совместимости; тебе решать.

Большинство технических навыков устаревают в течение нескольких лет, но не человеческие навыки, профессионализм и преданность делу. Разработчик, желающий адаптироваться к новым отраслевым тенденциям и овладевать новыми навыками, может оказаться более ценным, чем разработчик, который отлично разбирается в одной конкретной области знаний. Хорошо продуманный процесс собеседования должен решить некоторые из этих вопросов.

В зависимости от того, где вы находитесь и каким бизнесом вы занимаетесь, было бы неплохо проконсультироваться с кем-то, кто имел дело с разработчиками-фрилансерами, особенно если у вас не было возможности сделать это раньше. Ряд юридических и налоговых ловушек может повлиять на бизнес в определенных юрисдикциях, поэтому, если вы думаете о привлечении своего первого фрилансера, обязательно проконсультируйтесь со своим бухгалтером (возможно, даже с юристом). К счастью, в большинстве стран мира на вас не должны влиять устаревшие законы о труде или налоговые кодексы, написанные в эпоху электронных ламп.

Поиск, предварительный отбор, планирование

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

Проведение всестороннего интервью требует времени и усилий. Это также требует достаточной подготовки, потому что вам нужно тщательно адаптировать свои вопросы. К счастью, Toptal может помочь с рядом руководств по найму, охватывающих широкий круг тем. Если вы ищете работу или хотите нанять внештатного разработчика, вам обязательно стоит ознакомиться с некоторыми из наших ресурсов.

Давайте сделаем шаг назад и посмотрим на типичный процесс найма. После того, как вы определили свои потребности и начали готовиться к процессу поиска, доступны несколько различных методов поиска подходящих кандидатов — внутренний поиск, традиционные объявления о работе, онлайн-биржи фриланса, службы занятости и старые добрые личные рекомендации.

Независимо от того, какой метод вы выберете, вам нужно будет написать хорошее краткое описание проекта и описание работы. Вы можете использовать описания вакансий Toptal в качестве хорошей отправной точки; например, ознакомьтесь с описаниями вакансий разработчиков интерфейсов и серверов. Помните, если вам нужны талантливые разработчики, люди, которые могут получить новую работу в течение нескольких дней, вы должны немного заняться маркетингом со своей стороны. Это не означает, что вам нужно перепродавать проект, но вам нужно правильно продвигать его, чтобы привлечь квалифицированных специалистов . Спросите себя, подали бы вы заявку на собственное объявление, если бы вы были ведущим разработчиком-фрилансером?

Как только заявки начнут поступать, вы, вероятно, получите много необработанных данных, которые необходимо тщательно обработать, прежде чем включать в короткий список отдельных кандидатов. Некоторые кандидаты просто не добьются успеха и будут отклонены на этом раннем этапе, другие попадут в шорт-лист, в то время как некоторые могут считаться кандидатами второго уровня — кандидатами, которые могут выполнять работу, но их затмевают более талантливые. Может быть хорошей идеей отслеживать таких кандидатов на случай, если они понадобятся вам позже.

Интервью должны охватывать технические способности и многое другое

Теперь, когда вы сузили круг потенциальных кандидатов, пришло время назначить несколько собеседований. Это не просто вопрос задавать людям много технических вопросов и пытаться выяснить, подходят ли они для вашей команды; это серьезный процесс, и он должен быть подкреплен большим количеством исследований и тщательно отобранных вопросов, призванных выявить лучшее (и худшее) в каждом кандидате.

Получение отличных ответов на плохие технические вопросы ни к чему не приведет.
Твитнуть

Вот несколько моментов, о которых следует помнить, задавая технические вопросы:

  • Не задавайте тривиальных вопросов, которые больше связаны с технической историей, чем с реальной работой.
  • Старайтесь избегать вопросов, часто встречающихся в руководствах по найму; если оно есть в сети, его может знать любой, кто пытался подготовиться к интервью.
  • Задавайте практичные открытые вопросы, которые дают кандидату некоторую творческую свободу.
  • Ознакомьтесь с некоторыми из предыдущих проектов кандидата и задайте несколько соответствующих вопросов о них.
  • Попытайтесь узнать больше о профессиональных привычках и навыках кандидата, например, как часто он осваивает новые навыки и совершенствует существующие?

Теперь давайте посмотрим, как это будет выглядеть в реальном мире, используя руководство Toptal по найму PHP. Например, вместо того, чтобы задавать банальные/исторические вопросы, такие как «Когда PHP 5 стал массовым?» или «Почему array_merge() вызывала проблемы совместимости при запуске устаревшего кода PHP4?», вы должны попытаться задать вопросы, которые соответствуют перечисленные выше критерии.

Вот хороший пример из нашего руководства по PHP: «Что такое трейты? Приведите пример объявления трейта и класса, использующего несколько трейтов».

Этот вопрос позволит вам узнать о кандидате гораздо больше, чем простые вопросы. Трейты были введены в PHP 5.4, что означает, что кандидат использует некоторые из последних функций. Если вы действительно хотите бросить интервьюируемому кривую, проверьте примечания к выпуску PHP и приправьте вопрос некоторыми еще более свежими дополнениями из официального журнала изменений в PHP 5.5.x и 5.6.x. Этот прямой и относительно простой вопрос позволит вам узнать, заинтересован ли программист в использовании последних разработок и лучших практик.

Конечно, тот же принцип применим практически к любой нише, не только к PHP.

Еще одна хорошая идея — внимательно изучить послужной список заявителя и завершенные проекты. При приеме на работу каждый перечисляет свои лучшие работы, которые могут отражать или не отражать фактическое качество. Что, если кандидат случайно забыл упомянуть кучу проектов, которыми он не слишком гордится? Есть ли большие пробелы в резюме? Завершил ли девелопер пять пятизвездочных проектов за пять лет, не упомянув дюжину дешевых и неряшливых, которые между ними платили арендную плату? Такие пробелы должны быть тревожным сигналом, хотя они не обязательно являются дисквалифицирующим фактором, если им есть разумное объяснение.

Мы больше не находимся на технической территории, это подводит нас к личности и честности кандидата, о которых может быть труднее судить, чем об их мастерстве кодирования.

Держите свою команду в курсе, чтобы обеспечить хорошую совместимость

В большинстве случаев новый разработчик присоединится к существующей команде, поэтому очень важно информировать и вовлекать команду в какой-то момент процесса найма. Команда может предложить бесценную информацию о некоторых аспектах проекта, помочь вам подготовиться к собеседованию и задать соответствующие вопросы (или даже вопросы «попался»), и, очевидно, они кровно заинтересованы в том, чтобы на борту был наилучший кандидат. В конце концов, это тот человек, с которым им придется иметь дело изо дня в день, может быть, месяцами, может быть, годами.

Ни одна команда не хочет иметь некомпетентного коллегу. Используйте это в своих интересах и коснитесь своей команды для получения дополнительной информации. Вы не найдете недостатка в интересе.

Ваша команда также может убедиться, что «новичок» впишется в нее. Личность имеет большое значение, и иногда она может оказаться более важной, чем сухие навыки программирования. Какой смысл нанимать первоклассного разработчика, если он или она не ладит с командой? Что, если вы наймете звездного разработчика, не желающего делиться своими знаниями с остальной командой?

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

Шутки шутками, слаженная команда — это хорошо отлаженный механизм, в котором все шестеренки работают безотказно. Это хорошо для морали, это хорошо для бизнеса. Что произойдет, если вы добавите в свою команду известного разработчика Android в надежде, что он или она улучшит результат? Великие разработчики любят работать со своими коллегами, поэтому, если у вас много неопытных разработчиков, новые таланты могут не исправить ситуацию.

Да, разработчики, которые блестяще справляются со всеми тестами Android и вопросами интервью, которые вы им задаете, определенно знают, что делать, но что произойдет, если остальная часть команды не справится? Ожидаете ли вы, что ваш блестящий новый звездный разработчик будет ежедневно объяснять каждый пункт нескольким «зеленым» разработчикам? Вы ожидаете, что новый разработчик будет доволен этим? Что подумает остальная часть команды, если вы наймете кого-то, чтобы превзойти их по званию, несмотря на их кажущийся старшинство?

Вернемся к аналогии со стимпанком: одна титановая шестеренка не сделает остальную часть машины такой же прочной. Хороший разработчик, стремящийся проявить инициативу и поделиться знаниями, может помочь нескольким товарищам по команде, но не всем.

Чтобы не было ненужных трений, вам просто нужно проконсультироваться со своей командой, и от этого никуда не деться.

Будьте реалистичны и прямолинейны

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

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

Однако деньги — это еще не все .

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

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

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