Как Foursquare ищет идеальный процесс собеседования с разработчиками

13 комментариев
Как Foursquare ищет идеальный процесс собеседования с разработчиками
Ещё год назад Foursquare проводил самые обычные интервью. Но изъяны этого процесса не давали компании покоя, и она начала эксперименты для самого эффективного отбора разработчиков в свою команду. О том, как это происходило, они рассказали в своём блоге.

Читать далее

Основатели Foursquare Деннис Кроули и Навин Селвадураи. Фото: hbr.org.

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

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

Новый подход

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

  1. Вопрос по разработке с несложной функцией.
  2. Более сложный вопрос, который включает создание структуры данных.
  3. Небольшой проект внедрения конкретного сервиса и его ожидаемые результаты.

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

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

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

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

Что мы узнали

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

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

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

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

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

Не останавливаться на достигнутом

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

Горячие события

Конкурс EY Entrepreneur Of The Year 2020
31 мая — 31 мая

Конкурс EY Entrepreneur Of The Year 2020

ISsoft Insights 2020
6 июня — 6 июня

ISsoft Insights 2020

Минск
GoWayFest 4.0
11 июля — 11 июля

GoWayFest 4.0

Минск

Читайте также

20 вещей, которые я вынес за 20 лет в программировании
20 вещей, которые я вынес за 20 лет в программировании

20 вещей, которые я вынес за 20 лет в программировании

Программист Schibsted Алекс Эвелёф в блоге на Medium рассказал о главных правилах и принципах, которые вывел для себя за многие годы работы в ИТ. Публикуем перевод статьи.
12 комментариев
«Почему я должен делать ваше тестовое?» Инженер Wargaming о сложных собеседованиях
«Почему я должен делать ваше тестовое?» Инженер Wargaming о сложных собеседованиях

«Почему я должен делать ваше тестовое?» Инженер Wargaming о сложных собеседованиях

Glassdoor провёл исследование «Почему кандидаты отклоняют предложения о работе?»  и пришёл к выводу, что сложные собеседования увеличивают число согласий. Кандидаты с большей вероятностью (+2,6 процентных пункта) примут оффер, если усложнить интервью на 1 балл по 5-бальной системе (сложность оценивали сами кандидаты). «Более трудные собеседования дают кандидатам понять, что их ожидают новые вызовы, которые будут способствовать развитию карьеры», — делают вывод авторы.  dev.by предложил разработчикам прокомментировать тезис «повышение сложности собеседования ведёт к увеличению числа принятых сотрудников». Откликнулся Вячеслав Костиков, Director of Engineering в Wargaming Platform.
44 комментария
40 из 60+ не комментируют вообще. Узнали, как профсоюзы идут в ИТ-компании
40 из 60+ не комментируют вообще. Узнали, как профсоюзы идут в ИТ-компании

40 из 60+ не комментируют вообще. Узнали, как профсоюзы идут в ИТ-компании

Первичные профсоюзные организации, по данным ПВТ, созданы в двух десятках компаний-резидентов. «Этот процесс находится ещё в начальной стадии, но в некоторых компаниях профсоюзные организации функционируют уже давно», — рассказали dev.by в администрации Парка по итогам круглого стола с участием Федерации профсоюзов Беларуси.
35 комментариев
5 грехов разработчиков, которые стали менеджерами
5 грехов разработчиков, которые стали менеджерами

5 грехов разработчиков, которые стали менеджерами

Вжиться в новую роль менеджеру, который перешёл из рядов разработчиков, может быть непросто. Они искренне хотят как лучше, но при этом часто переносят старые привычки и методы в уже иную ситуацию, где они могут не только портить отношения в коллективе, но и подрывать процесс разработки. Dice Insights собрал 5 распространённых ошибок новоиспечённых менеджеров-экс-разработчиков.
2 комментария

Обсуждение

0

-

Егор Павловец
Егор Павловец Project and engineering manager в ITS Partner
6

Отличный вариант, я за тестовые задания, которые можно выполнить в удобное кандидату время. Собесы по принципу вопрос : ответ, весьма необъективны. Помню провалил собес по скайпу на вопросе - "У вас есть опыт использования Parse.com?" - "Нет" - "Спасибо, до свидания". И Вам до свидания, вместе с Parse.com :D :D :D А вот дали бы простое тестовое задание на интеграцию с parse.com. Так и я бы новую технологию глянул, так и они бы посмотрели мою скорость выполнения и обучаемость.. А так, пустая трата времени, что для них, что для меня.

Сергей Куделя
Сергей Куделя Director of Engineering в EIS Group
2

"Собесы по принципу вопрос : ответ, весьма необъективны"
Здесь нельзя не согласиться. Собеседования с вопросами точечными по технологиям и вовсе говорят ровно ни о чем. В стиле вопрос-ответ можно порешать задачи на структуры данных (не сложные олимпиадные задачи, а нечто относительно простое, чтобы последить за структурой мысли), порисовать доменную модель, подумать над паттернами, повыбирать и пообсуждать фреймворки и технологии в целом, без тонкостей их API.

0

Ну, если им надо был человек "вчера" и они почему-то думают, что найдут его хотя бы сегодня, и он сразу начнёт что-то делать, то может и есть смысл.
В противном случае, вам очень повезло, что не будете с ними работать. :)

Егор Павловец
Егор Павловец Project and engineering manager в ITS Partner
0

В противном случае, вам очень повезло, что не будете с ними работать. :)

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

Сергей Куделя
Сергей Куделя Director of Engineering в EIS Group
3

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

2

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

Егор Павловец
Егор Павловец Project and engineering manager в ITS Partner
3

Прост не все компании способны придумать тестовое задание адекватное, ведь чтобы сделать такое задание, нужно самим обладать запредельной экспертизой. Вот у tut.by была вакансия с зп на 15% ниже рыночной, но с тестовым заданием, когда я искал работу, с удовольствием сделал их тестовое задание, т.к. оно было мне интересным и позволило мне проверить (через этакий хакатон - вот спека, 2 дня на выполнение, смогу ли я?) свой уровень. Надо отдать должное, в tut.by серьезно потрудились над тестовым заданием.

2

Просто тестовое задание должно быть оплачиваемым.

0

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

0

это называется испытательный срок

0

За сеньоров говорят их работы, в отличии от джуниоров.

0

"3. Небольшой проект внедрения конкретного сервиса и его ожидаемые результаты"
Оригинал
"3. A short design doc (less than a page) on how to implement a specific service and its endpoints."

endpoints — это не результаты :)