Эта статья – прямое продолжение материала о поиске аналитика. Я постараюсь сделать ее самодостаточной, поэтому некоторые общие моменты будут повторятся – заранее приношу извинения читателям, уже знакомым с предыдущей публикацией.
Даже самые блестяще собранные требования нуждаются в безупречной реализации. И здесь на сцену выходит настоящий рыцарь в сияющем худи, способный воплощать сложное в сжатые сроки, – разработчик. Найти сильного разработчика, особенно под специфическую платформу (в нашем случае BPMSoft), – задача не менее сложная, чем поиск хорошего аналитика, но абсолютно решаемая. Данная статья описывает субъективный подход к подбору этого ключевого специалиста и отражает собственный опыт, как обычно, не претендуя на звание единственно верного видения.
Первое с чем требуется определиться – критерии для специалистов по подбору. Данный этап особенно важен, так как не все разработчики подойдут. Для данной вакансии необходимо совпадение по стеку и области знаний.
Далее я напишу список основных критериев и почему их выбрал.
Высшее IT-образование
Опыт работы
Опыт работы разработчиком на платформе BPMSoft (или аналогичных low-code/code-based CRM/ERP-системах) – ключевой критерий (поиск джунов/стажеров сейчас не рассматриваю). Под аналогичными решениями имею в виду: 1C, Битрикс24, SimpleOne, решения на базе Microsoft Dynamics (Navision, Axapta), платформы SAP, а также BPM-системы (K2, ELMA365). Такой бэкграунд свидетельствует о понимании принципов работы сложных бизнес-систем, что критически важно для быстрого старта на проектах.
Личные качества
Данный пункт воспринимайте как описание идеального члена команды. К сожалению, кандидаты редко обращают на него внимание, но в целом его можно считать вашим посылом к будущему сотруднику – какие качества вы особо цените у людей в вашей компании и конкретно на данной позиции.
Навыки и компетенции
Здесь указывайте все, что нужно уметь кандидату для работы в вашей команде. Пример для должности разработчика на платформе BPMSoft:
Ключевые обязанности
Безусловно, указывайте список того, что вы хотите, чтобы человек делал. Это отчасти работа с ожиданиями и сильно влияет на прозрачность подбора. Пример:
Итак, вы успешно создали портрет идеального сотрудника, передали его HR-специалистам, а те, в свою очередь, сформировали вакансию. К слову, любая вакансия должна содержать хотя бы основную информацию о компании и, если есть возможность, о проекте, на который вы ищете разработчика. Далее к вам начали приходить подборки возможных кандидатов. Теперь надо выбрать. Вот на что и почему рекомендую обращать внимание:
Оформление резюме (структура, корректность описания)
Итак, вы успешно сформировали портрет идеального специалиста, отправили в HR-департамент, и вам начали приходить подборки возможных кандидатов. Теперь надо выбрать. Далее я напишу, на что наша команда обращает внимание и почему.
Мы ищем разработчика, а значит, для нас важно, чтобы этот человек мог структурированно излагать мысли. Резюме, перегруженное водой, или, наоборот, состоящее из трех строчек – тревожный сигнал. Смотрим на список технологий: если перечислено 20 языков и фреймворков – это повод задуматься об адекватности самооценки.
Опыт работы и возраст
Сложный пункт, но я постараюсь описать свое видение:
Мы дошли до самого интересного – собеседований. Я пропущу их первую стадию с HR и перейду к техническому интервью.
Важные моменты, о которых забывают интервьюеры
Реальный план собеседования
Сразу акцентирую, что для разработчиков тайминг всегда не менее 1-1,5 часа, так как тем для обсуждения очень много: опыт, база javascript, база C#, фронтовая разработка BPMSoft, бэковая разработка на C#, работа с БД, иногда микросервисы BPMSoft. Бывает, что приходится разбивать собеседование на 2 этапа: базовые знания и разработка в BPMSoft.
1. Приветствие и краткая справка о компании ~5 минут
Знакомитесь, рассказываете о компании, команде, проектах.
2. Рассказ кандидата о его достижениях ~10 минут
Вопрос на грани психологии. Просите рассказать о том, что он сам считает самыми крутыми достижениями. Из рассказа понимаете, на что человек делает акцент («я» или «команда»), уровень его задач, амбиций и вовлеченность.
3. Вопросы-ответы (проверка скиллов и компетенций) ~35-90 минут
4. Вопросы от кандидата ~10-20 минут
Даете возможность задать вопросы о компании, проекте и т. п.
5. Вопросы по ЗП и условиям работы
Обсуждаются либо на встрече, либо после решения о положительном прохождении технического интервью.
6. Завершение
Помните, что успешное собеседование не всегда означает успешного работника. Иногда люди просто умеют проходить собеседования (и это тоже навык).
На что обращать внимание
1. Софт-скилы
Вы ищете человека в команду, с которым будете общаться ежедневно. Умение объяснять сложные вещи простыми словами, слушать и задавать уточняющие вопросы – критически важно для взаимодействия с аналитиками и тестировщиками.
Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.
Заполнить заявку
13203 тендера
проведено за восемь лет работы нашего сайта.
2. Критические навыки
Для разработчика BPMSoft – это знание платформы, C# и Javascript.
3. Умение мыслить архитектурно
Не просто «как сделать», а «как сделать правильно, масштабируемо и поддерживаемо» и при этом смочь объяснить, почему выбрано именно такое решение.
Пример готового плана собеседования на должность разработчика BPMSoft (вступительную и часть с разбором опыта пропускаю)
1. Старт
Предлагаете кандидату выбрать, с какого блока вопросов начать: Frontend (JavaScript) или Backend (C#). Это помогает ему сразу чувствовать себя комфортнее, а нам понять, что ему ближе.
2. Блок вопросов по JavaScript
Начинаем с основ:
Вопросы по разработке фронта на BPMSoft (идете от самых частых задач к более редким):
3. Блок вопросов по C#
Начинаем с базы:
Вопросы по разработке бэкенда на BPMSoft (идем от частого к редкому):
Собеседование с разработчиком – процесс творческий. Рекомендую начинать с базового вопроса и, в зависимости от ответа, начинать «копать». Не для того, чтобы «закопать» человека, а чтобы понять глубину и системность его знаний.
Пример:
- Если ответ: «Так в документации написано / не знаю» – переходите к следующему вопросу или просите поразмышлять (если видите потенциал).
- Если ответ: «Я знаю, что это работает только при создании экземпляра через ClassFactory.Get, а сам ClassFactory – это обертка над Ninject...» – это открывает диалог о DI, IoC-контейнерах, переопределении биндингов и т. п.
- Ответ «Я не знаю» или «Так написано в базе знаний» не является блокером. Просто становится понятно, что в этой теме кандидату есть куда расти, и это нормально.
4. Вопросы кандидата
Важный момент!
Перед блоком вопросов по теме (C#, JavaScript и т. д.) рекомендую поинтересоваться:«А как ты сам оцениваешь свой уровень знаний (C#/Javascript/ExtJs/…) по 10-балльной шкале?». Возможно, звучит странно, но это один из ключевых вопросов. Он позволяет сразу узнать:
Подход к техническому тестированию
Не рекомендую практиковать написание кода непосредственно во время собеседования, считаю такой подход неэффективным. Стрессовая ситуация может негативно влиять на когнитивные способности кандидата, а продуктивное кодирование часто требует определённых условий: спокойной обстановки, отсутствия внешних раздражителей и полной концентрации.
Альтернативные варианты оценки технических навыков:
Принципы проведения собеседования
1. Образовательный подход
Стремитесь сделать процесс собеседования максимально полезным для кандидата. При возникновении затруднений с ответом на какой-либо вопрос, предоставляйте развернутое объяснение и помогайте углубить понимание темы.
2. Фокус на потенциале развития
Главная цель собеседования – оценить не только текущий уровень компетенций кандидата, но и его способность к профессиональному росту. Потенциал развития часто важнее текущего уровня знаний.
3. Практическое понимание vs теоретические знания
При оценке технических знаний приоритет отдается практическому пониманию концепций. Если кандидат не помнит точное определение, но демонстрирует глубокое понимание сути – это более значимый показатель его компетенций.
4. Взаимная выгода
Идеальным результатом собеседования можно считать ситуацию, когда:
Как и в случае с аналитиками, поиск подходящего разработчика требует времени и четкого понимания ваших потребностей. Наш подход постоянно улучшается, но основа остается: мы ищем не просто специалиста с нужными скиллами, а человека, который станет частью команды и разделит ее ценности, будь то Rightex или клиент, обратившийся к нам за услугой подбора людей.