Вот уже год, как я собеседую кандидатов на должность разработчика 1С. В марте я выступал на конференции для разработчиков и консультантов во Владимире, где рассказал, что нужно знать и уметь, чтобы стать программистом 1С в современной IT-компании.
Обычно в IT-компаниях, чтобы понять, насколько хорошо разработчик владеет языками программирования и какие технологии использует в работе, ему дают тестовое задание. Например, компании нужен разработчик на платформе «1С: Предприятие». HR приглашает кандидатов, имеющих сертификат «1С: Специалист», и просит их за несколько дней реализовать законченную конфигурацию предприятия с документами, регистрами, отчетами. После тестирования выбирают того, кто справился с заданием лучше всех.
Собеседование со мной — прежде всего беседа. Причем это не разговор подчиненного с начальником, а приятельское общение двух профессионалов о любимом деле. Чтобы стать частью команды, соискатели проходят 4 этапа: HR, теорию, практику и сбор рекомендаций.
HR-собеседование
Отправить своё резюме в HR-службу соискатель может через сайт, агрегатор поиска работы или во «ВКонтакте». Также кандидаты узнают о наших вакансиях из роликов на YouTube. В компании практикуется акция «Приведи друга»: если новый сотрудник пройдёт испытательный срок, тот, кто его порекомендовал, получит денежный бонус.
Связавшись с потенциальным работником, рекрутер уточняет данные из резюме и просит кандидата оценить свои знания 1С по 10-бальной шкале. Также HR узнает, с какими конфигурациями работал соискатель и назначает время теоретического собеседования.
Теоретическое собеседование
Кто-то спросит: «Зачем вы проверяете теорию? Разработчик должен задачи выполнять, а не курсы вести».
Мы считаем, что без глубоких теоретических знаний сотрудник не может грамотно и комплексно подходить к проектированию и решать задачи клиентов. Кроме того, сильная теоретическая база помогает программистам общаться друг с другом на одном языке.
Теория — это 1,5–2-часовое собеседование, которое проводит опытный программист. Разработчик проверяет знания соискателя по следующим разделам платформы 1С:
- Справочники и регистры,
- Запросы,
- СКД,
- Управляемые формы,
- Общие объекты,
- КД,
- Обмены и web- и http-сервисы,
- Управление доступом.
По Запросам, СКД и УФ должны быть отличные знания, так как эти разделы критичные и базовые. Если кандидат теряется, мы помогаем ему прийти к правильному варианту: даём подсказки и рассуждаем вместе с ним. Если выясняется, что человек вообще не знаком с темой, мы максимально полно раскрываем её. Теоретическое собеседование не экзамен, на котором преподаватель расставляет оценки, а разговор. Мы стараемся, чтобы претенденты узнали что-то новое и ушли от нас с хорошим настроением, даже если не получат приглашения на следующий этап.
Кроме профессиональных навыков на собеседовании я определяю личные качества человека и его цели:
- смотрю, как он общается и реагирует на сложные вопросы;
- спрашиваю, были ли конфликты на предыдущих местах работы, из-за чего и как решались;
- уточняю, чего хочет добиться кандидат в нашей компании и рассказываю о наших ценностях;
- узнаю, как потенциальный работник относится к саморазвитию: технологии и конфигурации постоянно обновляются и, чтобы поддерживать свой уровень и развиваться, программисту нужно заниматься дополнительно в нерабочее время. Материалы мы предоставим, но будет ли человек их изучать — вопрос открытый.
Наша компания работает по принципам холакратии. У сотрудников много возможностей профессионально расти: они могут брать сложные интересные проекты, пробовать себя в смежных областях. Если выясняется, что кандидат рассматривает работу как перевалочный пункт, рассчитывает уделять мало времени или не хочет развиваться, с нами ему будет некомфортно. Мы настроены на длительные отношения с сотрудниками.
Если человек не справился с теорией, мы не прощаемся с ним навсегда, а даём бесплатные обучающие материалы: статьи, курсы, видео на YouTube, — чтобы он мог подтянуть слабые места и прийти на собеседование ещё раз.
Практическая часть
Если соискатель успешно проходит теорию, мы приглашаем его на практическую часть, которая занимает 2–2,5 часа. Мы помогаем кандидату с практикой: рассказываем, по каким темам она будет, и рекомендуем материалы для подготовки.
Мне важно видеть, как разработчик решает задачи, поэтому задание выполняется по Skype. В удобное время мы с коллегой звоним претенденту, он включает демонстрацию экрана и пишет код. Мы в режиме онлайн наблюдаем за процессом и сразу замечаем, если кандидат приходит к рабочему решению неправильным, потенциально опасным путем.
Выполняя задание, программист может использовать синтаксис-помощник, но тестировать результат, запуская его в режиме «Предприятия», нельзя. Это условие помогает избежать неприятностей в будущем. Иногда разработчики не до конца понимают, как работает их алгоритм, но, протестировав его и получив верный ответ, переносят код в рабочую базу. Через какое-то время в системе вылезает проблема и клиент может потерять деньги.
Создать алгоритм без тестирования несложно: от соискателя не требуется ничего выдающегося — задания довольно простые для подготовленного специалиста. Прежде всего с помощью задач мы выясняем, как разработчик размышляет, и определяем его практические знания Запросов, СКД и УФ. Также обращаем внимание на следующие моменты:
- насколько внимательно человек читает задание и пишет код;
- задаёт ли он дополнительные вопросы или сразу берётся за решение;
- способен ли он проверить код в голове.
Если кандидат запутался, мы помогаем ему, например, рисуем таблицы, которые получаются после выполнения запроса.
На практическом собеседовании раскрываются не только профессиональные навыки, но и личные качества претендента. Мы смотрим, как он общается с нами, как реагирует, если у него находят ошибки или если ему рекомендуют более оптимально написать код.
В конце практики, если программист справляется с заданием, я спрашиваю, есть ли у него мечта. Ответ «нет» — тревожный знак: кандидату нужно будет уделить больше внимания. Если у человека нет мечты, то ему труднее стать счастливее, а мне сложнее ему помочь.
Сбор рекомендаций
Успешное прохождение практики — еще не конец истории. Дальше HR-отдел собирает рекомендации с предыдущих мест работы соискателя. Мы не делаем из этого тайны — контакты коллег, которые согласны пообщаться с нами, предоставляют сами кандидаты.
Мы не звоним начальнику или коллегам с текущего места работы претендента, чтобы избежать конфликта. Когда по соискателю не остаётся вопросов, мы берем его на испытательный срок.
Мой подход к выбору разработчика долгий — в среднем все 4 этапа кандидат проходит за месяц. Однако эта система помогает найти и взять в штат толкового программиста с прокачанными профессиональными навыками и развитыми личными качествами.
P. S. Помогла подготовить статью Анжелика Черниго.
UPD. Cтатья вызвала много вопросов. Вот в этих комментариях мы ответили (104), (113).