Как нанять программиста, если ты не программист
Найм разработчика без понимания IT-сферы - страшный сон любого эйчара-гуманитария. Как профессионально оценить специалиста? Может быть, подучить пару языков? Закончить экстремально быстрый интенсив по специализации фулстека?
Обычно такая проблема не стоит перед крупными IT-компаниями: внутренний кадровик уже имеет опыт по найму технарей. Но если речь идет о стартапе, здесь уже все значительно сложнее.
Во-первых, определитесь, действительно ли вам нужен штатный специалист или можно обойтись силами одного фрилансера? Если у вас еще нет четкого видения своего проекта и вы находитесь в процессе генерирования идей, возможно, что через пару месяцев вашему специалисту будет нечего делать.
Если же вы определились, что вам точно надо, то можно начинать поиск.
У стартапов нет крутых тимлидов, чтобы быстро обучать новичков, поэтому разработчика нужно брать опытного - как минимум, от 3 лет стажа. Отлично, если он уже поработал в крупных компаниях. Кстати, если вам нужен только один специалист, то обратите внимание на фулстеков - программистов, которые хорошо знают и понимают все этапы разработки, а также владеют всем стеком технологий веб-программирования.
Как правильно составить вакансию?
Молодая и динамично развивающаяся компания, дружный коллектив, лидер на рынке - забудьте о таких формулировках раз и навсегда. Никому не хочется тратить свое время на то, чтобы до конца дочитать ваш водянистый текст и попытаться понять, что же конкретно вы предлагаете.
А разработчики - люди серьезные, которым нужна конкретика, четкость и полная прозрачность🤓
👉🏻Вакансия разработчика должна быть составлена таким образом, чтобы после первого прочтения соискателю сразу стало ясно, какими проектами ему предстоит заниматься, какой стек технологий используется, каковы ценности в компании, сколько будете платить, есть ли возможность роста и обучения, а также почему он должен захотеть работать именно у вас.
👉🏻Описание проекта: например, мы занимаемся разработкой мобильного приложения (название) для фрилансеров в сфере digital, с помощью которого исполнитель и заказчик могут найти друг друга. Обязательно укажите, какие технологии и инструменты используются в разработке, и какой частью разработки будет заниматься искомый кандидат.
Описывая задачи и цели, избегайте формулировки «работа в интересном проекте». Лучше напишите о том, чего вы хотите достичь при помощи нового сотрудника - увеличить скорость работы приложения, привлечь большее число пользователей, сделать интерфейс понятным и удобным.
👉🏻Команда: очень важная составляющая. Опишите, сколько человек работает над проектом, на каких должностях, сколько всего людей числится в компании, есть ли представительства в других городах или странах. Например: над нашим мобильным приложением работают фронтенд, бэкенд, разработчики Android и iOS, аналитики, тестировщики, а еще есть крутой продакт менеджер и тимлид, который обучает новичков.
Если фаундер активно принимает участие в разработке, то расскажите и об этом.
👉🏻Обязанности: не перечисляйте просто список языков и фреймворков. Четко сформулируйте, чем нужно владеть для работы у вас: например, кандидат должен на продвинутом уровне знать Python, есть опыт работы с приложениями, умеет масштабировать базы данных. Если ваша компания - начинающий стартап и никакого тимлида еще нет, попросите опытного программиста помочь составить понятный список требований.
И, конечно, не забывайте о бонусах - почему кандидат должен хотеть работать у вас? Что есть у вас, чего нет о конкурентов?
По сути - описание вакансии это продажный лендинг. Чем четче, привлекательнее и понятнее все описано - тем выше шансы на хорошую конверсию.
Вопросы для собеседования с разработчиками
Представьте, что ваша вакансия уже собрала достаточное количество откликов и теперь осталось делом за малым - оценить каждого кандидата и выбрать того, кто идеально впишется в ваш проект и вашу компанию. Первый контакт лучше осуществить через мессенджер, особенно, если вы ищите разработчика на удаленку (может быть разница с вашим часовым поясом).
👉🏻Перед собеседованием (лично или по видеоконференции) определитесь с тем, что вы хотите выяснить на встрече. А именно:
⁃ Не только опыт кандидата, но и то, что он может сделать для вашего проекта сейчас и в будущем;
⁃ Насколько человек сможет вписаться в вашу команду и культуру вашей компании;
⁃ Его личные качества - например, если речь идет об удаленной работе, то с дисциплиной у человека все должно быть в порядке. Мелочь, но важно, если вы не планируете тратить свое рабочее время на то, чтобы постоянно «пинать» сотрудника и круглые сутки контролить его задачи.
👉🏻Если вы проводите собеседование лично на встрече, убедитесь, что вам есть, где его проводить - в отдельной комнате/переговорке, чтобы рядом не было посторонних. Можно взять с собой в качестве подстраховки технического специалиста - но не для того, чтобы проводить перекрестный допрос, а на случай, если вам понадобится помощь.
Не пытайтесь сократить время собеседования - отведите на встречу как минимум 1,5 часа. Не нужно общаться с кандидатом, постоянно заглядывая в листок бумаги или ноутбук - подготовьтесь заранее и проявите уважение к человеку.
👉🏻Какие вопросы нужно задавать?
Начните с того вопроса, который будет приятен кандидату.
📌А именно - «Расскажите о проекте, которым вы гордитесь больше всего и что конкретно вы сделали для его успешной реализации?Как была построена работа внутри проекта, чем занимались остальные члены команды?»
📌Следующий вопрос может быть противоположным - «Расскажите о самом неудачном запуске проекта и что бы вы сейчас в нем изменили?» Хороший разработчик постоянно анализирует свою работу, и вам вряд ли захочется нанимать человека, который постоянно повторяет свои ошибки.
📌«Что для вас самое сложное в работе?»Вопрос, который позволяет понять слабые стороны специалиста в технических навыках.
📌«Как отслеживаете последние тенденции в веб-разработке?» Тут сразу будет понятно, какие усилия кандидат прикладывает, чтобы оставаться востребованным специалистом.
📌«Опишите процесс создания веб-приложения». Вопрос уместен для разработчиков любого уровня. Ответ на него дает понимание, как кандидат справляется с базовыми задачами - использует ли он фрагменты кода или же дополнительные инструменты для программирования, такие как Yeoman?
📌«Можете ли вы объяснить назначение каждого типа HTTP-запроса при соблюдении требований RESTful» - это отличный вопрос, чтобы оценить базовое понимание специалистом HTML.
📌Вопрос на понимание CSS - «Как лучше будет интегрировать пять разных таблиц стилей в сайт?». Что сделает кандидат: объединит их в один CSS-файл или только для конкретного приложения, как использует бибилотики стилей?
📌«Как лучше всего организовать JavaScript-код?» - очень хороший вопрос, чтобы понять, как программист систематизирует свой код. А именно: разделяет ли он JavaScript и HTML, использутет ли специальный скрипт для объединения файлов в один пакет?
📌«Что используете для выявления багов?» - тут уже зависит от среды разработки. Ваша задача узнать не то, каким инструментом пользуется кандидат, а как подходит к решению проблем.
Опять же - с составлением вопросов под конкретную должность и сферу лучше обратиться к опытному разработчику, который сможет вам помочь. Если вы рассматриваете человека на позицию, где важны коммуникативные навыки, то стоит задать следующие вопросы:
📌«Какую проблему, не касающующуюся разработки, вы решили?». Тут неважно, с какой именно проблемой столкнулся ваш кандидат, важно увидеть его способность взаимодействовать с другими людьми и решать разные вопросы.
📌«Был ли у вас опыт парного программирования? Опишите его». Вопрос, который стоит задать, если хотите узнать, готов ли кандидат разбираться с коллегой в его коде.
📌«Был ли у вас опыт работы с заказчиком?». Можно понять, как кандидат реагирует на критику и мнение других людей.
Что, если нужна команда разработчиков?
Если вы ищите специалистов для стартапа, то речь уже пойдет о найме команды, и тут тоже важно учесть некоторые нюансы.
👉🏻Например, в теории это выглядит довольно просто: набрали людей, подготовили описание вашего продукта и ваше видение, обозначали дедлайны - казалось бы, этого достаточно. Однако довольно часто что-то может пойти не так: срывы сроков сдачи, постоянные баги, бесконечные доработки, «выгорание» команды.
Ниже расскажем, как нанимать команду спецов, чтобы снизить вышеперечисленные риски⬇
👉🏻Определитесь с составом команды, которая зависит от масштаба проекта и целей бизнеса. Если ваш проект на стадии стартапа, то можно не нанимать большую команду. Однозначно нужен тимлид, фронтенд и бэкенд разработчики, UI- и UX-дизайнер, тестировщик, аналитик. Вопрос - нужен ли фулстек - программист который знает и понимает все стадии разработки? Если ваш бюджет позволяет, то однозначно нужен: специалист может посмотреть на каждую задачу комплексно, помогает справиться со сложными задачами и вообще умеет практически все.
Фулстека часто нанимают при ограниченном бюджете в стартапы, но здесь есть большой риск выгорания специалиста из-за многозадочности и срывов дедлайнов.
👉🏻Нанимайте людей с опытом не менее 3 лет в крупных и средних компаниях - такие специалисты понимают правильную культуру компании, у них уже есть опыт реализации качественных продуктов, им не нужно объяснять, как нужно работать. Понимание правильной культуры компании: когда разработчик работает на результат и не приемлет конечного продукта на уровне «так себе», умеет сотрудничать с другими членами команды и всегда открыт к развитию и обучению. Не нанимайте людей без опыта и студентов - экономия на бюджете на старте проекта в итоге выльется вам в крупную сумму на финальном этапе, когда придется все переделывать и искать новых людей.
👉🏻Очень важно увлечь команду вашим продуктом. Когда разработчик горит идеей и хочет самореализоваться в рамках вашего проекта - это одна из сильнейших мотиваций. Бонусы, зарплаты, приятные рабочие условия - не менее важные составляющие. Специалист может качественно работать за хорошую зарплату, но если вы стартап, то нужно сделать все, чтобы замотивировать сециалистов своим продуктом и его идеей.
Если вы нанимаете специалистов не по отдельности, а, например, берете готовую команду на аутсорсе, то пообщайтесь с каждым членом группы, а не только с тимлидом. Насколько каждый из них осведомлен о своей роли и целях? В хорошей команде группа людей может отлично функционировать как вместе, так и по отдельности.
Удачи!
С каких пор эйчар решает, какие нужны специалисты компании? И с каких пор специалистов на сложные профессии собеседуют без участия руководителя того же подразделения, в котором будет работать программист, который хотя бы компетентен в этом вопросе?
с тех пор, как рекламу надо всунуть под видом статьи )
Я бы на шаг назад посмотрел. Кто доверил найм разработчика эйчара-гуманитарию без понимания IT-сферы? И вообще, как такой нулевый эйчар оказался в компании, где работают разработчики? Все должны быть на своих местах. Если один некомпетентный сотрудник нанимает другого, то это бесконечный процесс. А если эйчар без ИТ-знаний, то сделайте хотя бы минимальный тренинг. И не придется писать статьи, после которых люди, их прочитавшие, станут считать себя специалистами. Такие HR "специалисты" только приносят вред, так как не могут ответить ни на один вопрос и портят имидж компании
Не надо пироги печь сапожнику...
"""📌Вопрос на понимание CSS - «Как лучше будет интегрировать пять разных таблиц стилей в сайт?». Что сделает кандидат: объединит их в один CSS-файл или только для конкретного приложения, как использует бибилотики стилей?
📌«Как лучше всего организовать JavaScript-код?» - очень хороший вопрос, чтобы понять, как программист систематизирует свой код. А именно: разделяет ли он JavaScript и HTML, использутет ли специальный скрипт для объединения файлов в один пакет?"""
На такие вопросы нет однозначного ответа. Какая цель преследуется? Если речь о быстродействии на мобильных устройствах, то предполагаю ожидается ответ - "объединить файлы в один". Но на самом деле, задача эта нетривиальная: чтобы достичь максимального быстродействия часть кода css и js придется внедрять прямо в html-код, часть выносить в отдельные файлы. Да, получится каша, но работать будет быстро.
Короче, предполагаю, что реально хороший программист будет по таким тестам отсеян.
После слов "обратите внимание на фулстеков", отпало желание читать😑