Возможно, вы знакомы с известной цитатой, которую приписывают Альберту Эйнштейну:
"Everyone is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid."
Сейчас ведутся споры, действительно ли Эйнштейн сказал или написал это, но мудрость, тем не менее, остается верной:
Если вы оцениваете всех по одной и той же метрике, есть шанс, что вы не получите точную оценку успеха.
К сожалению, за 7 с лишним лет работы в качестве профессионального разработчика в технологической отрасли я видел, как для оценки успеха разработчиков и программистов используется метрика, которая в большинстве случаев не соответствует реальным навыкам, необходимым для достижения успеха.
И если вы когда-либо пытались устроиться на работу или пройти собеседование на должность, есть большая вероятность, что вы сталкивались с этой метрикой; тесты на кодирование.
Тесты на кодирование бывают разных форм, но в основе своей их цель — проверить ваши знания принципов компьютерных наук, алгоритмов и общих знаний по CS. Тесты по кодированию могут проводиться лично на доске, виртуально в среде песочницы кодирования или в виртуальной среде, когда интервьюер просит вас поделиться своим экраном и наблюдает за вашей работой.
По сути, тесты на кодирование не имеют проблем. Они являются лишь инструментом для измерения компетентности разработчика или программиста и могут быть проведены практически для любого соискателя достаточно последовательно.
Но, как и любой другой инструмент, при неправильном использовании или без должного понимания его пользы, они могут принести больше вреда, чем пользы.
Поэтому позвольте мне вкратце рассказать, почему я больше не провожу собеседования с компаниями, которые требуют прохождения теста на кодирование.
ПРИМЕЧАНИЕ: Я специально использую слово «ТРЕБУЮТ», поскольку у меня нет проблем с компаниями, которые используют тесты кодирования в качестве одного из многих показателей для оценки кандидатов. В частности, я говорю о компаниях, которые оценивают всех кандидатов в технические разработчики/программисты с помощью теста на кодирование и НЕ имеют альтернативного варианта теста на кодирование.
1. Это показывает отсутствие заботы или беспокойства.
В целом я понимаю, почему тесты на кодирование полезны. Они позволяют команде по найму быстро отсеять большое количество кандидатов и дают довольно простую метрику, по которой можно оценивать кандидатов. Неслучайно большинство крупных технологических компаний используют их на начальном этапе собеседования как средство отсеивания «низкокомпетентных» кандидатов.
Но именно по этой причине тесты кодирования являются обязательным требованием в процессе собеседования, что свидетельствует о недостатке заботы или внимания. Это показывает, что цель этого процесса собеседования — отсеять кандидатов, независимо от их целостных сильных сторон.
Неважно, является ли кандидат программистом-самоучкой, высокоэффективным разработчиком, проработавшим в отрасли несколько десятилетий, или студентом колледжа, впервые получившим такую возможность, тесты на кодирование оценивают вас только по одному параметру. И если вы общались со многими рекрутерами или HR-специалистами в некоторых крупных компаниях, этот тест действует как окончательный заслон на пути к возможностям.
Будучи специалистом в области технологий, который проводил собеседования, интервьюировал, а иногда просто наблюдал за техническими собеседованиями, я обнаружил, что тесты по кодированию могут быть использованы для того, чтобы свести на нет опыт и навыки разработчика.
Я наблюдал, как ИСКЛЮЧИТЕЛЬНО компетентный кодер рассыпался, когда ему задали вопрос по кодированию, на который он с трудом ответил, и который, как я позже узнал, интервьюер не знал, как решить. Интервьюер просто зашел в Интернет, нашел распространенные вопросы по кодированию и представил их кандидатам. К счастью, я смог принять участие в интервью и «вмешался». Эта история закончилась счастливым концом, но не каждое собеседование будет связано с «наблюдателем».
Я лично участвовал в собеседованиях, где я блестяще справился со всеми техническими вопросами, связанными с реальной ролью (как прямо заявляли интервьюеры в процессе собеседования), но меня перестали считать жизнеспособным кандидатом, потому что у меня возникла заминка при попытке решить эзотерический вопрос по кодированию алгоритмов, который НИКОГДА не будет использоваться в работе.
Лично для меня требование теста на кодирование в процессе собеседования указывает на то, что работодатель и команда по найму не совсем понимают, что делает разработчика качественным и как измерить реальный успех. Но они ищут любой легкий способ прочесать кандидатов и минимизировать взаимодействие с ними до тех пор, пока они не окажутся на более низкой стадии процесса.
2. Некоторые кандидаты находятся в крайне невыгодном положении
Этот пункт лично для меня очень важен, но есть обстоятельства, которые могут сделать тест на кодирование крайне несправедливым для кандидатов, ищущих работу в компании.
Представьте, что мы отбросили все, о чем я говорил в первом пункте. Представьте, что все тесты по кодированию проводились специалистами по найму и командами, которые искренне заботились о своих потенциальных кандидатах. Даже если бы сердца каждого интервьюера и человека в процессе найма были абсолютно чисты, тесты на кодирование все равно стали бы чрезмерным бременем для компетентных и ценных кандидатов.
Каким образом?
Все дело в том, что некоторые люди ВСЕГДА будут плохо работать в условиях «тестирования» кода. Это может быть человек с ограниченными способностями к обучению, человек с формами тревожности, которые влияют на результаты тестирования, или человек, чей опыт делает материал тестирования чрезвычайно трудным. И знайте, это не исчерпывающий список, а репрезентативный перечень факторов, ограничивающих эффективность тестирования кодов.
К сожалению для меня, я ВСЕГДА испытывал трудности в условиях тестирования под высоким давлением (спросите об этом мой средний балл в колледже ?), и я также испытывал трудности с тестами по кодированию, потому что, будучи программистом-самоучкой, такие вещи, как алгоритмы и концепции CS — это то, с чем я действительно не сталкивался до позднего возраста.
Из-за этих факторов тесты по кодированию становятся чрезвычайно сложными. Даже в тех тестах по кодированию, где я справлялся на «хорошо», я все равно чувствовал себя не очень хорошо. И хотя я всегда очень хорошо справлялся с любой ролью, на которой мне довелось работать, метрика теста на кодирование в большинстве случаев показывала мою абсолютную некомпетентность.
Был один случай, когда я проходил собеседование и показал отличные результаты почти на каждом этапе. В самом конце процесса рекрутер дал мне потрясающую обратную связь и собирался закончить собеседование на сегодня. (ПРИМЕЧАНИЕ: это было многочасовое собеседование на месте.) Когда я уже собирался уходить, меня спросили, готов ли я пройти «дополнительное» собеседование с одним из «высших руководителей» компании, и я был не против. Но я не знал, что они собирались провести со мной «тест». В течение 15 минут я потерял работу. Моя тревога уничтожила меня. Несмотря на то, что другие участники процесса признали меня компетентным и квалифицированным специалистом, провал на этом «тесте» лишил меня шансов.
Это был очень личный опыт, но у меня такое чувство, что я, возможно, не единственный человек, который был отстранен от работы из-за плохого результата теста (некоторые из них даже не охватывают навыки, которые будут использоваться в реальной работе).
3. Это того не стоит!
Когда речь заходит о собеседованиях, у меня есть личное убеждение, которое звучит следующим образом:
«Вы уже знаете, что вы знаете, не нужно готовиться!».
Опять же, это мое личное убеждение (и я не ожидаю, что оно есть у кого-то еще), поэтому мой личный менталитет в отношении собеседований всегда заключался в том, чтобы не делать никакой дополнительной подготовки, кроме, возможно, обзора того, что я уже знаю (а также расчесывания волос и презентабельного вида ?). Я хочу, чтобы у интервьюеров было самое честное отражение моих навыков. Я хочу, чтобы они видели меня таким, каким бы я был, если бы работал на них ежедневно.
В прошлом мне неоднократно говорили, что мне нужно «подготовиться к этому интервью». Затем мне присылали набор ссылок или PDF-файл о том, как подготовиться к этому собеседованию и какие навыки мне нужно освоить, чтобы «пройти» его.
Когда я искал свою первую работу в этой отрасли и у меня почти не было опыта или знаний, которые я мог бы наглядно продемонстрировать, я вроде как получил это. Компаниям нужно знать, что я могу учиться и что я готов принимать вызовы, так что все по-честному. Но, что интересно, я получил свою первую работу в этой отрасли, не проходя обучения или явного теста; они действительно проверяли мои знания, но это было связано с самой должностью.
Теперь, будучи опытным специалистом, я лично отказываюсь готовиться к собеседованию по навыкам, которые я не буду использовать на работе. Это того не стоит.
В связи с загруженностью жизни и сложностью найти время для учебы при наличии постоянной работы, в большинстве случаев меня просили изучить концепции и материалы, которые я почти никогда не использовал и не буду использовать в своей повседневной жизни. Существует большая вероятность того, что после сдачи экзамена я НИКОГДА не смогу использовать полученные знания в реальной жизни, когда найду работу.
Время от времени я подумывал о том, чтобы пройти тест по кодированию, но потом понял, что лучше потрачу время на изучение навыков, которые, скорее всего, пригодятся мне в будущем. Во многих отношениях я считаю, что просьба пройти обучение на собеседовании не должна быть стандартом. Вы должны оценивать кандидата по его текущим навыкам, а не по навыкам, которыми он не обладает в настоящее время.
В конце концов, это все мое личное мнение, основанное на моем опыте работы в отрасли, но я бы хотел услышать мнение других людей. Я не являюсь полным противником «тестов на кодирование», но я считаю, что они слишком часто и/или неправильно используются в технологической отрасли. Как минимум, я считаю, что всегда должна быть альтернатива тесту на кодирование ИЛИ что он НЕ должен использоваться в качестве «проходного» механизма в процессе собеседования. В любом случае, как и поведенческие тесты, которые проводятся во время некоторых собеседований, они должны использоваться в качестве ориентира, а не решающего фактора.
Итак, как вы думаете, стоит ли использовать тесты на кодирование? Не согласны ли вы с моим мнением или точкой зрения по этому вопросу? Может быть, я что-то не так понял или сделал бессмысленный вывод?
Пожалуйста, дайте мне знать об этом ниже в комментариях. Я с удовольствием выслушаю ваши мысли!
Спасибо, что читаете, друзья,
Брэдстон Генри
И если вам интересно узнать о том, какие способы проведения собеседований я считаю лучшими, загляните в мой блог о подходах к проведению технических собеседований:


Death of the Coding Test: Interview Methods that Better Evaluate Candidate Competency (Смерть теста на кодинг: методы собеседования, которые лучше оценивают компетентность кандидата)
Брэдстон Генри для разработчиков @ Asurion ・ Sep 21 ・ 16 min read
===КРЕДИТЫ===
- Фото на обложке: Monstera с Pexels
- Система образования Фото: Неизвестный
- Женщина пожимает плечами Фото: Полина Циммерман с сайта Pexels
- Разочарованная женщина Фото: Андреа Пиаккадио с Pexels
- Мужские смарт-часы Фото: cottonbro с Pexels
==== СЛЕДУЙТЕ ЗА МНОЙ В СОЦИАЛЬНЫХ СЕТЯХ ====
https://linktr.ee/bradstondev