Собеседования для разработчиков программного обеспечения часто включают в себя домашние задания на несколько дней
В прошлом году компания с вакансией разработчика ПО предложила такой способ проверки моих способностей программиста: написать приложение по доставке заказов из вымышленного ресторана. Я была слегка шокирована. Разработка такого приложения с нуля требует существенного времени, а домашнее задание не оплачивается.
После долгой работы на выходных я так измоталась, что сдалась. Я сказала, что вакансия мне не интересна, но в реальности меня встревожил сам метод подобного собеседования.
Я спросила у знакомых, давали ли кому-то ещё домашние задания. И я оказалась не одинока. По всей стране разработчики столкнулись с этой практикой. Люди тратят от нескольких часов до более трёх дней, выполняя неоплачиваемые задания. В выступлении на PyCon в прошлом году разработчик Сьюзан Тан сказала, что потратила 32 часа на домашнее задание, а в итоге её всё равно не взяли, потому что в программе отсутствовала функция, даже не указанная в первоначальных требованиях. Она говорит, что обычно вообще не получала никаких откликов после выполнения работы — типичная проблема среди опрошенных разработчиков. Эрик Уменхофер из Кремниевой долины столкнулся с тестами, которые требовали полных трёх дней работы.
«В районе залива [Bay Area] к этому уже привыкли, — сказал он. — Когда одна компания начинает применять такую практику, другие замечают это и следуют примеру».
Как домашнее задание стало частью IT-собеседования
Для первой полноценной работы в 2010 году я прошла шестичасовое неструктурированное интервью [интервью, в котором словесная форма вопросов и сам порядок вопросов не планируются заранее — прим. пер.]. Как было принято в IT-отрасли в то время, я побеседовала с каждым членом команды о своём опыте и навыках. Некоторые из них подготовили вопросы, другие — нет.
Многочисленные исследования показывают, что подобные интервью являются потенциальным источником предвзятости и не дают точной оценки кандидатов.
Позже IT-индустрия предложила иные формы тестирования для проверки навыков, в том числе чтобы избежать такой предвзятости. Это в том числе собеседование с использованием доски (whiteboarding), где кандидату предлагают изложить решение для какой-нибудь головоломки, вроде алгоритма для последовательности первых 25-ти простых чисел.
Такой подход тоже был принят в штыки: критики говорили, что эти тесты не похожи на обычную работу большинства программистов. Затем самый известный сторонник таких головоломок Google признал: даже собственные исследования не выявили существенной корреляции решения головоломок со способностями кандидата. Тесты с доской похоронили.
В этом вакууме возникли «домашние задания», где разработчикам дают решать актуальные проблемы в комфортной домашней обстановке на собственных компьютерах.
Проблема с домашним заданием на собеседованиях
Несколько дней бесплатной работы как часть приёма на работу — неудобство для всех, но это требование может усугубить предвзятость против тех групп, которые и так недостаточно представлены в области технологий, таких как женщины. Женщины у нас в стране по-прежнему выполняют бóльшую часть домашней работы по уходу за детьми, что оставляет им гораздо меньше свободного времени для выполнения таких тестов. Как сказала мне разработчик программного обеспечения Габриэла Войку, у многих женщин нет времени на «программистские задания с непонятным исходом, которые неизвестно, принесут ли пользу». Её особенно раздражало то, что некоторые компании преподносят такие задачи как способ устранения дискриминации и более справедливого процесса найма. «Если такова их цель, то это несовершенное решение», — сказала она.
Поскольку домашние задания начали предлагать относительно недавно, пока нет исследований, которые сравнивают их эффективность с другими методами найма. Но некоторые HR-менеджеры утверждают, что можно оценить способности программистов без таких затрат времени.
Пит Холидей, менеджер по разработке CallRail в Атланте, раздавал домашние задания в процессе собеседований, но впоследствии понял, что так отпадают хорошие кандидаты. Некоторые говорили, что у них нет времени на домашнюю работу. Другие, возможно, даже не дошли до этой стадии. «Простое собеседование в офисе даёт больший охват, — говорит Холидей. — Вы не рассчитываете, что у них будет время или есть дома компьютер. Есть кандидаты с больными родственниками, родители-одиночки. Без домашних заданий можно расширить охват».
Холидей также заметил, что некоторые кандидаты оказались незнакомы с конкретным фреймворком, который им предлагался для задачи, но явно были способны его изучить.
Компания Холидея теперь использует структурированный формат «интервью с программированием в прямом эфире», который включает совместный аудит кода и его обсуждение. Обычно процесс занимает от 30 минут до часа.
Алистер Дэвидсон, технический архитектор из Лондона, говорит, что его компания сделала такой же выбор, когда узнала, что выполнение предложенного ими «маленького» домашнего задания заняло у кандидата 16 часов. «[Интервью в прямом эфире] даёт лучшее представление, каково работать рядом с человеком и решать проблему вместе с ним», — сказал он.
В то же время многие разработчики, особенно более высокого уровня, начинают просто отвечать «Нет, спасибо» на предложение выполнить домашнее задание. И я так же поступлю, когда снова окажусь на рынке труда.