«Флант» — это технологическая компания. Сейчас у нас порядка 60 человек и 7 команд. Что примечательно, практически все в той или иной мере инженеры — включая менеджеров, которые нет-нет, да и напишут строчку-другую кода.
Нашей отличительной чертой является постоянное изучение и развитие технологий — на данном этапе они преимущественно связаны с Kubernetes, но не ограничиваются им. Мы аккуратно обкатываем их на десятках проектов с самыми разными запросами, и это очень здорово расширяет кругозор каждого, кто с ними работает.
В этой статье я расскажу, как мы нанимаем новых сотрудников в полностью распределённую компанию и помогаем им влиться в наш «поток». Возможно, это натолкнет на мысли, как что-то улучшить в своих командах. К своему подходу мы пришли спустя годы проб и ошибок и на сегодняшний день уверены, что тем людям, которых наняли, можно дать рутовый доступ на клиентские серверы.
Поиски и знакомство
Найм в айти-компаниях — больная тема: на что только ни идут команды, чтобы заполучить нового бойца. Мы пока что не нашли серебряной пули, которая помогала бы нанимать сразу и много инженеров, которые разделяют наши ценности: мы любим Open Source, тщательно выбираем, с кем работать, а затем выкладываемся по полной, чтобы решать настоящие (а не выдуманные!) проблемы.
Многие из тех, кто оказывается на собеседованиях или подходят к нам на конференциях, говорят, что смотрели наши выступления на YouTube, читали статьи на Хабре и/или пользуются нашими разработками с GitHub. Но секрет Полишинеля всего один: хочешь найти сотрудников в формирующуюся команду — ищи их, вручную, долго и упорно.
Все собеседования и прочие коммуникации (включая даже продажи) в нашей компании идут через Slack (больше для текста) и Google Meet (видео) — они показали себя лучше всего. До этого мы продолжительное время поддерживали self-hosted-инсталляцию BigBlueButton, а также продолжаем работать и со своей IP-телефонией, которая актуальна на случай аврала и оставшихся потребностей в общении по телефону. Для последнего достаточно зайти во внутренний справочник сотрудников, нажать кнопочку — и сервис наберет по телефону вас и адресата для разговора.
Если перейти от коммуникаций к прочим особенностям рабочего окружения, то в целом они формируются подходом что мы инженеры и не хотим, чтобы нам что-то мешало решать инженерные задачи.
- График? Относительно свободный, если тебе надо пойти прогуляться — напиши в Slack-канал, убедись, что нет назначенных встреч и обещаний клиенту… и пожалуйста. Мы стараемся быть на связи с 11:00 до 19:00 по Москве, но в век победивших телекоммуникаций всё это решаемая задача.
- Дресс-код? Просто соблюдайте рамки приличия. По-моему, это прекрасный опыт — ходить на работу в тапочках и шортах. Конечно, нам всё равно хочется видеть людей вживую и общаться очно. Поэтому минимум раз в год мы собираемся на корпоративе, с семьями. Разумеется, проезд (как и все командировки) оплачиваются компанией. А живущие в относительной близости от офисов (в Москве и Нижнем Новгороде) могут заглянуть в последнюю пятницу месяца, чтобы поесть пиццы, выпить чего-нибудь вкусного, поиграть в PS или просто похоливарить о технологиях.
- К слову о холиварах: мы против авторитарности. Если вы говорите за дело, то можете хоть матом доносить свою мысль до технического директора. К чёрту формальности — сперва дело и правильные решения!
Найм: 0 этап — отбор
Как я успел сказать в самом начале, секрет поиска сотрудников видится нам в кропотливой и систематической работе по отбору резюме, размещенных в открытом доступе. Например, в том же Телеграме уже существует около 50 рекрутерских чатов, где можно искать кандидатов (самые полезные для нас — Devops_jobs, Telegram Job и Работа в IT). Кроме того, отлично зарекомендовал себя и всем хорошо знакомый hh… с одной особенностью: мы не ждем, пока кандидат откликнется сам на размещенную у нас вакансию, а отбираем резюме из базы, захватив таким образом даже тех, кто не находится в активном поиске работы, но готов рассмотреть интересные предложения.
В качестве примера приведём занимательную статистику о том, как совсем недавно за полтора месяца компания выросла на 7 DevOps-инженеров:
- Мы отобрали около 150 резюме, подходящих нам по профилю, и провели 78 первичных интервью (далее я подробно расскажу, что включает в себя каждый из этапов найма).
- По результатам интервью пригласили 32 кандидатов на второй этап — техническое задание. Успешно справившихся с ним ожидало финальное испытание — общение с тимлидами.
- На этом этапе мы общались с 11 кандидатами и приняли положительное решение по 7 из них.
Найм: 1 этап — собеседование-знакомство
Когда мы связались с потенциальным сотрудником и выяснили, что он не против познакомиться, наш HR проводит первый этап собеседования.
Задача HR’а — соотнести бэкграунд кандидата со стеком технологий, с которым в данный момент работают наши команды. Хочется понять, что кандидату знакомо хорошо и какие направления остаются для него пока зоной развития и обучения. Если уже на этом этапе наши интересы не совпадут, мы не сможем предложить будущему сотруднику почвы для реализации, а он, вероятно, не захочет двигаться туда, к чему душа не лежит.
Гораздо больше, чем то, «кем вы хотите себя видеть через пять лет», мы хотим понять, какие проекты инженер считает самыми классными в своём опыте, что его драйвит, как он предпочитает организовывать своё рабочее пространство. Последний вопрос особенно актуален: для значительной части новичков работа с нами — это первый опыт удалённой работы.
Интервью занимает около 30-40 минут, и мы понимаем, смотрим ли в одном направлении с кандидатом и на что обратить внимание при дальнейшем общении.
Найм: 2 этап — техническое задание
На втором этапе новичок знакомится с этаким квестом для инженера на смекалку и технические знания. Гуглом пользоваться можно, так что больше всё же на смекалку.
По сути инженеру выдают виртуальную Linux-машину с хитрыми и не очень зловредами, сломанным софтом и пачкой заданий, основную часть которых нужно решить непосредственно на виртуалке. Инженеру предстоит победить драконов, продемонстрировав своё владение головой, консолью и гуглом. Мы не ставим обязательной задачи победить их всех и сделать это идеально, но хотим понять, как человек в принципе подходит к решению задач на практике, а не на словах.
Интернетом пользоваться можно не только по той причине, что тест ближе к реальным условиям, чем к школьному экзамену. В первую очередь мы проверяем базовые технические навыки и общий кругозор (в области Linux), а не знание какого-либо специфичного софта и его конфигурационных директив. Нам важно увидеть, что человек способен подходить к проблемам системно и имеет достаточно опыта, чтобы понимать, в каком направлении вообще копать. Один из типичных вызовов любого инженера «Фланта» — это сталкиваться с непознанным, постоянно учиться, поэтому гибкость ума имеет не последнее значение.
Типичная ситуация в тестовой виртуалке для кандидатов, успешно загрузивших систему
Не менее важной, чем техническая составляющая этого теста, является и «скрытая» его сторона — психологическая. Кандидатов, проходящих наше весьма продолжительное задание, мы просим описывать свои шаги и промежуточные результаты в Slack. Там же, как правило, можно уточнять какую-то информацию, получая обратную связь… Анализируя общее поведение кандидата, его реакцию на всплывающие проблемы, информативность и общий тон комментариев, соответствие действий требованиям задания и множество других подобных факторов, мы делаем по-настоящему значительные выводы:
- Мотивирован ли этот человек на работу у нас?
- Командный ли это игрок и предрасположен ли он к частой коммуникации?
- Способен ли самостоятельно решать задачи?
- Следует ли конкретным инструкциям?
- Изобретателен ли в поиске технических решений?
- …
Даже если не все характеристики становятся очевидными, мы как минимум получаем обобщённый психологический портрет, который обязательно учитываем при принятии окончательного решения (предварительно раскрывая волнующие нас вопросы на следующем этапе).
Задание у нас по-настоящему длинное — в среднем на него тратят около 9 часов (включая всевозможные обеды и прочие перерывы, если кандидат их по своему желанию делает). Несмотря на это, более 80 % прошедших тестирование позитивно высказываются об этом тесте и благодарят за него по своей воле (т.е. ещё до того, как мы запрашиваем обратную связь). Однако мы понимаем, что это слишком много — поэтому (и из-за нескольких других причин) в настоящее время готовим значительно обновлённую версию задания, которая будет не только короче, но и не менее увлекательной и, надеемся, эффективной.
Найм: 3 этап — финальное собеседование
Когда пройдено тестовое задание, наступает время общаться с тимлидами. Собеседуют непосредственно те люди, которые могут стать руководителями инженера. Мы отдельно учим наших тимлидов готовиться и проводить собеседования, чтобы общение не «завязло» в каких-то узких темах, было интересным обеим сторонам, и не вызывало сильного стресса. Расшатанные нервы — плохой помощник при ответе на вопросы.
Тимлид должен уметь задать технические вопросы, понять, в какой парадигме управления проектами жил кандидат, суметь рассказать о работе в компании и объяснить, каково будет житься в его команде. Ведь если кандидат пройдёт — тимлиду нужно понимать, как «встроить» человека в свою команду, на что обратить внимание в первую очередь. В среднем на такое собеседование уходит около часа.
После (и, будем откровенны, иногда даже во время — через краткий обмен мыслями в Slack) встречи тимлиды решают, кто из них хочет взять инженера к себе в падаваны и какой из команд человек именно с такими талантами будет полезнее (а команда — будет полезнее ему). Финальный шаг — отправка кандидату предложения о работе.
Заключение
На решении кандидата о принятии job offer первая часть нашего сотрудничества заканчивается. Если мы получили согласие, то начинается новый и очень захватывающий этап — выход на работу и последующая адаптация. Об этом я расскажу в следующей статье.
Автор: may-cat