Сеньор-разработчик: инструкция по применению
Или зачем в проекте нужны дорогие специалисты, если с задачами могут справиться мидлы и джуны.
Кадр: сериал «Обмани меня» / 20th Century Fox Television
Казалось бы, странный вопрос: кто же откажется от высококвалифицированных программистов? Однако на практике тимлиду действительно может показаться, что куда проще и выгоднее нанять мидлов с зарплатами в 2–3 раза ниже. Но даже если сомнений в ценности сеньор-разработчиков нет, при формировании команды могут возникнуть другие вопросы. Например, как искать сеньоров и сколько нанимать?
Давайте порассуждаем.
Для чего на проекте нужны сеньоры
Сеньоры, или старшие разработчики, в команде — это всегда процессуальные или технические лидеры. Другими словами, они выступают в роли управленцев и самых прокачанных технарей.
Потребность в сеньорах зависит от величины и сложности проекта. Если задействованы редкие и/или сложные технологии, специалиста по которым днём с огнём не сыщешь, то едва ли стоит надеяться, что мидлы и джуны самостоятельно во всём разберутся. Особенно когда дело касается ключевых решений, которые влияют на архитектуру системы, — только сеньорский опыт и глубокое понимание подкапотных процессов позволят обеспечить безопасность и сохранить высокие стандарты разработки.
Но это, конечно, не единственное предназначение опытных разработчиков.
Передача опыта команде. Сеньор может выступать в роли наставника для джунов и мидлов, повышать квалификацию членов команды и растить будущих сеньоров.
Траблшутинг. В силу всё того же опыта старшие разработчики эффективно справляются со сложными и на первый взгляд нерешаемыми задачами. Если возникла проблема, к которой непонятно, с какой стороны подбираться, бросьте на неё команду из сеньора и одного-двух мидлов — результат не заставит себя ждать. В большинстве случаев сеньор просто возьмёт и сделает, тогда как даже одарённым мидлам может не хватить опыта для поиска решения.
Управление. Как правило, старшие разработчики обладают высокими навыками управления проектом, умеют эффективно распределять задачи среди членов команды, контролировать качество и сроки разработки. Тимлид, который умеет этим пользоваться, может сильно упростить себе работу.
Внедрение стандартов. Опытный автоматизатор способен внедрять в работу лучшие практики, паттерны проектирования и архитектурные стандарты. Это помогает обеспечить высокое качество кода и напрямую влияет на продукт.
Понимание бизнес-задач и их трансляция команде. Многие мидлы и джуны «находятся в вакууме» и мыслят тасками — это неизбежно на их уровне. Сеньоры же понимают цели проекта и пресловутые потребности бизнеса, ориентируются на них, знают, как выстроить взаимодействие с менеджментом, другими участниками команды, а в некоторых случаях и с заказчиками.
Ключевые качества сеньора
Конкретный набор навыков конкретного сеньора зависит от потребностей проекта. Однако я бы выделил три главных качества, без которых невозможно представить ни одного старшего разработчика:
- высокие технические компетенции, или жёсткие навыки;
- навыки управления командой;
- навыки коммуникации.
Найти специалиста, у которого одинаково хорошо развиты хард- и софт-скиллы очень тяжело — часто поиск подходящего специалиста растягивается на несколько месяцев. Поэтому не стоит руководствоваться принципом «всё или ничего». Если в проекте нет сложных технологий и больше нужен тот, кто способен рулить процессами, общаться с менеджерами и быть связующим звеном между бизнесом и разработчиками, ищите в первую очередь такого человека.
Если бюджет позволяет нанять двух сеньоров, то пусть они дополняют друг друга: один будет силён в коммуникациях и управлении, а второй — в архитектуре, инженерии, программировании и так далее. С одной стороны, это повысит bus-фактор — если тимлид выпадет на неделю из процессов (а тимлиды частенько выпадают), то никто не заметит его отсутствия; с другой — повысит вашу уверенность в технической составляющей проекта. Грубо говоря, «сеньор-технарь» должен уметь выполнить любую техническую задачу. В моей команде такие ребята «тащат» самую сложную часть автоматизации тестирования.
Как найти сеньора своей мечты
В среднем поиск сеньора занимает 3–4 месяца. Иногда удаётся справиться быстрее, но я всё же рекомендую закладывать именно такие сроки.
Даже когда вы найдёте классного кандидата, не спешите высылать оффер. Безусловно, среди сеньоров много интересных ребят — ведь, чтобы дорасти до этого грейда, нужно обладать незаурядными качествами. Поэтому есть риск «влюбиться» с первого взгляда и поддаться соблазну ударить по рукам, не выяснив тщательно, насколько человек подходит для проекта.
Вот несколько рекомендаций по поиску сеньоров, к которым я пришёл сам, проработав тимлидом несколько лет.
Определите требования вакансии. С этого начинается поиск любого специалиста — и сеньоры здесь не исключение. В первую очередь именно вы, наниматель, должны чётко понимать, кого ищете: какие технические навыки, опыт и личные качества ожидаете увидеть.
Опишите эти требования понятно и проговорите их во время интервью. Если ваша команда работает над специфичным продуктом, который, например, может не соответствовать моральным или иным убеждениям кандидата, об этом нужно прямо сказать на собеседовании. Лучше выяснить потенциальные противоречия на берегу, чем через пару месяцев терять специалиста, в которого вы вложили время и деньги. То же самое касается процессов. Часто на собеседовании я прошу сеньоров рассказать, как, по их мнению, выглядят идеальный проект и команда. Правильных ответов нет, но они позволяют понять, насколько представления кандидата совпадают с видением команды.
Объясните свои требования HR. В некоторых компаниях есть классные рекрутеры, которые делают всю работу по найму самостоятельно. Достаточно лишь написать несколько пунктов требований, и они всё учтут, дополнят и проведут качественный скрининг. Но так устроено не везде. Скорее всего, вам придётся налаживать связь с HR-отделом и помогать им с наймом.
Долгое время я работал в крупной компании, где HR-специалисты всю работу по поиску кандидатов делали за меня. Затем перешёл в стартап и столкнулся с проблемами.
Я составил список обязанностей, указал требуемые навыки и качества, передал всё HR. Когда ко мне начали присылать людей, я, мягко говоря, был в шоке: попадались кандидаты с явно скопированными резюме, которые даже не знали, что у них там написано. Как они прошли через рекрутеров — для меня остаётся тайной. Одно было понятно точно: это моя ошибка. Я не проделал нужную работу с рекрутингом заранее.
Чтобы такого больше не было, мы вместе с HR-менеджерами составили список вопросов, которые они задавали соискателям ещё на предварительном этапе поиска. Я расставил акценты, указал, на что обращать внимание при просмотре резюме и общении. В результате конверсия на этапе собеседования значительно выросла.
Составьте вопросы, релевантные позиции. Не стоит спрашивать у сеньора то же, что у джунов и мидлов. Во-первых, так вы не сможете оценить ключевые сеньорские навыки, а во-вторых, ваша неподготовленность оставит у кандидата негативное впечатление о компании. Я практически не обсуждаю с сеньорами базовые принципы тестирования, но разбавляю интервью провокационными вопросами, у которых нет правильного ответа, но которые выявляют культуру человека.
Поддерживайте имидж компании. Этот пункт больше относится к стартапам, потому что в крупных компаниях одному человеку сложно изменить репутацию HR-бренда. Но даже там можно в какой-то степени повысить интерес потенциальных соискателей. Отправляйте своих сотрудников на конференции и митапы, выступайте сами, рассказывайте про ваши проекты, процессы и используемые технологии. В общем, качайте те самые DevRel. И не забывайте о нетворкинге на профильных мероприятиях и в сообществах.
Создавайте привлекательные вакансии. Да, вакансии тоже нужно продавать. Особенно там, где требуются редкие и дорогие специалисты. Подробно опишите проект и соблюдайте доброжелательную тональность. Уделите особое внимание разделу с «плюшками» (PlayStation, ДМС, компенсация абонемента в спортзал и так далее). Только обязательно согласуйте список «бонусов» с рекрутерами :)
Будьте активны. Активный поиск предполагает постоянный нетворкинг. Ходите на конференции, митапы, общайтесь с потенциальными кандидатами в профильных чатах. Например, есть чат в Telegram QA Hiring. Там можно размещать вакансии и искать кандидатов. Наверняка для разработчиков, аналитиков, дизайнеров что-то подобное тоже существует.
Используйте эффективные методы интервью. Разработайте структурированные и эффективные подходы заранее, составьте примерный план с блоками, систему оценки. Продумайте техническое задание, которое позволит оценить навыки соискателя, но не займёт слишком много времени. Обязательно включите блок обсуждения предыдущих проектов.
Можно запросить рекомендации. Я не люблю обращаться к предыдущим работодателям кандидата, но знаю, что такая практика имеет место. Бывшие коллеги могут подробно рассказать о том, каков кандидат «в бою», какие у него сильные и слабые стороны и соответствует ли его опыт и навыки тому, что он пишет о себе в резюме. Чтобы процесс был прозрачным, рекомендую заранее предупредить соискателя о том, что вы планируете запросить характеристику с предыдущего места работы.
Привлекайте команду к собеседованию. Полезно, когда в интервью участвуют коллеги, с которыми соискателю предстоит плотно взаимодействовать. Их оценка поможет определить, насколько кандидат соответствует духу команды.
Наняли. Теперь оцениваем, как человек справляется
Я уже частично говорил об этом в предыдущем разделе, но остановлюсь подробнее. Очень важно, чтобы ценности и взгляды кандидата соответствовали установившимся ценностям команды. Во-первых, единомышленники всегда усиливают команду, а во-вторых, это гарантирует быструю адаптацию в коллективе. Обычно проблемы по этой линии вскрываются уже в первые месяцы.
Регулярно просите обратную связь у коллег. Поинтересуйтесь мнением руководителей — в случае с сеньором особенно важно, что о нём думает менеджмент. Узнайте, какие впечатления у них сложились от общения и сотрудничества. Мнением команды тоже стоит поинтересоваться, особенно если человек выступает в роли наставника. Если сеньор менторит джунов, спросите у них, помогает ли он разобраться с технологиями, отвечает ли на их вопросы, приятно ли с ним взаимодействовать.
И конечно, никто не отменял KPI. Дать окончательную оценку эффективности нового сотрудника можно лишь в конце испытательного срока. Но сделать это можно, только если поставить конкретные цели — KPI или OKR. Обозначьте заранее, каких целей вы рассчитываете достичь и за какой период. Часто благодаря этому уже на ранних этапах можно сделать предварительные выводы о человеке.
Вместо вывода
Напоследок — ещё один совет тимлидам. Я считаю, что руководителю необходимо поощрять амбиции сотрудника, который хочет попробовать силы в менеджменте и обладает подходящими софт-скиллами. Как минимум потому, что это выгодно.
Когда ко мне в команду пришёл сеньор с талантом управленца, я передал ему часть операционки: планирование и распределение тасков, проведение встреч с продакт-менеджерами и так далее. Он успешно справляется с новыми задачами и существенно разгружает меня, что позволяет сфокусироваться на более важных и специфических направлениях работы.
Главная сложность с сеньорами в том, что им быстро становится скучно. В таких случаях можно проводить ротации между командами или нагружать старших разработчиков дополнительной ответственностью. А ещё, чтобы сеньор не заскучал, подключайте их к наставничеству и проведению собеседований — многим нравится демонстрировать свои знания на интервью. Ну и, конечно, не забывайте про поощрения, премии и другие бонусы.