Делать или не делать? — вот в чём вопрос. Он возникает каждый раз, когда для устройства на работу нужно выполнить тестовое. Особенно если есть другие неизвестные: подходит ли мне проект, компания, зарплата? Хочу ли я вообще эту должность?

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

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



Зачем нужны тестовые. За и против


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



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

В 99% случаев без тестового задания никак. Его выполнение не гарантирует, что кандидат подойдёт на должность, но хотя бы отсеивает тех, кто не способен справиться даже с простыми задачами.

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

Иногда работодатели дают тестовые всем подряд как часть обязательного «вступительного» процесса», иногда — в особых случаях. Например, если до последнего сомневаются в кандидате.

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

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

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

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

Какой объём тестового задания допустим для разработчиков


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

Но если большие тестовые встречаются на каждом шагу, то про оплату — нет, не слышали. Компании разного уровня удивляют кандидатов масштабными тестовыми, на которые уходит от нескольких часов до двух недель. Иногда требуется изучить дополнительную литературу или непривычный стек. Причём прямая закономерность между крутостью компании и размером тестового не всегда прослеживается. Окей, Гугл, которому нужно отсеять сотни тысяч желающих попасть на интервью. Но откуда у неизвестных никому небольших компаний такое ЧСВ, остаётся необъяснимым.

По одной из вакансий мне выдали тестовое задание, которое включало в себя полную разработку рабочего кейса «до послезавтра». Всё бы ничего, но для решения одной из задач предлагали прочитать книгу в 120 страниц (и ещё три задания). Всё омрачилось лишь тем, что я эти два дня работал. И тут я задумался, то ли я так плох, то ли вакансия эта для безработных.

Для некоторых разработчиков выполнение тестовых в корне неприемлемо. Они считают, что резюме, портфолио и подробных интервью достаточно, и безжалостно реджектят вакансии с тестовыми. По данным SuperJob, так поступает каждый пятый программист. Большинство согласны выполнять тестовое задание, особенно объёмное, только для компаний, куда мечтают попасть.

Тестовое для джунов


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

Из-за отсутствия опыта и реализованных проектов джуны соглашаются на объёмные тестовые задания длительностью до нескольких дней. Здесь стоит следить, чтобы срок был гибким и адекватным. У студентов может быть очень насыщенный график, но даже безработному едва ли хватит пары дней, чтобы написать аппку с нуля. Либо тестовое будет выполнено неряшливо, либо кандидат не справится в срок. И то и другое, не устроит работодателя. Так что лучше трезво оценить своё время и понять, есть ли смысл сражаться с масштабным тестовым или посмотреть вакансии дальше.

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

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

Тестовое для мидлов


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


У этих ребят и уверенность в себе и процент отказа от тестовых гораздо выше. Они знают себе цену и не мотивированы работать бесплатно, зато не прочь поиграть хардскилами в pair programming. Если тестовое необходимо, то работодатель либо идёт лесом, либо запрашивается оплата.

Если оплата не согласована, то смотрите первый вариант. Всё бы ничего, но иногда случаются факапы: компании соглашаются на оплату, но после получения решения притворяются без вести пропавшими.

Несколько месяцев назад постучалась ко мне в Линкедин одна контора из Израиля. С упоротым тестовым заданием за него обещали заплатить, но… ДО СИХ ПОР никто не заплатил ничего!

Кстати, суть задания: сделать аппку под ведрофоны, которая будет довольно точно считать этажи во время движения юзера в любом рандомном здании в фоновом режиме + сделать документацию, тесты на каждый чих, оформить мои мысли в небольшую статью.(!)

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

Здесь стоит сделать оговорку. Т.к. понятие middle очень размытое, вариативность в навыках и ЧСВ может быть огромной. Если вы «начинающий мидл» и не можете похвастаться большим портфолио, возможно, выполнение тестового станет логичной возможностью продемонстировать умения, как и в случае с джунами.

Тестовое для сеньоров


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

Бывает, что Senior-разработчика нанимают не для кодинга, а для отлаживания сложных процессов. Может ли тестовое задание в полной мере проверить эти качества? Вряд ли.

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

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

У меня в работодателях были Microsoft и Сбербанк. И оба на этапе найма не удовольствовались резюме, давали тестовые задания. И что послать их как неадекватных? Тут надо смотреть на риск/доходность, как в инвестициях.

Скажу об опыте, который можно назвать эталонным, сколько длится задание у мировых топов. Работодатель — Microsoft European Dev Center, Ireland. Тестовое задание было на 2 дня работы, если вылизывать и вылизывать. Не так чтобы оч сложное, но с подковырками. Через неделю пришёл контракт с авиабилетом впридачу.

Что общего между тестовыми и сексом?


Все делают это.

Для многих и то и другое, неприемлемо на «первом свидании». Разработчики не хотят выполнять тестовые задания до интервью. Какой смысл тратить личное время, когда ещё ничего не знаешь о компании? Разве что речь не о Гугл. Тем не менее некоторые компании тестовыми проверяют мотивацию работать именно у них и отсеивают кандидатов для экономии времени на личное интервью. Это понятно для компаний с мировым именем, но для ноунеймов такая стратегия приведёт разве что к найму тех, кому отказали все остальные.


Более логичной видится цепочка: ознакомление с резюме, портфолио, личное интервью. В большинстве случаев на техническом интервью можно понять, подходит человек или нет. Тогда необходимость в тестовом отпадёт. Если она всё же есть, кандидат уже сформирует своё представление и будет мотивирован выполнять ДЗ.

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

И ещё раз о размере, который имеет значение.

Я скорее всего, откажусь от вакансии, если тестовое задание займёт более чем 3 часов моего времени. На мой взгляд, бесплатное тестовое не должно занимать больше 1-2 вечеров по 2-3 часа, а также должно нести какой-то вызов, быть интересным.
Самое большое тз, что мне приходилось видеть пока—- неделя (Gameloft), но говорят на некоторые позиции есть и по 2 недели :)

Опыт иных разработчиков вообще опровергает тот факт, что тестовое имеет хоть какой-то смысл. Автор статьи заметил, что «ни одного случая найма с тестовым заданием не было успешным ни для какой стороны — ни для меня, ни для работодателя», и как ни парадоксально, выполнение тестовых отвлекает от основной задачи — устройства на работу.

Поскольку число вакансий с заданиями — не более 10% от общего числа, имеет смысл даже стратегия невыполнения их! Однако я к этому не призываю: иногда задания выполнять стоит из «любви к искусству», но при этом (парадокс!) можно не рассчитывать на успешный приём, т.е. делать их следует не ради приёма на работу.

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

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

Что по закону


Этот раздел порадует радикальных тестоненавистников. Дело в том, что по российскому трудовому законодательству, выполнение тестового задания можно приравнять к трудовым отношениям. А любые трудовые отношения должны быть оплачены, иначе — штраф, cтыд и скрам.

Тестовое задание без трудового договора — это сразу ст.5.27. КоАП РФ.

Соответственно, 30-50 тыс. рублей за первое, и 50-70 тыс. рублей за каждое последующее нарушение для работодателя. Если работодатель отказывается признавать трудовые отношения, то ещё:50-100 тыс. рублей для работодателя, 100-200 тыс. рублей за повтор;3-5 тыс. рублей для конкретного работника, который выдал тестовое задание, 5-7 тыс. рублей за повтор.

Невыплата зарплаты за тестовое задание — 30-50 тыс. рублей, 50-100 тыс. рублей за повтор.

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

Однако есть противоречивые мнения насчёт такого подхода.

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

Я вот могу не давать тестовые, а брать сразу на испытательный. Но тогда так: если вижу в первую неделю-другую, что чел не тащит — досвидос. Разумеется, всё по-белому и по ТК, без каких-либо сюрпризов.

И всё же этот вариант мне кажется слишком жёстким: да, даём человеку оклад и всё такое, но в случае если он не тащит, он оказывается безработным в одночасье (тогда как сы его с какой-то работы «сдёрнули» — и обратно ему не вернуться).

Лучше (повторюсь: если есть сомнения) пусть он потратит сколько-то часов, зато в случае фейла останется при своём старом месте работы (особенно если платит ипотечный кредит).

Тестовые невыгодны работодателю, просто он об этом не знает


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

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

Как-то во время собеседования у меня не спрашивали ни одного вопроса по Spring, потому что «из моего решения было очевидно, что у меня большой опыт с этим фреймворком». На тот момент мой опыт со Spring состоял из 2 просмотренных видосиков и проекта длиной в 3 дня.

Напомню, что сам факт наличия тестового уже сильно ограничивает выбор работодателя: на 20% тех, кто никогда не делает тестовые, плюс на львиную долю людей, которые не захотят сделать конкретное тестовое или не будут иметь времени/возможности сделать его в конкретный момент.

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

Тут посчитали, что при наличии тестового задания, на найм сотрудника работодатель тратит практически вдвое больше времени (читай, денег).

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


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

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

Это вряд ли повсеместная проблема, но среди соискателей обязательно найдутся весёлые и находчивые, которые захотят поиздеваться над работодателем. Возьмут тестовое и начнут кормить завтраками, отнимая время у рекрутера.

«Экологичные» тестовые


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

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

  1. Лайвкодинг. Сразу видно, как кандидат соображает и ведёт себя в «естественной среде обитания». Можно давать подсказки и видеть, как разработчик исправляет ошибки. Ведь прав не тот, кто не ошибается, а тот, кто может гибко и бесконфликтно перестроиться. Лайвкодинг может пугать разработчиков-интровертов, зато сильно экономит время и даёт работодателю участвовать в процессе. Увеличивается шанс не упустить хорошего кандидата, даже если тот допустил ошибку.
  2. Собеседование с техлидом. Просто дайте кандидату время побеседовать с техлидом — и они найдут общий язык. Опытный разработчик знает, что спросить, и быстро выявит сильные и слабые стороны кандидата, а также составит представление, насколько комфортно им будет работать в команде. Час беседы с техлидом заменяет объёмное тестовое и закрывает большинство вопросов по компетенциям.
  3. Небольшая задача на собеседовании. Правила те же: задача должна быть максимально приближена к реальным, вместо того чтобы проверять эрудицию кандидата или сдувать пыль с университетских знаний. Интересен тут не столько верный ответ, сколько логика решения. Даже если кандидат допустит ошибку, в обсуждении её можно обнаружить и предложить варианты исправления. Работодатель же сможет оценить, насколько логика мышления кандидата подходит проекту и команде.
  4. Open Source проекты в портфолио. Вместо того чтобы разбирать коды, специально созданные для тестового, почему бы не разобрать реальные коды, которые пишет разработчик? При необходимости можно задать вопросы и обсудить спорные моменты. Почему выбран этот инструмент и такая архитектура, что можно улучшить? Если кандидату уже доводилось решать задачи, аналогичные задачам нанимателя, стоит обсудить их и наглядно увидеть, какие конкретно решения он принимал в реальных проектах.
  5. Код ревью. Оценка кода другого разработчика хорошо показывает аналитические навыки, способность кандидата замечать ошибки и предлагать решения. По тому, как специалист проводит код ревью, будет видно, на что обращает внимание он сам и умеет генерить нетривиальные идеи.

Вывод


Позвольте завершить статью ультимативным выводом, уже сделанным одним из хабровчан.

Вывод: (софизм) тестовое задание объёмом более дня с основной целью (поступления на работу) выполнять невыгодно.

Чтобы подытожить всё вышесказанное, разработчиков стоит разделить условно на 3 группы:

  • те, кто не выполнит тестовое ни при каких обстоятельствах;
  • те, кто готовы потратить на тестовое пару-тройку часов;
  • те, кого не пугают тестовые от нескольких дней до 1 – 2 недель, но при условии, что тестовое интересное и выполняется в «компанию мечты».

Опыт разработчиков показывает, что между выполнением тестового и трудоустройством вообще нет прямой связи, а трата времени на тестовое отвлекает от реальной задачи — поиска работы.

У вас наверняка есть свой опыт и личное мнение о тестовых. Без них исследование будет неполным, так что не держите при себе — оставляйте в комментариях.

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

Следуйте за белым кроликом, кликнув на картинку ниже????

Комментарии (59)


  1. nekit-0123
    11.03.2022 15:40
    +17

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


    1. euhoo
      11.03.2022 19:08
      +4

      еще хуже, когда работадатель просто пропадает. особенно, когда тестовое было довольно интересно


      1. Aleksandr-JS-Developer
        11.03.2022 21:26
        +4

        Ещё хуже, если видно, что тестовое - это просто кусок, грубо и не качественно вырезанный из контекста проекта. Сразу создаётся впечатление, что тебя тупо и не прикрыто хотят отпрезервативить


        1. alexshipin
          12.03.2022 14:13

          Ещё хуже, когда тестовое - часть их текущего проекта, на выполнение которого дают 2 дня до вчера и изучение новой библиотеки (или языка) с нуля. Его посмотрят (спустя десять тыканий палкой в HR), скажут, что код-style не подходит их код-style (а примера их стиля ты не получишь), и на этой почве откажут пустым "Вы нам не подходите", а оплату, которую мы обещали при любом выполнении, вы не получите ("Скажите спасибо, что это вы нам не платите" (с) реальный ответ HR на вопрос об обещанном вознаграждении. прим.: суд, все дела).


  1. ifilonov
    11.03.2022 16:14
    +1

    Не хватает варианта вроде «1-2 часа на все возможные тестовые в некоторый период вроде полугода». Хотя по результату выполнения за все время где-то 5-6 тестовых каждый раз все заканчивалось плохо — от молчаливой неявки на дальнейшее собеседование кого-бы то ни было от фирмешки с выключенными телефонами до «чудесного» менеджера из abbyy, недавно втиравшего как плохо регулярно менять работу (без объяснения почему).
    Можно, конечно, признать, что 5-6 — ни разу не валидная выборка, но я как-то лучше признаю любое оффлайновое тестовое признаком компании, с которой дел иметь не стоит.


  1. panzerfaust
    11.03.2022 16:36

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

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

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


  1. DrPass
    11.03.2022 17:22
    +6

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

    Миддлам и сеньорам не даю, и так на беседе можно понять, что человек умеет, с чем работал.


    1. sovaz1997
      12.03.2022 00:01
      +2

      Не проще тогда на собесе спросить за код с гитхаба?)


      1. derwin
        12.03.2022 08:48

        у меня гитхаб с 2008 года. В 2020м меня реально спросили на собесе за код из 2010го. Я удивился и дал понять, что за 10 лет мои навыки изменились. Но после такого вопроса, понял, что этот работодатель сильно опустился в моих глазах.

        Старые проекты стараюсь удалять с гитхаба.


  1. amarao
    11.03.2022 17:43
    +8

    Я знаю два подхода:

    • тестовые задания, для которых члены команды сделали решение < 10 минут. Эти задания высылаются до первого технического собеседования и ставят своей целью фильтрацию людей, которые натыкали в CV умных слов по списку.

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

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

    Если же кто-то из второго пытается сделать первое - извините, так не надо.


    1. ildarin
      12.03.2022 12:40
      -4

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

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

      Но, с другой стороны, тестовые задания очень помогают экономить время. Можно не тратить N часов на собеседование. Да и выгодно выделяют компании, в которых основа бизнеса - взаимное доверие и уважение. Так что я всеми руками "за" тестовые задания на уровне описания вакансии.


      1. amarao
        12.03.2022 12:51
        -1

        Насчёт тестового задания вы частично правы. Есть два метода появления CV от кандидата:

        • Кто-то кого-то пытается схайрить и просит прислать CV после начальных обсуждений возможности этого. В этой ситуации присылать тестовое задание - неуважение.

        • Кто-то откликается на размещённую вакансию на сайте. В этой ситуации простое тестовое задание до собеседования - вполне разумное действие. Во-первых кандидат увидит стек технологий (на php? Для админа? Спасибо, не надо - и обе стороны сэкономили время). Во-вторых это отсеивает случайных откликающихся.

        Т.е. весь вопрос в персонализированности подхода.


        1. ildarin
          12.03.2022 13:30
          -1

          Опросник, linkedin, информация в рекрутенговом агенстве, геймификацированный тест, оценка резюме, рекомендации от предыдущих работодателей. Если черным по белому в вакансии написан стек, тип задач и другая (важная) информация - смотреть описание вакансии через тестовое задание, что?

          Тестовое задание - это дешевый и неэффективный HR инструмент, по сравнению с большинством применяемых на рынке. И опросник - чуть дороже, но из той же категории автоматических на стороне кандидата. И новый сотрудник будет отражением того инструмента, по которому он был нанят. Хотите честного, уважительного и трудолюбивого сотрудника - постарайтесь проявить те же качества. Как правило, лучшие из лучших в любой из компетенций, от джуна до системного аналитика между "привет чел. Го к нам кодить, пообщаемся, раскажешь о себе, мы о себе" и "заполните анкету, справку о доходах с предыдущего места работы, разработайте crm на php" будет выбирать только если сможет выбирать. В каком случае больше вероятность нанять отчаявшегося найти хоть какую-то работу кандидата? Которому хоть куда нибудь, лишь бы денег давали? Может, я и не прав, ибо уверен я лишь в том, что я ошибаюсь. Но не знаю в чем.


          1. amarao
            12.03.2022 13:46
            +1

            Вы игнорируете, что я говорил. "геймифицированный тест" - это как "страуберри порридж" вместо "каша с малиной". Тестовое задание - это либо изолированный кусок продакшена (работа над которым оплачивается по предполагаемой зарплате), либо 10-минутное упражнение, которое занимает меньше времени, чем обновление резюме.

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

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

            • жжёте ресурсы команды, которые не бесконечные.

            • начинаете строить забор из "hr, нам такие не нужны" (и что тут hr сделает? Начнёт формализмами фильтровать).

            Вместо этого, схема с 10-минутным тестовым заданием автоматически отфильтровывает людей, у которых в резюме написана а) неправда б) они не могут подучить.

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

            Те, кто слился с тз или прислал ахинею (п. а) просто отсеиваются за котороткое время, потому что время ревью тестового задания - 2-5 минут одного члена команды.

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

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


            1. ildarin
              12.03.2022 14:37

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

              Не игнорирую, недостаточно раскрыта терминология. Тестовое задание (как я это понимаю) - это работа. Маленькая, незначительная. Но работа. Которую нужно выполнить. Такая, какую, скорее всего, нужно будет делать за деньги. С четким результатом этой работы. Для программиста - это программа. Или исходный код программы. Или формальное описание технического решения, тогда это работа системного аналитика. Если у Вас другое понимание - то оно расходится с общепринятым. У меня нет субъективного придания значимости этому инструменту, я пишу как есть. Плевок в лицо кандидату может и хорошо, если требуется максимально непретенциозный контингент.

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

              Х - квалификация. Допустим, нам нужен крепкий системный аналитик. По курсу ЦБ - 2 380.95 в среднем стоит час его внимания.

              Компания 1: Тестовое задание. Издержки (каждого) кандидата: 1/6 * 2380 = 400р. Квалификация хоть чуть ниже решаемой задачи даже не рассматриваются. Издержки компании: 10р. (Допустим, написать "Сделайте пузырьковую сортировку без использования if на python") + 2380р. * (время проверки) системного аналитика, на проверку, на каждого кандидата.

              Компания 2: Опросник, на 1/12 ч. Издержки (каждого) кандидата: 10-100р (столько платят за прохождение одного опросника, квалификация не важна, любой может тыкнуть галочку). Причем, чем выше квалификация - тем меньше времени займет опросник, в экспоненциальной прогрессии. Т.к. тыкнуть мышкой 1 раз - можно 300 раз секунду.

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

              Пример: "Где лучше применять утиную типизацию?"

              1. В python, благодаря множественному наследованию.

              2. Если это выглядит как утка, плавает как утка и крякает как утка

              3. Там где надо - там и применяй. А где не надо - не применяй.

              4. Некорректный вопрос.


              1. amarao
                12.03.2022 14:39

                Я правильно понимаю, что в вашей логике, чем меньшее требование по квалификации, тем "дешевле" эта работа для кандидата? Если он решает умную задачу 10 минут, то это дороже, чем два часа на кассе супермаркета?


                1. ildarin
                  12.03.2022 15:16
                  +1

                  Мы не спорим, я не доказываю ничего. Не нужно нападать на мои аргументы посредством подмены понятий.

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

                  Нет, не правильно понимаете. Если вы и впрямь так думаете - что любому человеку проще 2 часа за кассой, чем 10 минут в браузере, то нет, это не так. Боюсь Вас разочаровать, но издержки в объективных величинах в мат. моделях исчисляют объективные значения, а не субъективные. Логика, - бессердечная сука)


            1. ildarin
              12.03.2022 16:15

              Короткая устная задача прямо на собеседовании, в качестве технической его части - это ок. Это оценка технических знаний. Фактическая. Но это не тестовое задание, это уже собеседование. На этом этапе бывает и по 5 мелких задач можно дать, и по 10. А можно до бесконечности давать, пока не останется самый стойкий. Я задавал тех. ревьюерам вопрос, которые могли бы охарактеризовать как технический, так и психологический профиль. Пока еще ни один не смог на этот вопрос ответить. Вопрос уровня разработчика крупного фреймворка, т.к. крудописатям спамослателям такие тонкости чужды. Но я не буду отсеивать работодателя только потому, что он не смог ответить на этот вопрос.


          1. ookami_kb
            12.03.2022 14:25

            Тестовое задание - это дешевый и неэффективный HR инструмент, по сравнению с большинством применяемых на рынке.

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

            Для нанимателя:

            • посмотреть на живой код кандидата (как минимум, что он в принципе умеет что-то писать вменяемое; как максимум – какие библиотеки и архитектурные подходы он применяет). Приходили ко мне кандидаты на сеньорскую позицию с тестовым заданием, которое просто не работало. Я не хочу работать с людьми, которые даже не проверяют работоспособность своего кода;

            • увидеть, как он реагирует на критику в code review (ведь вы же делаете code review и в реальной работе?);

            • на следующем созвоне обсудить разные подходы на конкретном примере / коде.

            Для кандидата:

            • получить фидбэк на реальный код (особенно актуально для джунов);

            • посмотреть, что обычно проверяют в компании на code review;

            • оценить, собственно, вменяемость этих code review (если вам завернут тестовое с формулировкой "у вас запятые неправильно расставлены", то надо радоваться, что вы сэкономили себе время и не устроились туда работать);

            • на следующем созвоне обсудить разные подходы на конкретном примере / коде.

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


            1. ildarin
              12.03.2022 15:24

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


              1. ookami_kb
                12.03.2022 15:29
                +3

                Да, действительно, забыл дописать еще одно преимущество: "Позволяют быстро отсеять кандидатов, для которых тестовое задание – это плевок им в лицо".


                1. ildarin
                  12.03.2022 15:58

                  Хороший юмор, но нет) Не у всех есть выбор.

                  Нравится, не нравится - без хлеба не останется.


      1. medvoodoo
        13.03.2022 11:00

        Тогда любое недостоверное резюме на ха-ха - это плевок в лицо нанимателю, удивительно, почему нам в 95% случаев приходится утираться :) Просто спокойно проходите мимо компаний, где большие тз, не воспринимайте это как плевок именно в вас. У нас задание одно для всех бек кандидатов на ~60 минут для джуна, на 15-20 для мидла и сеньера, просто имеет еще 100-500 вариантов доработки, о которых уже устно общаемся. Ну а если у человека большой портфель наработок, которые он может показать - то и тестовое задание не нужно, и так находится о чем поговорить. Но, как говорится, есть один нюанс - мы всегда спрашиваем обо всех скилах, указанных в резюме(отсюда статистика).


        1. ildarin
          13.03.2022 11:29

          Вы замечаете, как всплывают мемы, которые характеризуют социум? Я - замечаю. Двач, например. Там есть непотопляемое слово, который каждый второй повторяет. Суть проста: есть тот, кто просто говорит, а есть те, кто повторяют за ним. Повторяя, они как бы перекладывают ответственность на автора. Но нет, повторяя за Гитлером - фашист фашистом быть не перестает.

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

          В общем, я имел ввиду, что работодатель чхать хотел на кандидата, а не харкнуть)

          Но вы меня удивили, я даже и не ожидал, что это всплывет на ровном месте)


          1. medvoodoo
            13.03.2022 22:14
            -2

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


            1. ildarin
              13.03.2022 23:38
              -2

              Это не просто повод для дуэли, это основание для возбуждения статьи УК РФ! Это серьезный инцидент. Я бы не советовал никому так делать. Ответственность за подобное правонарушение грозит весьма существенная. Я не просто так же пишу, вполне могу получить ст.128.1.УК РФ. Поэтому - я еще раз повторяю, я не имел ввиду, что отправляя другому лицу тестовое задание - это означает факт передачи слюны в особо крупном размере посредством рта на расстоянии в область лица другого лица и оскорбление его этим действием. Я не утверждаю, что HR компании совершают это действие в своих корыстных целях с целью унижать программистов.

              Паста отсюда. Ничего смешного, между прочим.

              https://zakonguru.com/situacii/ne-plyujte.html

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

              • у него присутствовало заведомое желание оскорбить и/или унизить пострадавшего;

              • он намеренно приблизился к жертве, чтобы плевок достиг цели;

              • плевок сопровождался характерной артикуляцией губ, собирающей слюну;

              • плевок производился уверенно, с намерением попасть в лицо оппоненту.

              Для того чтобы подтвердить факт правонарушения, пострадавшему придётся предъявить доказательство злого умысла со стороны плюнувшего в него гражданина. Таким доказательством могут стать:

              • свидетельские показания третьих лиц, присутствующих при инциденте;

              • фото- и видеосъёмка конфликта;

              • запись с видеокамер в общественных местах.

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

              По статье 5.61 КоАП РФ вменяется штраф:

              • для физлиц: 1-3 тысячи рублей;

              • для должностных лиц: 10-30 тысяч рублей.

              По статье 20.1 КоАП РФ вменяется:

              • штраф от 500 до 1 000 рублей;

              • административный арест до 15 суток.

              Если плюнуть в лицо представителю власти, например, обвинив его в ненадлежащем исполнении своих обязанностей или высказав презрение по другому поводу, виновному грозит одно из следующих наказаний:

              • штраф до 40 тысяч рублей или в объёме заработка (иного дохода) за 3 месяца;

              • обязательные работы в объёме 360 часов;

              • исправительные работы до 1 года.

              Судебная практика богата примерами, когда плевок повлёк для виновного один из перечисленных видов наказания.


        1. ildarin
          13.03.2022 11:42
          +1

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

          Зато и делать ничего не надо, пусть сам доказывает, что он не лжет. Но насколько это эффективно? Каждый пусть считает сам или обращается за консультацией к специалисту. Может и выгодно, кому-то.


          1. gorgona45
            13.03.2022 12:01

            Зато и делать ничего не надо, пусть сам доказывает, что он не лжет.

            Что характерно, при подаче на неиммиграционную визу в США примерно так и происходит. Вас же не удивляет что в жизни есть права и есть привилегии? И что последние надо обосновать и заслужить.


            1. ildarin
              13.03.2022 13:17

              С каких это пор оказывать услуги стало привилегией, которую нужно заслужить? Есть рынок, есть закон спроса и предложения. Кому-то нужны услуги, кто-то готов их оказать. А если оплата человеку происходит не за услуги, то за какие заслуги? Продавец оказал мне услугу, выдав хлеб, за который программист, оказывая услугу топ менеджменту написал программу, которая меняет биты в компьютерах на машинах в клиринговой компании, заодно он оказал услугу и мне, по закону транзитивности. Так же, как и пара тысяч, если не миллионов человек, которые были заняты в этом процессе. И где-то в этой тысяче есть пара сотен паразитов, которые мешают остальным. Это ошибка. Человеческий фактор. То, что не дает процессам стагнировать, стимулирует к увеличению эффективности. Чем их больше - тем выше эффективность, но если она уходит на содержание этих самых паразитов, то роста эффективности не будет. Дай все деньги мира дураку - он их в казино проиграет.

              Да, можно взять технологии (время, ресурсы и т.д.) у более развитого, но это не заменит умения создавать их. И даже если с пеной у рта доказать всем вокруг, какой важный и нужный - в момент нужды кто будет с протянутой рукой?

              Директор колбасного завода СССР - человек важный. А убери отца чекиста и монополию - кто ты без них?


            1. ildarin
              13.03.2022 13:59

              Существенный минус в распределении благ на основе заслуг - заслуги сами становятся благом. Это порождает рекурсию. Источник блага - труд. И напечатай ты хоть бесконечно красивых бумаг - чем оно поможет вырастить дерево? Ну, ты можешь обменять их как красивое исскусство и психологическую помощь на труд садовника, но только если он согласиться. Ему будет приятно думать, что у него много денег, а значит и он может уговорить кого-то что-то сделать. Но на это не деньги влияют и даже не их количество и красота. Влияет отношение к этому садовнику. А отношение - это заслуга. И он может заслужить чистое отношение, за дело или отношение на доверии. Можно ли иначе? Нужно думать, я не знаю. Есть пара десятков идей, но времени на них у меня может и не быть.

              И человечество - это упорядоченный хаос из 7 миллиарда на 7 миллиардов отношений между людьми, ~ 50 секстилионов. Лишь наивный глупец полагает, что он все знает о мире, что жизнь проста и все понятно. Мы даже не можем достоверно предположить из чего мир состоит, основа вселенной - темная энергия и никто не знает, что это.

              И это не круговорот и не цикл, а спираль. И у нее есть предел. А у закона - нет, закон безграничен. Справедливость. Услуга за услугу, глаз за глаз, следствие за причину. Разорвать цепь невозможно, не порвав звено, нельзя повлиять на систему являясь ее частью. Закон незыблем - он останется и после человечества. А вот человечество - нет. Зачем нужны потомки, у которых не будет потомков? В чем смысл?


          1. medvoodoo
            13.03.2022 22:23

            Я перестал понимать тех, кто пишет на хабре. Как коммент который я написал коррелируется с вашим комментарием? Вы пришли ко мне на собеседование - по вашим словам(не нужно создавать проблемы честным), я должен верить 100% тому, что вы написали в резюме и не спрашивать вас об этом опыте? Серьезно???? У меня нет доказательств, что вы НЕ ДЕЛАЛИ проектов на питоне - я вас обязан взять???!!!!!! *OMG*


            1. ildarin
              13.03.2022 23:55

              Сочувствую. Но я лет 8 сюда не писал. Жаль, что те, кто меня понимает - покинули чат (4 грустных смайлов).

              А кто вам спрашивать то запрещает? У меня сейчас вы не спрашиваете? А вопросительные знаки зачем? Особенно так много? Я разве говорил, что мне надо верить? Разве можно верить без доказательств? А подозревать без оснований? Я вообще питон даже палкой не трогал, максимум скрипты для развертывания на линухе питонил, а то баш не тянул мои фантазии, как компания об этом скилле через тестовое-то узнает?

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


  1. Aleksandr-JS-Developer
    11.03.2022 21:45
    +1

    Лайв коддинг резко отличается от повседневной работы. Не те задачи, не те обстоятельства, не та свобода. Программист, например, пойдёт в гугл и найдёт нужную информацию, а не будет вспоминать под давлением.

    Один из самых интересных методов "прощупать" кандидата по всей вертикале и найти текущий уровень, которые я видел это:

    Тех лид начинает с элементарных вопросов. Типа "сколько примитивных типов в языке". По ответу кандидата подбирается следующий вопрос. Если ответ неясный - уточнить, если ответ не устраивает - то ок, идём дальше, следующий примитивный вопрос. Задача - не найти дыры в знаниях, а понять общий уровень и адекватность. Если ответ устроил - можно копнуть глубже: "Зачем?", "Как?". Почему столько типов? Зачем они вообще нужны? Чем плохо/хорошо, например, просто хранить числа в строках? Там вплоть до архитектуры процессора и до элементарной физики можно докопать. Тех лиду, в этом случае, сложно идти по листочку, поэтому этот сотрудник должен иметь отдельную компетенцию. Он должен вовремя понять, что "хватит" или, наоборот, чуток глубже копнуть.
    По результатам общения - маленький сеанс лайвкоддинга. Уже легче различить, где волнение, а где - некомпетентность.


    1. yeswell
      11.03.2022 22:00
      +9

      А что показывает знание количества примитивных типов? А что показывает незнание этого количества?

      Вообще все вопросы которые вы привели — это для меня прям колокол, что надо заканчивать собеседование


      1. Aleksandr-JS-Developer
        12.03.2022 19:30

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

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

        Иначе потом диву даетесь, как на работу прополз чувак, который 2 видоса + 1 курс на юдеми прошел + додумался загуглить "100 опросов на собесах"?

        А какие вопросы для вас не колокол?)


        1. HellWalk
          13.03.2022 00:37
          +1

          А какие вопросы для вас не колокол?)

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


  1. bungu
    11.03.2022 22:47
    +6

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

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

    Но конечно если вы считаете себя компанией на последнюю букву алфавита и думаете что у вас все хотят работать то можете мучать соискателей своим лайвкодом с сортировкой списка разными способами 5 собесов подряд.


    1. LKamrad
      12.03.2022 02:47
      +3

      Не вижу проблемы в лайвкодинге. Умение собраться и выполнить (или попытаться выполнить) задание важно. Кроме того, ясно, что никто не будет топить кандидата на мелочах, если он, например, не сможет из-за волнения выполнить задание за 10 минут, но в целом покажет владение языком и знание нужного алгоритма. Не делайте из техлида, проводящего собеседование, зверя, который требует исключительно 100% выполнения задания в жестких рамках времени. Он скорее сам подскажет кандидату и поможет ему выполнить задание, если тот не абсолютно безнадежен.


      1. gremsta
        12.03.2022 12:19
        +3

        никто не будет топить кандидата на мелочах,

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


  1. anonymous
    00.00.0000 00:00


    1. ookami_kb
      12.03.2022 00:22
      +3

      Неудачный у вас опыт, видимо. Я, например, даю тестовое задание и прекрасно знаю, какой должен быть результат. Только его не надо угадывать – мне важно посмотреть, как человек пишет и мыслит, какие допускает (или не допускает) ошибки.

      Тестовое задание у нас довольно простое, только люди с разным опытом и выполняют его по-разному.

      При этом, если у кандидата есть что показать (личный проект, другое тестовое), я никогда не настаиваю, чтобы он выполнил именно наше задание. Да, для меня это означает больше работы, поскольку мне надо будет вникать в незнакомый проект, но я готов на это пойти.

      Кроме того, мы всегда даем обратную связь по итогам задания (по сути, делаем код ревью с созвоном после проверки, если кандидату это интересно).

      И я не думаю, что мы одни такие :)


      1. Aleksandr-JS-Developer
        12.03.2022 19:37
        +1

        Походу одни...


    1. amarao
      12.03.2022 12:53
      +2

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


      1. ildarin
        13.03.2022 20:48

        Можно пару примеров в студию, пожалуйста?) Я как-то у знакомой девушки из playrix тестовое на плюсы клянчил, так и не дождался, к сожалению но интересно же) Вдруг у вас такие тестовые, что и впрямь закачаться можно, а не лабуда про сортировку?


        1. amarao
          13.03.2022 21:35

          Ну, наше я не покажу, но вот примерный его эквивалент (я девопс и у нас програмируют CI/CD на ямле, преимущественно, ансибле).

          Написать плейбуку на Ансибл для настройки на Linux-сервере автоматического появления дополнительного IP адреса на lo-интерфейсе после запуска systemd-сервиса atop (сервис предполагать уже установленным и сконфигурированным). При выключении сервиса адрес должен пропадать, при старте - появляться снова. Конфигурация сохраняться после перезагрузки. К плейбуке должны прилагаться интеграционные тесты на testinfra или ansible. Все входные параметры передаются в инвентори. При передаче выполненного кода, в нём должен быть пример inventory_example.yaml с примером инвентори.

          При оценке задания будет проверяться:
          * Реализация ТЗ (прохождение наших скрытых тестов)
          * Качество и тщательность тестов (в рамках указанного в ТЗ)
          * Идемпотентность плейбук
          Так же будет оцениваться:
          * Читаемость и идиоматичность плейбук и тестов
          * Выбранный подход к решению задачи
          * Оформление и именование сущностей (переменных, тасок, функций)

          Ожидаемое время выполнения задания - 10-20 минут
          Ожидаемый объём кода: ~ 2-10 тасок в плейбуке, ~3-10 тестов.

          Это я сейчас с ходу придумал. Думаю, 10 минут тут маловато, так что оно ближе к 20. Чтобы точно знать, мне нужно его сначала самому реализовать.


          1. ildarin
            14.03.2022 01:18

            Спасибо!

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

            А проверка эта - на знание определенной технологии в определенном контексте, только и всего. Хороший спец за пару недель может освоить такую технологию, в среднем. Т.е. человек, который конкретно эту технологию не знает в данный момент - не пройдет. Но при этом, возможно, он знаком со всеми другими, кроме нее. А может и лучше технологии знает, применяет подход лучше, надежнее. Но вы об этом не узнаете. Вы его даже не увидите и не узнаете о его существовании. Вероятность познакомится с таким человеком - около нулевая при вашем подходе. Мне вот Jenkins нравится. Есть опыт с Bamboo, просто шикарно интегрируется с продуктами Atlassin. GitLab CI - бомба, облачное решение. Но я так понимаю - у вас этот инструмент прибит гвоздем к бизнесу и шаг вправо - шаг влево - расстрел. Ну, agile не просто так применяют, потому что модно. Это инструмент, причем весьма полезный.

            И это не фреймворк и не язык программирования, это - платформа. Yaml - это не язык программирования, так же, как и в докере и json и xml и xaml и куча других форматов передачи данных в виде текста. Это даже не скрипт, как SQL и не интерпретируемый язык как python. Это задание для администратора, скорее. Но граница еще размытая, devops'ы не так давно отпочковались. Я как-то писал прогу, которая автоматом генерирует Java код развертывания для сорцов проекта, потому что там сервисов была куча и руками их завернуть в CD - грозит кучей ошибок и сломанных судеб (шутка юмора, на самом деле - это просто скучно и уныло).

            Я не осуждаю, если у вас этот HR метод работает и дает нужный вам результат - я только за. Желаю успехов! Но со мной бы вы разминулись, 100%.


  1. STingerOid
    12.03.2022 05:42
    +2

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

    Абсолютным же злом я считаю требования писать код на бумажке на собеседовании. Сам с таким к счастью не сталкивался, но слышал что некоторые практикуют.


  1. PrinceKorwin
    12.03.2022 10:00
    +2

    С другой стороны у меня был случай когда человек не прошёл тестовое задание, но всё равно устроился на работу.

    После чего он уже будучи сотрудником нашел меня чтобы таки выяснить какое же должно быть решение тестового задания :)


  1. capitannemo
    12.03.2022 10:47
    +1

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

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

    Если компания будет брать профессионала в котором заинтересована она сама, никаких тестовых заданий не будет.


  1. moscowman
    12.03.2022 16:29

    Не стоит забывать, что сейчас IT — это рынок кандидата

    Вы уверены, что сейчас это именно так в России? Мне кажется всё ровно наоборот.


    1. Aleksandr-JS-Developer
      12.03.2022 19:41
      +1

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


      1. moscowman
        12.03.2022 19:56

        Что так было месяц назад, охотно верю. Сейчас все россияне - очень токсичный актив. Боюсь, что все фрилансеры сейчас останутся без работы + на фоне уходов тианов международного рынка из России появится просто громадное количество IT'шников абсолютно всех направлений работавших здесь, для которых вакансий просто не будет.
        Хотелось-бы сделать ошибку в своём прогнозе. Но не верю в эту ошибку.


        1. ildarin
          13.03.2022 08:38

          На чем основан прогноз? Почему фрилансер останется без работы? Как россияне могут быть активом, рабство что-ли? Титаны международного рынка разве переносили разработку на территорию РФ?

          Вот парочка фактов.

          1. https://ru.wikipedia.org/wiki/Закон_спроса_и_предложения

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

          3. Ослабление рубля. Странно полагать, что профессии, в которых важно знание английского и умение взаимодействовать удаленно зависят от рубля сильнее, чем от золота. По кому ударит дешевый рубль - по бюджетнику и иждивенцу или по специалисту в международной области? ГАИшника или инженера будет сложнее нанять? Рост в начале 2000 и был вызван дешевыми часами специалистов, которым было дешевле платить, чем индусам. Разница с текущей ситуацией - режим.

          4. Уход внешнего IT подрядчика. Прекращают свою работу. Пример: steam. И что теперь, все будут распродавать свои игровые компы? Спрос упадет, потому что упало предложение? Netflix. Предложение медиа-контента упало. Спрос тоже должен упасть, такая у Вас логика?

          5. Внешний подрядчик никогда и не переносил IT структуру во внешнее резиденство. Зачем кому-то в Дисней нанимать программистов в Китае и увольнять своих при выходе на китайский рынок? Продукт тот же, просто отдаешь на аутсорс дистрибьюцию, это же не авто собрать, а цифровой контент. Т.е. силы внешних программистов больше не будут вовлечены в развитие отрасли в РФ. А значит, конкуренция снижается.

          Итого: свободных часов специалистов инженеров стало меньше. Свободных часов низкоквалифицированного персонала - больше. Кто будет поддерживать имеющуюся инфраструктуру? ИТ это как раз та область, в которой ты не заткнешь потребность грубой силой. Вообще - это везде так, но в ИТ особенно заметно. Вы на какой продукт поставите, который писали 10 джунов или 1 сеньор? Например, банковские транзакции? Контроллер для атомной станции? Навигатор в авто? Система бухгалтерского учета? Система заявок услуг? Игра? Контроллер для ядерной ракеты? Программа для вызова такси или доставки? Прошивка для смартфона? Мессенджер? АТС? Светофор? Сайт объявлений? Аналитические системы, системы аудита?

          Тут как на войне с воробьями. Хунвейбины смелые и упорные, только вот прогнозировать они не умеют.


          1. moscowman
            13.03.2022 18:16

            Я не знаю, что Вы хотели сказать своей "портянкой". У меня логика простая, как в армии:)
            Если Вы в курсе последних новостей, то идёт война и Россия довольно справедливо считается агрессором.

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

            Поэтому начиная с Вашего п.1 - он ТЕПЕРЬ работает только внутри России и безработных разрабов будет 100 на 1 работодателя. Сдохнет весь бизнес, а нет бизнеса, нафиг не нужны и IT в прежнем количестве. Далее примерно то-же самое, если вы читали всякие указы и постановления принятые за последнюю неделю.

            Фрилансеры. Да, старые задачи они скорее всего доделают, а вот будут-ли новые? Я уверен, что "цивилизованные" страны на нас поставили крест.


            1. ildarin
              13.03.2022 19:51

              Согласен. Низкоквалифицированным "специалистам" теплого места не будет, что бы можно было ничего не делать и вкусно кушать. Паразиты будут страдать.

              Солдатом то в армии то да, уж у солдата голова работает как нужно. Полезный человек. И что бы я ел, если бы не солдаты в армии. Где бы жил и кого любил бы, если бы не армия солдат. Менеджеры, солдаты, чиновники, контролирующие органы, промоутеры, телеведущие. У них то проблем не должно быть, зачем им бизнес? Всякие ватсапы, интернеты, драйверы и прочая ерунда. Они и без них накормют нас всех, особенно инженеров. Они, инженеры, что в СССР не нужны были, что сейчас никому не будут подавно, когда все завязано на IT. Каждый второй может рассылку настроить и биллинг подключить. Отчет воронки продаж так каждый первый могёт. Про управление ГЭС и добычу газа и нефти так и вообще, лопату держать умеешь - сможешь и страну согреть. Делов то, нефть выкопать да в бак залить. Станки то тем более, че там уметь. Ударил кулаком ему в бок железный - он тебе и рубли напечатает.

              Мне понятен ваш пессимизм, но есть категория людей, которые нужны всем и всегда. А они и так это знают. Все познается в сравненнии. Удачи Вам учиться без интернета, общаться без месенджеров, искать объявления без сайтов, маркетинга без почты, оплаты без переводов, бухгалтерии без ЭЦП, бизнеса без CRM. Программистов поувольняют, а менеджеры, маркетологи, аналитики, архитекторы и топ менеджеры остануться? Дизайнеры, верстальщики? Тестировщики? HR? Кто кому нужен то, шарашкина контора по перевозке щебня или человек, который может заменить половину сотрудников в ней за пару недель?

              Да, бизнесу будет тяжело. Но ничего нового, я лет 10 наблюдаю за его мучениями и пытаюсь тугим людям втюмяшить хоть немного умения мыслить. А толку? Те кто все понимает - всё понимают. У остальных в головах "портянки" да "плевки", кредиты да курорты, пенсия да халява.


              1. moscowman
                13.03.2022 21:00

                Знаете, я в бизнесе (не IT, но у меня образование IT) c 90-х годов. Помню, чтобы сдать налоговую декларацию занимал очередь ещё на улице. А пенсионный фонд это было вообще что-то с чем-то. И дискетки после сдачи отчётов из этих фондов возвращались с вирусами.
                Поэтому Ваши 10 лет мне не авторитет. У меня горизонт наблюдения побольше.

                С IT как с партнёрами я связан и там есть куча говноспециалистов, которые останутся без работы. В этом я с Вами солидарен.

                Но что будет делать условный специалист по цискам, когда цисок больше не будет? Не совсем не будет конечно, но закроется куча компаний, где они используются.
                Это хорошие специалисты, но компаний станет меньше, а работников останется то же количество. Под раздачу попадут все. И УВЕРЕН, на з/п попадут тоже все.

                Я думаю, к сентябрю мы с Вами увидим реальную картину. Дай бог, чтобы мой вариант не осуществился.


                1. ildarin
                  14.03.2022 00:40

                  ???? Я не аппелировал к опыту и авторитету, я реально 8 лет сюда не заглядывал, до 22го. Мне не нужно никому ничего доказывать, я просто общаюсь, делюсь мыслями. Советую погуглить, что такое argumentum ad verecundiam.

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

                  Ну вот что, квантовых компьютеров много? А чего тогда квантовым программистам такие ЗП ставят? Чет не сходится логика.

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

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

                  В рассусоливания скатываюсь, но это майндфлоу у меня такой)


  1. kantocoder
    12.03.2022 19:59
    +1

    К компаниям, которые предлагают делать тестовые задания, у меня отношения такое (вспоминая нетленку):

    Посылаю я их лесом
    С этой просьбой несуразной,
    И они уходят грустно,
    И меня не беспокоят.

    Где-то с полгода назад какая-то технологическая дочка ВТБ настойчиво предлагала сделать тестовое, но я отказывался. Результат: та компания наняла другого кандидата, который тестовое сделал, а я нашел работу за большие деньги, без аджайла, и с плюшками, которые дочке ВТБ и не снились.

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


  1. nin-jin
    12.03.2022 20:57
    +2

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

    Пишу аппки с нуля за один вечер. И даже без говнокода. Что я делаю не так?

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