[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-158433683", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxbwd&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } } ]
{ "author_name": "Daria Khokhlova", "author_type": "self", "tags": ["\u043a\u0440\u0438\u0435\u0439\u0442\u043e\u0440\u044b","\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438","\u0440\u0430\u0431\u043e\u0442\u0430","\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b","\u043f\u0438\u0441\u044c\u043c\u043e_\u0432_\u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e","\u043d\u0430\u0439\u043c_\u043d\u0430_\u0440\u0430\u0431\u043e\u0442\u0443","\u043d\u0430\u0439\u043c_\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432"], "comments": 35, "likes": 12, "favorites": 6, "is_advertisement": false, "section_name": "default", "id": "10558", "is_wide": "1" }
Daria Khokhlova
3 129

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

В редакцию vc.ru пришло письмо от основателя рекрутингового агентства 2Diggers Александра Зверева, в котором он описал основные проблемы, которые связаны с использованием тестов при найме технических сотрудников в стартап. По мнению автора, подобные тесты выявляют только знание синтаксиса определённого языка программирования, но не демонстрируют профессиональные качества кандидатов.

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

Я собирался сам пройти какой-нибудь из тестов и написать про это обзор, но все это как-то откладывалось, пока главный рупор массового найма Алена Владимирская вскользь не прорекламировала Центр Сертификации Mail.Ru Group, правда, делая поправку на то, что этот сервис хорош при найме на средние и младшие позиции.

Но Алена — HR. А я всё-таки программист. И я могу этот тест пройти, оценить его и выдать свое экспертное мнение. Что я и сделал. Я прошел тест на знание языка C#. И набрал 14 из 45. Ну, хорошо, я пару лет не притрагивался к С#, но всё-таки почти четыре года был одним из разработчиков ReSharper и знал C# сильно лучше среднего программиста. Впрочем, возможен такой вариант, что я — идиот, и все эти четыре года команда ReSharper была в опасности.

Абзац про методологию

Популярные сейчас проекты онлайн-образования (и еще создатели ЕГЭ) вовсю используют тесты. Но у них другие цели тестирования: они проверяют, как слушатель усвоил материал.

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

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

Удачный пример тестов для аудиторов

В компании, входившей в первую тройку аудиторских компаний Северо-Запада, делали собственные тесты для кандидатов. Изготовление теста занимало две недели чистого времени ведущих специалистов компании. При этом тесты приходилось обновлять каждые полгода: 25% из-за изменений законодательства, а 25% из-за естественной эволюции актуальных тем.

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

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

Тест был не совсем multiple-choice, а скорее тест с открытыми ответами. Но писать в нём надо было мало (краткий ответ и ссылки на законодательство и нормативные акты). То есть в итоге тест проверялся очень быстро.

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

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

Как сделаны современные языки программирования

Отлично, Mail.Ru Group потратила эти 40 часов за вас и сделала хорошие тесты. Но действительно ли они такие хорошие? Большая часть тестов, не только от Mail.Ru Group, но и на большинстве сервисов — это тесты про языки программирования. Что это значит на самом деле?

Относительно давно я слушал презентацию Ильи Рыженкова про язык Kotlin:

В этой презентации Илья шутил на тему схожести синтаксиса языков Kotlin и Swift: кто у кого украл идеи? На самом деле никто ни у кого, просто принятые обеими командами архитектурные решения витали в воздухе.

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

На моем любимом сервисе Coursera почти не бывает вопросов про «какие ошибки компилятор выдаст в этом кусочке кода». Для этой работы (сюрприз) есть компилятор. Это нормально, когда программисты пишут из головы код с ошибками: они сначала решают задачу по выражению своей идеи существующими средствами, а на следующих этапах уже правят ошибки компиляции. Именно поэтому придумали делать автоматические тесты для программ и постоянно их запускать: люди делают ошибки — и это нормально. Ключевым же для работы навыком является способность эти ошибки обрабатывать. Но тест «где Уолли?» это никак не проверяет.

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

Теперь давайте сделаем не простой тест «найди ошибку», а полезный тест «напиши понятный код». Вы можете такой тест написать? Я — нет.

Кто должен делать тесты

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

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

Цель тестирования — не показать, какой автор теста умный, а показать, какой прошедший тест полезный.

Что вообще важно знать программисту

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

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

Вот можно ли сделать тест на понимание таких вещей как, например, управление памятью в .NET (поверьте, там есть что спрашивать, и многие кандидаты не знают даже азов)? Уверен, можно. Но я пока ни одного такого теста не видел. Может, потому, что на такие темы намного приятнее беседовать с кандидатом лично: тема обширная, глубокая и очень хорошо показывает, насколько кандидат разбирается в том, как вообще работают программы.

Тест на знание синтаксиса языка полезен после прослушанных курсов. При найме важнее «потрогать» более глубокие вещи.

Другие сервисы

На самом деле, в тесте от Mail.Ru не все еще не так плохо. Одному моему приятелю на интервью выдали тест, который стал у него выяснять про экзотические параметры командной строки в Java и про то, в каком порядке идут параметры у каких функций. Это провал.

Я уверен, что осмысленность вопросов на сервисах тестирования будет расти, но так же быстро будет расти и внешняя база ответов на эти вопросы. Однако главный вопрос, который зачастую остается неотвеченным, — «Почему вы все еще спрашиваете то, что спрашиваете?». И это «почему» должно быть прагматическим, а не из разряда «каждый это должен знать». Во времена моей молодости каждый должен был знать день рождения дедушки Ленина. Мне это знание, кстати, один раз пригодилось: в военкомате у психиатра.

Что делать

  1. Во-первых, не тестировать этой ерундой специалистов даже начального уровня. Тем более, что для начинающего программиста знать язык — не главное. Выучит он его за неделю. Для него важны hard skills (то, что приобретается и нарабатывается долгим трудом): алгоритмы и данные. Вот про них можно сделать тест. Но, к сожалению, определяющим является умение эти алгоритмы применять и комбинировать, а это в тест, мне так кажется, не засунешь. Но подобным тестом можно отсечь хотя бы безнадежных кандидатов, у которых нет даже элементарной базы. Не забывайте, что тестом можно отсечь не только безнадежных кандидатов, но и лучших кандидатов, так что не увлекайтесь.
  2. Во-вторых, пойти к людям, которые понимают в этом столько же, сколько и вы, но ещё и имеют время подумать о методологии тестирования и этим тестированием заняться. То есть заплатить таки кому-то из умных и неленивых людей. Оплата выйдет, скорее всего, почасовая.
  3. В-третьих, сделать свои собственные очень хорошие тесты, потратив на это массу времени, сил и денег. А потом зорко следить, чтобы эти тесты не утекли из компании.
  4. В-четвертых, забыть про все эти тесты, как вы это уже сделали 20 лет назад с тестами и сертификацией от Brainbench.

#Криейторы #разработчики #работа #разработка #программирование #программисты #письмо_в_редакцию #найм_на_работу #найм_сотрудников

Статьи по теме
Письмо в редакцию: Перестаньте спрашивать фигню на интервью с кандидатами
Письмо в редакцию: Прекратите оценивать ИТ-кандидатов по резюме
Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Голосовой помощник выкупил
компанию-создателя
Подписаться на push-уведомления