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