18.01.2016

Как найти правильного разработчика в стартап?

В заметке рассмотрены навыки, которые требуются от разработчика в стартап, на основе перевода оригинальной статьи: Hiring the Right Developer for Your Project.

Обсуждение профессиональных навыков на собеседованииТематическая иллюстрация, созданная ИИ.

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

Осознайте свои ожидания

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

Вот список вопросов, ответы на которые помогли мне при поиске разработчика.

Зачем я ищу разработчика в стартап?

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

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

Каков мой бюджет?

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

Каков должен быть результат?

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

Какие навыки необходимы?

Определите основные навыки, которые необходимы разработчику в вашем стартапе. А также, чего вы ожидаете от разработчика: практического опыта или теоретических знаний?

Кого вы хотите нанять?

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

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

Подготовьтесь к интервью

Следующим шагом является подготовка к интервьюированию кандидатов. Ниже я выделил несколько важных моментов, которые помогут вам в данном процессе.

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

От кандидатов запрашивайте следующую информацию:

  1. Примеры предыдущих проектов. Попросите кандидата, чтобы он включил в резюме как минимум 2-3 примера проектов из его реального опыта в данной области. Обращайте пристальное внимание на то, как развивались эти проекты и чем они закончились.
  2. Отзывы предыдущих работодателей или клиентов. Попросите кандидата, чтобы он включил в резюме отзывы работодателя или коллег с предыдущих мест работы, либо отзывы от его клиентов. А также запросите информацию о позиции и технических компетенциях рекомендующего. Например, дизайнер, рекомендующий вам Python-разработчика, скорее всего, не в курсе его компетенций в разработке программного обеспечения.

Собеседование

Теперь вы на третьем этапе – собеседование наиболее подходящих кандидатов. Но к собеседованию должны подготовиться не только кандидаты – вы должны подготовить план интервью кандидата и определить свои ожидания от собеседования.

  1. Коммуникационные навыки. Проверить технические навыки разработчика безусловно важно, но не менее важно убедиться в хороших коммуникативных навыках кандидата. Вам нужно понять, обладает ли кандидат коммуникативными навыками, которые помогут ему эффективно выполнять свою работу.
  2. Постарайтесь избегать примитивных вопросов. К примеру, в каком году была создана спецификация на язык программирования COBOL? Или какой язык программирования создал Bjarne Stroustrup? Или как назывался язык Java до того, как его назвали Java? Такие вопросы никак не помогут вам определить навыки кандидата, они лишь покажут, насколько у него хорошая память.
  3. Не фокусируйтесь на отдельных навыках. Разработчик может знать конкретную технологию очень хорошо, но при этом не пытаться изучить что-то еще. С другой стороны, он может не знать конкретной технологии, но при этом быть открытым к изучению новых технологий и языков. Попробуйте определить, к какой группе относится ваш кандидат. Задайте ему открытые вопросы, чтобы это узнать. Какие программы он изучил за последнее время? Он отслеживает новости о новых приложениях или он удовлетворен текущим инструментарием? Какая из новых программ вызывает у него особый интерес?

Пробный  проект

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

  1. Дайте вашему разработчику пробный проект и понаблюдайте за его работой над этим проектом. Вам нравится его подход к выполнению задачи? Он приступил к работе немедленно или ему нужно время, чтобы включиться в работу? Вам действительно кажется, что ему интересна ваша идея и он сделает все возможное для ее воплощения? Небольшой проект даст вам ответы на эти вопросы и поможет вам убедиться в правильности принятого решения.
  2. Решение проблем. Во время работы над пробным проектом разработчик наверняка столкнется с некоторыми техническими проблемами. И, соответственно, вам представится шанс увидеть то, как данный разработчик решает возникшие проблемы. Ему понадобилась помощь других? Он сдался или продолжил работу? Эти наблюдения помогут вам понять лучше вашего разработчика и принципы его поведения в различных ситуациях.
  3. Коммуникационные навыки. Вы уже смогли проверить коммуникационные навыки в процессе интервью, но небольшой проект покажет на практике, как ваш разработчик взаимодействует и общается с другими участниками команды. Насколько он вежливый и социализированный. Есть ли у него лидерские задатки в командной работе или он больше ведомый.

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