Как распознать эффективного разработчика: 11 зеленых флагов

Как вычислить эффективного разработчика на этапе собеседования и не терять время на других кандидатов? Опытом поделился Алексей Лихацкий, CEO IT-компании AppEvent.

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

Алексей Лихацкий, CEO IT-компании AppEvent
Я, как и другие работодатели, постоянно сталкивался с некомпетентными джунами, поэтому разработал свою систему зеленых флагов, то есть признаков опытного и надежного сотрудника.

Признаки хорошего разработчика

  1. Красивый код в тестовом задании. «Красивый» на языке программирования означает логичный и поддерживаемый. В таком коде нет лишних символов, а дополнить его без багов может любой член команды. Даже по простому тестовому заданию видно, как специалист пишет и оптимизирует код. Важны логика, краткость и структура, а опыт — дело наживное.
  2. Широкий взгляд на ТЗ. Техническое задание в тестовом — урезанное, в отличие от требований при создании реального коммерческого проекта. Поэтому сделать больше, чем требуется, = приблизиться к актуальному решению. Оцените, как кандидат расширяет ТЗ, демонстрируя пользу финальной версии продукта. Это говорит о креативности соискателя и понимании реальных задач IT-решения.
  3. Индивидуальность в решении. Поощряйте нестандартные подходы. Такие кандидаты более инициативные и самостоятельные. Найти в интернете готовое решение или собрать код с помощью шаблонов в ИИ — легко. Поэтому кандидаты, решающие тестовые нестандартно, вызывают больше доверия. PET-проекты (проекты, которые разработчик создает для себя в свободное время — прим. ред.) и репозитории (место, где можно хранить данные — прим. ред.) с нешаблонными кодами тоже говорят в пользу индивидуалистов.
  4. Уважение к дедлайнам. Пунктуальность и понимание ценности времени видны сразу: когда человек сдал тестовое, во сколько пришел на очное интервью или подключился к Zoom. Опоздания на пять-семь минут — первые тревожные звоночки. В перспективе такие опоздания могут стоить компании денег за сорванные дедлайны. Уважение к срокам — банальная вежливость и необходимый эффективному сотруднику тайм-менеджмент.
  5. Ссылки на репозитории. Свои разработки, даже на момент обучения, — огромный плюс. В IT мы ценим любопытство и внимание к деталям. Современным работодателям мало кейсов с курсов и тестовых с прошлых собеседований. Собственные наработки свидетельствуют об отсутствии страха сделать что-то самому и желании углубиться в индустрию.
  6. Профильное образование. В современном обществе принято преуменьшать значение высшего образования. Однако в профильном вузе студента годами учат думать, как представителя профессии. Такой соискатель уже обладает академическим фундаментом и дисциплиной, знаком с представителями индустрии. Оконченное профильное высшее — не гарантия знаний, но точно не минус для разработчика. Тем более, если к образованию прилагаются научные достижения и интересная тема диплома. Кстати, по теме диплома можно сделать вывод об уровне знаний кандидата. Побеседуйте с молодым специалистом о его дипломной работе, чтобы понять, насколько соискатель погружен в IT.
  7. Осознанный ответ на вопрос о смене профессии. Кто-то смотрит на друзей, другие идут за деньгами и удаленным форматом работы. Вопрос о смене профессии помогает узнать о мотивации человека, его целях на ближайшее будущее. Когда кандидат может осознанно объяснить, почему решил сменить вектор развития, чего хочет от IT-индустрии, это свидетельствует о системности, логическом мышлении и зрелости решения.
  8. В резюме указаны познания в языках. Если видите в документе названия языков и уровень владения, а также кейсы, с которыми соискатель сталкивался в работе, можете отследить путь человека в профессии, понять, под какие должности кандидат может подойти. В таком описании скиллов сложнее приврать, так как работодатель точнее видит развитие кандидата.
  9. Хорошая память. Необходимый эффективному разработчику навык. Скорость и качество выполненных задач зависят от понимания системы. Чтобы вносить изменения по ТЗ, не создавая багов, необходимо помнить всю структуру. В больших системах даже нарисованные схемы не помогут: важно держать все связи в уме. Чтобы проверить память собеседника, попросите кратко пересказать раздел из резюме или уточнить конкретные цифры из биографии.
  10. Конструктивный отзыв о прошлом месте работы. Человек, способный объективно оценить прошлый опыт, показывает свою социальность и располагает к себе. Откровенный хейт в сторону прежнего работодателя говорит о конфликтности и незрелости. Бывали кейсы, когда кандидат с ненавистью рассказывал сразу обо всех прошлых работах. А ведь на месте этих «плохих» начальников можете оказаться вы.
  11. Подготовленность к интервью. Внимание к деталям и желание заранее предусмотреть возможные проблемы — признак эффективного разработчика. Если собеседование проходит онлайн, такой кандидат проверит заряд ноутбука, качество интернета, фон при включенной камере, обновления Zoom или Discord;  не опаздывает и выбирает опрятную одежду на очное интервью.

Подводим итоги

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

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