{"id":14262,"url":"\/distributions\/14262\/click?bit=1&hash=8ff33b918bfe3f5206b0198c93dd25bdafcdc76b2eaa61d9664863bd76247e56","title":"\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u0435 \u041c\u043e\u0441\u043a\u0432\u0435 \u0438\u043d\u043d\u043e\u0432\u0430\u0446\u0438\u044e \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0434\u043e 1,5 \u043c\u043b\u043d \u0440\u0443\u0431\u043b\u0435\u0439","buttonText":"\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435","imageUuid":"726c984a-5b07-5c75-81f7-6664571134e6"}

Тестовые задания в ИТ – пережиток прошлого или важный этап отбора? Часть 2

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

Чем заменить тестовое задание

  • Самое популярное, и пожалуй, самое работающее — это просто устное собеседование с техническим руководителем. За час-полтора беседы более опытный и зрелый разработчик/руководитель может составить адекватную картину сильных и слабых сторон кандидата. И на основе полученной картины принимать решение, какие слабые места можно восполнить работой на проекте именно по вашим задачам (то есть обучаясь нужным именно вам скиллам быстрее, чем вы найдете их на рынке), а с какими смириться не получится, т.к. это критически важно для вашего проекта.
  • Дайте в тестовом небольшую задачу, над которой вы реально работали в последнее время, но прямо на собеседовании, в обсуждении. Это и для вас показательнее, и кандидату будет понятно, какого рода задачи у вас могут возникать. Вы увидите какие варианты он предлагает, насколько эти варианты совпадают с вашими. Может быть, кандидат даже при наводке не видит слабых мест в своем решении или, напротив, у кандидата сразу появилось пару решений, к которым вы долго шли? В зависимости от результатов решения такого кейса гораздо легче принять решение о том, чтобы отказаться от продолжения общения или наоборот срочно брать его на работу.
  • При наличии Open Source проектов у кандидата можно изучить их. Посмотреть на код, разобрать спорные моменты, задать вопросы, почему принято то или иное решение или выбран тот или иной инструмент. У вас есть задачи по производительности? Попросите показать код, где кандидат учитывал эти моменты и какую архитектуру закладывал. Проблемы с взаимодействием API? Попросите показать релевантное решение в его проекте и обсудите. При этом код, который вы увидите, будет реальнее и правдивее того, который кандидат будет писать «на показ» для тестового.
  • Смотрите senior на крупные задачи для разработки с нуля? Расскажите ему о вашем текущем проекте и попросите рассказать, как он бы строил его с точки зрения архитектуры, дав достаточно вводных. Послушайте его рассуждения. Попросите рассказать, какие потенциальные узкие места он видит и о чем нужно подумать заранее. Не факт, что он должен решить все проблемы прямо на собеседовании, в реальном мире ему нужно будет на это время, но вы точно увидите, насколько предлагаемые решения и рассуждения совпадают с вашими.
  • Посмотрите на встрече код вашего разработчика, который находится на ступень ниже нанимаемого, попросите провести ревью. Тоже довольно показательная вещь: показывает навыки поиска ошибок и подход к предложению более оптимальных решений, и взгляды на качество кода.
  • Если у вас внутри нет достаточной экспертизы, то не стоит давать тестовое, которое для вас кто-то составил и проверять его по «правильным ответам». Разработка — не точная наука, и предложенное составителем решение может не быть неоптимальным в реальных условиях или просто допускать вариативность при достижении нужного результата. Лучше найдите эксперта, который поможет вам в процессе собеседования. Спросите у друзей, комьюнити или обратитесь в некоторые кадровые агентства, которые помогут найти такого эксперта. Например, у нас есть база топовых экспертов по разным направлениям, которые помогут вам в оценке и найме кандидата под ваши критерии. Скорее всего, в итоге выйдет даже дешевле, чем если бы вы работали по воронке с обязательным тестовым.
  • Не забывайте делиться опытом и советоваться. Прежде чем внедрять в найм психологическое тестирование, потому что у вас не срослось с двумя сотрудниками, спросите совета на рынке, в сообществах или у тех же кадровых агентств, кто регулярно занимается оценкой и наймом – скорее всего вам подскажут несколько работающих техник для проверки навыков, с которыми вы придете к желаемой цели более «экологичным» путем.

Что делать, если тестовое задание необходимо

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

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

  • Сделайте тестовое задание небольшим — на 1-2 часа максимум. Такое время кандидату гораздо проще выделить, а значит он с большей вероятностью согласится его сделать.
  • Приблизьте содержание задания к боевым задачам. Вы сможете оценить, насколько решения кандидата близки к тем, c которыми придется работать.
  • Альтернатива предыдущему пункту: дайте нестандартную, интересную задачу, которой можно будет зацепить кандидата. При этом не забывайте, что вам нужно будет как-то оценить решение и сделать вывод, нужен ли вам такой соискатель или нет.
  • Давайте тестовое только после общения с непосредственным руководителем. До этого момента кандидат минимально заинтересован в том, чтобы вкладывать усилия, ведь он не знает что его ждет внутри компании.

Мнение большинства кандидатов на рынке звучит примерно так: «Никогда не буду делать тестовое ДО общения с руководителем, так как для меня важнее всего понять, сойдемся ли мы с ним. Зачем тратить время на тест, если мне человек не понравится или у нас разные подходы и цели?»

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

«Мы в FriFlex все этапы собеседований проводим онлайн. Тестовые задания даем обычно прямо на собеседовании. Предварительно готовим для кандидата задачи (часто в coderpad.io), и он решает их в режиме онлайн, по ходу общаемся и модифицируем задачи. Обычно после такого теста становится понятен уровень кандидата».

Николай Соловей, Руководитель проектов, FriFlex

Итоги

Чем тестовое осложняет найм:

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

Какие альтернативы тестовому заданию существуют:

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

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

0
121 комментарий
Написать комментарий...
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
7 комментариев
Denis Ulyanov

Ну вместо 1 тестового задания я могу сходить на другие собесы.
И вообще, компания потратила 5 минут на копирование и отправку тестового задания, а взамен требует что бы ты потратил 2 дня. С самого начала компания ведет себя неадекватно по отношению к кандидатам, зачем с ней дальше работать?

Ответить
Развернуть ветку
1 комментарий
Евгений Мирошниченко

Фиг знает.
1. Насчет интереса. Я задания делал не потому что они такие интересные (что там интересного-то, лол), а потому что хотел на работу устроиться.
2. И насчет времени. Лично мне есть куда потратить время, дофига куда.
Я в принципе был готов потратить время на тестовое задание, но не потому что мне нечего делать, а потому что "фиг с ним, потрачу время на это задание, но честно предпочел бы потратить на что-то другое".
Время на них тратил не потому, что время мне некуда девать, а потому что рассматривал это как возможную мини-инвестицию, что ли.

И кстати мой опыт в плане тестовых заданий негативный.

"Почему все с этим временем носятся как с торбой? Камон ребята, куда вы его утилизируете потом?"
А вам реально настолько некуда время девать, и вы сидите с ума сходите от безделья? ;-)
Если у человека есть хобби, увлечения, девушка, друзья, жена, дети, семья и прочее - вопрос "куда же мне утилизировать время" не возникает ;-)
Скорее вопрос - где бы найти дополнительное время.
У вас настолько пустая и никчемная жизнь, что нужен дядя, который хоть как-то ее наполнит смыслом? Без обид.
"Я сколько раз делал тестовые всегда интересно".
Это тоже крайне странная точка зрения - относиться к заданиям "ой какое интересно задание, дай-ка я его сделаю. Из интереса, лол".
Лично у меня своих интересных идей наверное на сто лет вперед есть, которые было бы крайне интересно сделать.
У вас настолько все прямо по нулям в плане интересных личных проектов?
Могу накидать идей, бесплатно, на сто лет вперед хватит.

Ответить
Развернуть ветку
4 комментария
Борат Язь

Прилетает тебе такое. Твоя оценка времени выполнения и готов ли сделать бесплатно в своё свободное время? И это одно из двух. Там ещё и второе было, но там просто SQL запрос хитрый.

Problem #1:
Given:
System A generates messages (simple strings) in random way. That system may generate N messages per second and then be idle for hours. Every message has its own priority.
System B can process messages in some way, e.g. by sending them to stdout/console. Message processing logic is very slow, it is limited by 1 message/second.

Problem definition:
Implement mentioned program logic (systems A and B).
The implementation of the system A should generate messages. The implementation of the System B should receive generated messages and process them (e.g. send to stdout) with the mentioned performance limitation.
Processing should be priority based - messages with higher priority must be processed first
No messages generated by the System A can be lost, all messages should be processed according to their priority

Implementation limitations:
Use only native Java v6+ API
Do not use any external software and database servers
Do not use any external open source frameworks, all program routines should be implemented by the candidate

Additional statements:
Usage of Maven & Gradle is optional
Usage of any DI framework is optional

Problem #2:
Additional complicated problem definition.
Implement the Problem #1 with the following additional requirements:
The number of System B instances varies (>1)
Every B instance should receive all messages generated by the System A

Ответить
Развернуть ветку
15 комментариев
Зубная паста

зависит от размера компании.
Вряд ли код из тестового задания крупная контора будет запихивать себе))

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

Ответить
Развернуть ветку
Anetta

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

Ответить
Развернуть ветку
Mikhail

Походу ты джун, раз еще их делаешь.

Ответить
Развернуть ветку
1 комментарий
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
6 комментариев
Killer

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

Ответить
Развернуть ветку
Friflex
Автор

Согласны! У нас есть пару исключений: стажеры и ML-собеседование
В остальных случаях, кроме теории, опыта и открытых проектов используем coderpad.io для live-coding задач

Ответить
Развернуть ветку
19 комментариев
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
9 комментариев
Daniil Gladchenko

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
1 комментарий
Gene Semerenko

Моё мнение: с подходом к канидидату как к рабу-мартышке,
готовой прыгать и танцевать, за часто фантомные, обещания "работы" в IT
пора заканчивать. Пора понять, что в деле найма - две равноправные, 
договаривающиеся стороны.
Работодателям всё сложнее найти специалистов.
В тоже время у IT-специалистов, всё шире выбор для приложения сил.
На дворе: уделёнка и дефицит специалистов, в том числе за рубежом.

p.s. livecoding  - тот ещё бред, teamlead в состоянии оценить кандидата по примерам и беседе. Понятно, что компании, пытаются экономить таким образом время сотрудников проводящих собеседование. Ну удачи им.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
4 комментария
Зубная паста

Самое обмудское это решать задачи на листочке - напиши алгоритм, напиши sql запрос, напиши js код для перетаскивания объекта, напиши то сё. бред

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
1 комментарий
danil nik

ну могут еще дать подозрительной липкости ноут с виндой, и попросить там написать какой-то код) Про js не знаю, но на пыху/go было когда-то. Но вообще такое бывает, когда на джуна/мидла собесишься, когда на сеньора и выше уже просто разговор за жизнь идет и всякая балабольня про паттерны)

Ответить
Развернуть ветку
Pavel Rusanov

А ещё докапываться, что методы api с ошибками написал. 

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Artem Dronik

Я дизайнер интерфейсов и за свою карьеру сделал не одно тестовое задание. Самое длительное тестовое заняло у меня 15 часов (сложный проект на VR, в хотелках было много, а мне самому хотелось сделать что-то эдакое).

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

С другой стороны я сталкивался с ситуациями, когда ты выполняешь тестовое, отправляешь, а тебе приходит отказ без объяснения причины или по каким-то сторонним причинам, не связанным с выполнением тестового. Обидно, ведь так чаще и происходит.
Был случай, когда мне дали тестовое, хотя из общения с руководителем подразделения куда я пытался попасть, уже было понятно, что он не очень то заинтересован в моей кандидатуре (было ощущение, что они уже нашли кандидата, а меня тестировали просто для пополнения списка).

К себе в отдел я собеседую дизайнеров без тестового, просто по портфолио и интервью.

Итого: по моему мнению, если и давать тестовое, то оно будет короткое и только для шорт листа отобранных кандидатов.

Ответить
Развернуть ветку
Vladislav

Все просто, вакансии, подразумевающие многоэтапные собеседования и тестовые задания, не проходят первичный фильтр.
Последний опыт (успешный, с принятым оффером) - 2 интервью:
1 созвон на ~ час с сеньор разработчиком, обсуждение проектов и их технических деталей.
2 беседа с тех лидом проекта, чуть-чуть лайв кодинга (о чем заранее предупредили, писал код в моей настроенной ИДЕ), даже менее часа.
Не вижу смысла тратить свое время на избыточные тестовые/ интервью, если на рынке есть компании, что готовы хайрить и без них.
Призываю и других уважать себя и ценить свое время и время компании.
Мимо Java dev

Ответить
Развернуть ветку
Victor

Основная проблема тестовых заданий особенно приближенных к реальным задачам - это ‘пахнет’ бесплатным сбором идей. И предложение перенести ‘обсуждение’ на этап собеседования просто оттягивает это.

Ответить
Развернуть ветку
Slipknot Reality

Так да. Жиза. Тестовые задания это для компашек ,которые выезжают на студентах

Ответить
Развернуть ветку
1 комментарий
Evil Pechenka

Как-то давно давал платные тестовые задания. Результат: 6 человек просто исчезли не закончив, 1 сделал какую-то невнятную хрень, 1 сделал всё по красоте — дружим и сотрудничаем уже больше 10 лет.

Не так уж и плохо. 🤷‍♀️

Ответить
Развернуть ветку
Friflex
Автор

Хорошая конверсия)👍🚀

Ответить
Развернуть ветку
Миша Магадан

Оплата вперёд?

Ответить
Развернуть ветку
1 комментарий
Никита Алексеевич

Небольшой момент из жизни.

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

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

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
3 комментария
Никита Алексеевич

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

Ответить
Развернуть ветку
1 комментарий
Kelerius

У меня такой знакомый тоже был - когда был разрабом говорил,что работодатели мудаки и рассказывал как он их "обманывал" (типа списывал часы ).
Как стал техдиром - программисты мудаки и не работают!

Вот как меняется классовое сознание))

Ответить
Развернуть ветку
Александр Богачёв

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

Ответить
Развернуть ветку
Дмитрий Малахов

Очень часто наоборот - его используют для входного контроля.

Ответить
Развернуть ветку
2 комментария
Boris Zyryanov

Приходит челик, на словах лев Толстой, на деле вроде тоже, его спрашиваешь — «Чувак, дай код поглядеть?». А он такой, мол нету у меня ничего и что делать? Вдруг он упоротый и стандарты ЯП не соблюдает?
Кстати, каждый 3 предлагает посмотреть текущий проект надо которым трудится и который, ну чиста так теоретически, должен быть под NDA. Рукалицо.
В общем, когда у чувака 5-10 лет опыта, а показать нечего (хотя бы для того, чтоб показать не как будет код писать, когда дедлайн завтра, а как умеет и как надо) это не такой уж нечастый случай. И тому есть причины — время — фреймворки/библиотеки устаревают, стандарты меняются и т.п.
А все ваши coderpad.io вещи странные. Мне не нужно знать как чувак сортировки пишет, делает FizzBuzz и занимается прочей тактической хренотенью, мне надо знать как чувак будет писать приложуху и в какую сторону программировать.

Ответить
Развернуть ветку
Killer

Для этого достаточно попросить решить интегральное уравнение.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Friflex
Автор

Коллеги, поделитесь вашим опытом собеседований 🐼

Ответить
Развернуть ветку
Anetta

По моему мнению без тестовых вообще никак, причем не только непосредственно в IT. Лучше сократить миллион этапов собеседований или их объем, чем не давать тестовое. Другой вопрос, что тестовое должно быть применимо к текущим задачам и, главное, небольшим. Если тестовое достаточно большое (не на 1-2 часа) или его результаты компания планирует использовать непосредственно, то выполненное тестовое должно быть оплаченным, даже если кандидат не прошёл отбор.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Жаналинов Ильяс

Мне отказывали, потом я видел свои идеи в реализации. С тех пор почти не делаю тестовые задания.

Ответить
Развернуть ветку
2 комментария

Комментарий удален модератором

Развернуть ветку
Kelerius

Пока позволяю себе не делать тестовые задания, а высылать ссылку на Гитхаб. Потому что и обычные техсобесы выматывают,а уж если еще и кодить после работы... Да еще и не в удовольствие,а вот на абстрактные задачки....
Плюс, пока тебе написали про тех.задание - тебе еще 5 человек написали. Энергетически не выгодно делать тестовые задания.
Если конечно не в гуглояндекс или на 300к\наносек.

Ответить
Развернуть ветку
118 комментариев
Раскрывать всегда