Главной ценностью IT-компании являются, конечно, ее специалисты, потому что труд этих специалистов продают. Но при продаже возникают проблемы:
- разработчики не слишком разговорчивы;
- разработчики говорят о коде, а не о бизнесе заказчика;
- разработчики не всегда компетентны в том, что рассказывают.
Поэтому в цепочке «заказчик — IT-компании — разработчик» далеко не все стороны заинтересованы в результате. Первый заинтересованный здесь — IT-компания. Поэтому именно на ней лежит не совсем обычная для «не-айти мира» обязанность: «продать» своего разработчика как можно выгоднее. В разрезе данной статьи будем рассматривать кейсы усовершенствования механизма «продажи» разработчиков (заранее просим прощения, как бы обидно это ни звучало).
Какие разработчики интересны компаниям и что может влиять на их стоимость?
Как правило, заказчики хотят, чтобы над их проектом трудились опытные сотрудники, которые имеют значительный опыт в разработке (в среднем от 5 лет и более). Имеют хорошие знания хотя бы одного из языков программирования, но при этом готовы изучать что-то новое и, возможно, могут выбрать другой язык написания для решения их конкретной задачи. Немаловажным фактором является владение английским языком. Это может быть не свободное владение, но уровень языка должен быть таким, чтобы пройти собеседование и использовать его при устном и письменном общении.
Невозможно оценить стоимость разработчика в отрыве от конкретного проекта. Каждый кандидат оценивается отдельно, с той точки зрения, насколько его скиллы и бэкграунд подходят потребностям конкретной компании. Поэтому чем больше опыт и бэкграунд соответствует потребности бизнеса, тем дороже будет стоить разработчик для этого конкретного проекта. Разумеется, есть факторы, которые увеличивают и снижают ценность разработчика.
Факторы, которые могут снижать стоимость разработчика
- Непостоянство работы над проектами, частые переходы, работа менее года над одним проектом. Наиболее критично, если такой опыт частых переходов — в последние 3–5 лет.
- Преимущественно фриланс-проекты в опыте, а также отсутствие достаточно сложных и больших проектов в опыте за последние 3–5 лет. Также менее ценным считается опыт в digital-агентствах, работодатель обычно предполагает, что в таких компаниях чаще всего ведется разработка несложных, типовых, коротких задач.
- Опыт написания кода только с использованием фреймворка. Многим компаниям важно знание core-языка, поэтому если разработчик может писать код только с использованием фреймворка, это может быть ограничивающим фактором.
- Основной опыт разработчика в последнее время связан исключительно с поддержкой проектов, простым багфиксингом и т.д. Такой опыт может быть востребован в компаниях с подобными задачами, но может быть ограничивающим фактором там, где нужно писать активные продуктовые фичи, в том числе с нуля.
Факторы, повышающие ценность разработчика
- Опыт работы в известных, брендовых и масштабных проектах.
- Опыт работы с конкретными технологиями. Чем важнее для компании, тем оцениваются выше. Например, тимлида с опытом разработки продукта с ML или CV при прочих равных оценят дороже в случае, если компания разрабатывает продукт с использованием именно этих технологий.
- Опыт работы с нативным языком часто ценится больше, чем опыт написания кода только с использованием фреймворка.
- Чем релевантнее стек разработчика стеку проекта, тем более ценным он будет для компании.
- Ценится опыт разработки highload-проектов, а также опыт разработки продуктов/проектов/крупных и сложных фичей с нуля.
- Участие в open source проектах, опыт написания собственных библиотек, фреймворков и проч. может быть плюсом для некоторых компаний.
Разработчик проходит собеседование не только при устройстве на работу, но и в процессе работы с заказчиком. В среднем разработчик попадает на собеседование с заказчиком 2–3 раза в год, но все зависит от долгосрочности реализуемого проекта.
Белорусский IT-рынок славится работой с зарубежными компаниями. А это значит, что общение между заказчиком и разработчиком преимущественно ведется на английском языке. Несмотря на то что разработчики, как правило, владеют английским языком, презентовать себя на нем задача достаточно сложная. А решать ее необходимо, потому что это дает возможность работать над интересными проектами и, соответственно, больший профит для компании. Поэтому, как правило, к интервью с заказчиком разработчиков готовят HR-специалисты или sales-менеджеры.
Как подготовить разработчика к собеседованию с клиентом
Для подготовки разработчиков к собеседованию с заказчиком собираются и обновляются вспомогательные материалы и подсказки, начиная от фраз, которые стоит использовать, и вплоть до языка тела.
Обычно подготовка состоит из нескольких этапов:
- самоподготовка;
- репетиция с коллегами, проработка полученных отзывов;
- общение с Sales Manager — человеком, который обладает максимально доступной информацией о проекте, позиции и заказчике;
- интервью c заказчиком.
Разумеется, компании выгодно продать разработчика подороже, поэтому каждый блок интервью тщательно прорабатывается и представляется в выгодном для заказчика свете.
- Интро, soft skills и коммуникация
- Есть специальные тренировки по small talks, чтобы задать тон разговору и показать готовность к общению.
- Учат избегать односложных ответов. Односложные ответы не раскрывают ход ваших мыслей, заставляют вытягивать полный ответ «щипцами». Процесс интервью показывает, как вы будете работать с заказчиками в команде, а при таком стиле сразу же складываются не самые лучшие впечатления.
- Избегают критики. Если кандидат плохо отзывается о прошлых проектах, команде, процессах, сразу же возникает много вопросов, подрывается установленное с начала разговора доверие.
- Бэкграунд
- Рассказ об опыте должен быть релевантен тому, что ищет заказчик. Соответственно, делается упор на ключевые для заказчика аспекты (даже если разработчик не в полной мере владеет ими, а «немного читал»).
- Техническая часть
- Самый сложный этап интервью, т.к. к нему невозможно полностью подготовиться. Как правило, это live coding или вопросы, выходящие за рамки домена. Однако, если интервью проходит несколько разработчиков, то после первого интервью эта информация сразу же передается остальным кандидатам, чтобы они могли лучше подготовиться.
- Типовые вопросы
- Тщательно готовятся ответы на типовые вопросы интервью, например: «Расскажите о сложной задаче, которую вам довелось решить». Как правило, 90% разработчиков говорят, что они проблем-солверы, что логично наводит на вопрос, так какие же проблемы они решают. В этом случае учат избегать рассказов про рутинные задачи, которые работник и так должен выполнять в рамках своих обязанностей.
- Вопросы к заказчику
- Как известно, у кандидата больше шансов пройти интервью, если он покажет свою заинтересованность в проекте. Поэтому проговариваются и подготавливаются вопросы к заказчику в конце интервью, которые позволяют показать заинтересованность в задачах на проекте и, может быть, узнать дополнительные детали.
Здесь существует win-win решение и для программиста, и для компании. Чтобы разработчик стал более ценным для клиентов, его из услуги надо превратить в solution, или решения. Для этого разработчику будет полезно качать смежные области: бизнес-анализ, управление проектами, ведение переговоров и т.д. То есть не просто кодить по вдохновению, а пытаться решать бизнес-проблему заказчика. Даже если разработчик просто «говорит о бизнесе» — это уже крайне хорошо на собеседовании, если разработчик говорит «аргументированно хорошо» — это блестящий результат.
Чем больше у разработчика кросс-дисциплинарных знаний, тем более качественный результат он может предоставить на выходе и тем выгоднее он становится своему работодателю: нужно меньше подпорок в виде толпы менеджеров и тестировщиков.