Найти хорошего программиста — большая проблема. Кто не соответствует квалификации, кто затягивает сроки, кто просто пишет плохой код. Многие банальные вещи пропускаются рекрутерами даже в крупных компаниях.
Мнение автора может не совпадать с мнением редакции
А уж если вы проводите собеседование без разработчика-эксперта в нужной дисциплине, или если у вас маленький стартап, и вы пытаетесь нанять одного из первых подходящих сотрудников, всё становится ещё сложнее. Подобрать достойного и опытного специалиста без широких знаний в индустрии — задача нетривиальная.
Мы в Rubrain.com занимаемся поиском программистов уже пять лет занимаемся поиском программистов, и отобрали в базу более шести тысяч (!) сотрудников уровня middle+. Большинство из них на практике оказались отличными профессионалами. Хотя с некоторыми, конечно, первое впечатление было ошибочным. Но здесь как в отношениях: иногда нужно пожить вместе, чтобы понять, чем именно тебя могут бесить. Даже самый крутой профессионал может попасть в чёрную полосу и стать лентяем.
Но для начала, если вы не хотите обучать разработчика с нуля, нужно смотреть на кандидатов с хотя бы 2-3 годами опыта (лучше, конечно, 5). Чтобы они могли сами создавать новый продукт, брать на себя ответственность, принимать архитектурные решения. В идеале сотрудник, которого вы вызываете на первое собеседование, уже поработал в крупных фирмах, поучаствовал в больших проектах, получил нужно менторство. Если вы нанимаете фрилансера — у него должно быть несколько сайтов в портфолио (достойных или нет — это мы сейчас проверим). Кстати, фрилансеров — горячо рекомендуем, особенно если вы берёте сотрудника на удаленку. Если человек всю жизнь работал на себя, определенное чувство ответственности у него точно есть, и от внезапно нахлынувшего чувства свободы он в запой не уйдет.
Итак, у HR есть резюме программиста. Проекты, над которыми он работал, или кусочки кода. Что теперь?
Оценить качество его работы по коду вы можете, даже не имея навыков программирования. Как это сделать? Существует, как минимум, два способа определить огрехи:
1. С помощью специальных инструментов. Можно прогнать веб-приложения или сайты из портфолио потенциального сотрудника через особые онлайн-сервисы, чтобы получить общую картину его компетенции. Эти сервисы (или утилиты) обнаруживают ошибки, «мусорный» код, излишне сложные комбинации и другие признаки не очень качественного труда разработчика. Они найдут что-то в любом случае — поскольку идеального кода не существует в природе. Другой вопрос, сколько огрехов так удастся обнаружить, и насколько значимыми они будут.
Для PHP хорошо подходит Mess Detector — он как раз находит чересчур сложные методы, потенциальные баги, неиспользованные расширения, не слишком чистый или неоптимальный код и так далее. Также можно применять CodeSniffer, находящий ошибки в синтаксисе или стандартах кодинга. Он подходит не только для PHP, но и для CSS и JavaScript.
Также, отдельно, существуют подобные инструменты для CSS и HTML.