Как стать автором
Обновить

Как отсеивать плохих программистов. 10 лучших автоматических инструментов проверки качества кода

Время на прочтение10 мин
Количество просмотров17K

Проверка технических навыков кандидатов — неотъемлемая часть IT-найма. Нужно хорошо отделить зерна от плевел. Можно сделать это заранее, посмотрев, пишет ли человек достойный код. Это умеют специальные инструменты, зачастую частично бесплатные. В этой статье мы собрали десять лучших из них.

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

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

Онлайн-инструменты для проверки разработчиков

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

 

1. HackerRank

Платформа для технических собеседований, которая помогает своим клиентам находить и нанимать разработчиков с нужными им навыками. Среди её клиентов — PayPal, Atlassian, LinkedIn и многие другие.

HackerRank предлагает следующие продукты:

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

  • CodePair: позволяет оценить способность кандидата решать проблемы и проверить его коммуникативные навыки с помощью парного онлайн-программирования в реальном времени.

  • Projects: кандидат выполняет реальную задачу, необходимую компании. Работодатель может оценить, способен ли он выполнять роль разработчика на проекте, и насколько комфортно ему в этой роли.

  • Insights: решение на основе искусственного интеллекта, которое помогает отслеживать прогресс ваших кандидатов во время тестов, и предлагает, как можно улучшить вашу воронку найма.

На HackerRank немало разработчиков, которые подают заявки на вакансии компаний. А они сразу же используют этот же сервис для проверки этих кандидатов. Но можно и приводить сюда своих программистов для теста. На 14 дней есть бесплатный триал, не нужно даже вводить информацию своей карточки. Дальше, в зависимости от того, сколько кандидатов вы планируете нанимать, можно платить от $250 до $600 за месяц. Есть также вариант $25 за месяц, но это только найм, без возможности устраивать автоматическую проверку кандидатов.

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

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

Поддерживает больше 40 языков программирования.

2. Codility

Codility — вторая по популярности онлайн-платформа для оценки технических навыков. Она состоит из двух компонентов:

  • CodeCheck — инструмент для проверки фундаментальных навыков программирования и технических знаний.

  • CodeLive — онлайн-комната для сотрудничества и написания кода с кандидатами на технических собеседованиях в режиме реального времени.

Платформу используют такие технологические гиганты, как Amazon, Microsoft, Slack, PayPal и Intel. Отлично подходит для больших компаний. Демо-версия бесплатная, стандартный пакет начинается от $6000 в год.

И Codility, и HackerRank не показывают кандидатам их результат. Они не знают, выполнили ли они задачи в целом лучше или хуже, чем другие претенденты. Правда, в HackerRank они видят, какие вопросы они провалили, и почему (неверный результат, слишком неэффективный код и т.д). У них появляется возможность улучшить код — исправить баги, поменять алгоритм. Поэтому HackerRank может также использоваться для тренировки кандидатов.

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

Подробнее о других особенностях каждой платформы на английском можно почитать тут: разница между Codility и HackerRank.

3. Coderbyte

Coderbyte тоже позволяет тестировать знания разработчиков и качество их кода. Можно как выбрать готовые тесты из библиотеки Coderbyte, так и загрузить на платформу свои внутренние тесты. После каждого теста вы получаете подробные отчеты с решениями и даже видеозаписи кандидатов, проходящих тест.

Coderbyte доверяют более 600 организаций, включая Shopify, AngelList, Zoom, HBO и Microsoft. Большинство переходят сюда с HackerRank, Codility или Coderpad. Чаще всего здесь проверяют на DevOps, бэкенд, фронтенд, Data Sicence. Здесь также нередко подбирают команду для разработки мобильных приложений.

Цены начинаются от $35 в месяц и идут до $499 в месяц. Можно также платить по $10 за каждого кандидата. Бесплатный триал — 14 дней (данные карты придется ввести).

4. CodeSignal

Платформа основана в 2014-м в Сан-Франциско. Раньше, до 2018-го, называлась CodeFights и была заточена на соревнованиях 1х1 между разработчиками. Сейчас позволяет проводить рекрутинг кандидатов и оценивать уровень их технических навыков. Свои силы здесь пробуют больше 1 млн разработчиков.

У CodeSignal есть три основных продукта:

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

  • Interview — видеоинтервью в прямом эфире в расширенной среде совместного кодирования. Тоже используются созданные пользователем или заранее определенные тесты. Удобно, чтобы проверить, как человек вольется в состав команды разработчиков. Как он общается и реагирует на ситуации.

  • Certify — проверка качества и скорости кодирования, позволяющая быстро проверить любое количество программистов. Подходит для больших компаний, ежедневно сканирующих тысячи резюме. Дает рекрутерам возможность принимать объективные решения о приеме на работу. Отправляете задание кандидатам, и смотрите, кто может с ним справиться, и кого стоит приглашать на следующий этап собеседования.

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

CodeSignal предлагает предварительно записанные собеседования, где вопросы и задания постепенно выдаются кандидатам в режиме реального времени. Испытуемые могут даже не знать, что с другой стороны нет человека. Всё это активно используют большие компании, вроде Uber, Evernote, Dropbox, Asana, Quora, чтобы набирать программистов на позиции Middle и ниже.

В общем, у CodeSignal много плюсов, но есть и один большой минус: цена. За продукты нужно платить от $500 в месяц (или $5000 в год) с пользователя. Есть бесплатная версия и бесплатный триал. Их условия обсуждаются индивидуально, но обычно дают те же 14 дней.

5. СoderPad

Простая, минималистичная платформа, которая в первую очередь выступает как среда программирования. В одном окне можно писать и компилировать любой код (поддерживается более 30 языков и технологий). То, что делается, и какой результат выдается, видит как испытуемый программист, так и его рекрутер. Просматривать код и результаты можно как в режиме реального времени, так и потом, по записи (среда детально записывает каждое собеседование). Начать видеозвонок с кандидатом тоже можно прямо из вкладки браузера CoderPad, можно не заморачиваться с Zoom/Skype.

Тесты и вопросы придется придумывать самому (или подгружать с другой платформы). Но у CoderPad достаточно функций, которые выделяют среду среди конкурентов. В том числе:

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

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

  • функция записи и воспроизведения процесса написания кода — чтобы видеть не только конечный результат, но и то, как разработчик до него дошел;

  • приятная для работы онлайн-среда: подсветка синтаксиса, номера строк, отступы и так далее.

CoderPad активно используют Netflix, Slack, Shopify, Yelp, Twitch, AirBnB. Платить здесь нужно от 50 долларов в месяц (за 5 собеседований) до 750 долларов в месяц (100 собеседований, 50 аккаунтов для рекрутеров, масса других плюшек). Есть также вариант $1500 в месяц — для больших корпораций. В целом это пока один из самых бюджетных вариантов, хотя полностью автоматически качество кода он пока проверять не умеет.

Бесплатный триал короткий, всего 7 дней.

На Indie Hackers можно почитать интервью с основателем CoderPad — как он к этому пришел, в чём особенность технологии, какие планы на будущее, сколько выходит зарабатывать. Как обычно, начиналось всё с простого парня-программиста из Калифорнии и его пет-проекта. А выросло в миллионные доходы и международный успех.

6. ChallengeRocket

Здесь, наоборот, нет почти ничего, кроме проверки кода. Компания набирает кандидатов, и тестирует их, чтобы понять, подходят ли они компаниям. Разработчиков оценивает искусственный интеллект, вмешательство человека не требуется (разве что нужно выбрать или создать задания). Есть и просто случайные тесты, развивающие сообщество и позволяющие программистам немного размяться. Например, можно порешать задачи, дававшиеся на собеседовании 1960 года в IBM. Или решить один из старых вопросов от Google.

У ChallengeRocket есть следующие продукты:

  • Skill challenge: автоматически генерирует тест для кандидатов и потом оценивает их результаты (скорость и точность решения).

  • Creative challenge: расширенная версия, которая помогает работодателям находить скрытые таланты и продвигать инновационные идеи.

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

Оплата берется в зависимости от числа нанятых специалистов (за одного платите максимум $79, минимум $12). За $350/месяц можно получить безлимитный вариант, плюс еще и любое количество разных испытаний для кандидатов.

В целом база крутых девелоперов у ChallengeRocket не такая большая, как у Kaggle, TopCoder или русского CodeForces. Но если вы ищете, где найти программистов для стартапа, или вам нужен персональный подход к задаче, ChallengeRocket будет неплохим и недорогим вариантом.

В числе клиентов сервиса — IBM, Nvidia и ING.

Бесплатный триал — 30 дней.

7. CodinGame

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

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

На платформе есть около 1900 игр-задачек. Поддерживаются 42 языка/технологии. Один из больших плюсов — очень подробные и наглядные отчеты по результатам тестирования, показывающие слабые и сильные места кандидата.

Среди клиентов CodinGame — Facebook, Nintendo, Adobe, Bank of America, EA, Deloitte, Warner Bros.

Аккаунт для бизнеса стоит от €249 в месяц. Бесплатный триал — 14 дней.

8. Qualified

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

Платформа поддерживает широкий спектр языков программирования и технологий, а также позволяет вам детально, по строкам проверять выполненные задания. Тесту квалификации Qualified доверяют такие компании, как Apple, Accenture, Domino’s и другие.

Доступ к сервису проверки кандидатов стоит от $150 в месяц за бизнес-аккаунт, но условия с ними нужно обсуждать индивидуально (если вы крупная компания — попросят больше). Бесплатный триал длится 14 дней. С ним можно получить до 5 оценок уровня сотрудников.

9. Quizful

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

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

10. Codeassess

Codeassess существует уже двадцать лет. Это проект, созданный ExpertRating, компанией, проводящей онлайн-сертификацию сотрудников для таких гигантов как Walmart, Gap, UPS, IKEA, Citrix и тысяч других. Codeassess специализируется конкретно на разработчиках. Это первый в мире (в плане длительности существования) сервис, который занялся их онлайн-тестированием. Им предлагаются задачки-проблемы, и программистам, желающие получить статус эксперта, предлагается их решать. Помимо проверки навыков, можно также настроить виртуальное онлайн-собеседование с кандидатами.

Базовый план стоит всего $49 (он рассчитан на 15 тест-сессий, и включает только несложные проблемы, подходящие для джунов). Триала для бизнеса, к сожалению, нет. Ещё из минусов: поддерживает только 25 языков. Но все самые популярные есть, в том числе и Python (который почему-то не указан на главной странице).

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

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

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

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

Теги:
Хабы:
-6
Комментарии9

Публикации

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн