Как нанять программиста, если ты не программист

Найм разработчика без понимания IT-сферы - страшный сон любого эйчара-гуманитария. Как профессионально оценить специалиста? Может быть, подучить пару языков? Закончить экстремально быстрый интенсив по специализации фулстека?

Как нанять программиста, если ты не программист

Обычно такая проблема не стоит перед крупными IT-компаниями: внутренний кадровик уже имеет опыт по найму технарей. Но если речь идет о стартапе, здесь уже все значительно сложнее.

Во-первых, определитесь, действительно ли вам нужен штатный специалист или можно обойтись силами одного фрилансера? Если у вас еще нет четкого видения своего проекта и вы находитесь в процессе генерирования идей, возможно, что через пару месяцев вашему специалисту будет нечего делать.

Если же вы определились, что вам точно надо, то можно начинать поиск.

У стартапов нет крутых тимлидов, чтобы быстро обучать новичков, поэтому разработчика нужно брать опытного - как минимум, от 3 лет стажа. Отлично, если он уже поработал в крупных компаниях. Кстати, если вам нужен только один специалист, то обратите внимание на фулстеков - программистов, которые хорошо знают и понимают все этапы разработки, а также владеют всем стеком технологий веб-программирования.

Как правильно составить вакансию?

Как нанять программиста, если ты не программист

Молодая и динамично развивающаяся компания, дружный коллектив, лидер на рынке - забудьте о таких формулировках раз и навсегда. Никому не хочется тратить свое время на то, чтобы до конца дочитать ваш водянистый текст и попытаться понять, что же конкретно вы предлагаете.

А разработчики - люди серьезные, которым нужна конкретика, четкость и полная прозрачность🤓

👉🏻Вакансия разработчика должна быть составлена таким образом, чтобы после первого прочтения соискателю сразу стало ясно, какими проектами ему предстоит заниматься, какой стек технологий используется, каковы ценности в компании, сколько будете платить, есть ли возможность роста и обучения, а также почему он должен захотеть работать именно у вас.

👉🏻Описание проекта: например, мы занимаемся разработкой мобильного приложения (название) для фрилансеров в сфере digital, с помощью которого исполнитель и заказчик могут найти друг друга. Обязательно укажите, какие технологии и инструменты используются в разработке, и какой частью разработки будет заниматься искомый кандидат.

Описывая задачи и цели, избегайте формулировки «работа в интересном проекте». Лучше напишите о том, чего вы хотите достичь при помощи нового сотрудника - увеличить скорость работы приложения, привлечь большее число пользователей, сделать интерфейс понятным и удобным.

👉🏻Команда: очень важная составляющая. Опишите, сколько человек работает над проектом, на каких должностях, сколько всего людей числится в компании, есть ли представительства в других городах или странах. Например: над нашим мобильным приложением работают фронтенд, бэкенд, разработчики Android и iOS, аналитики, тестировщики, а еще есть крутой продакт менеджер и тимлид, который обучает новичков.

Если фаундер активно принимает участие в разработке, то расскажите и об этом.

👉🏻Обязанности: не перечисляйте просто список языков и фреймворков. Четко сформулируйте, чем нужно владеть для работы у вас: например, кандидат должен на продвинутом уровне знать Python, есть опыт работы с приложениями, умеет масштабировать базы данных. Если ваша компания - начинающий стартап и никакого тимлида еще нет, попросите опытного программиста помочь составить понятный список требований.

И, конечно, не забывайте о бонусах - почему кандидат должен хотеть работать у вас? Что есть у вас, чего нет о конкурентов?

По сути - описание вакансии это продажный лендинг. Чем четче, привлекательнее и понятнее все описано - тем выше шансы на хорошую конверсию.

Вопросы для собеседования с разработчиками

Как нанять программиста, если ты не программист

Представьте, что ваша вакансия уже собрала достаточное количество откликов и теперь осталось делом за малым - оценить каждого кандидата и выбрать того, кто идеально впишется в ваш проект и вашу компанию. Первый контакт лучше осуществить через мессенджер, особенно, если вы ищите разработчика на удаленку (может быть разница с вашим часовым поясом).

👉🏻Перед собеседованием (лично или по видеоконференции) определитесь с тем, что вы хотите выяснить на встрече. А именно:

⁃ Не только опыт кандидата, но и то, что он может сделать для вашего проекта сейчас и в будущем;

⁃ Насколько человек сможет вписаться в вашу команду и культуру вашей компании;

⁃ Его личные качества - например, если речь идет об удаленной работе, то с дисциплиной у человека все должно быть в порядке. Мелочь, но важно, если вы не планируете тратить свое рабочее время на то, чтобы постоянно «пинать» сотрудника и круглые сутки контролить его задачи.

👉🏻Если вы проводите собеседование лично на встрече, убедитесь, что вам есть, где его проводить - в отдельной комнате/переговорке, чтобы рядом не было посторонних. Можно взять с собой в качестве подстраховки технического специалиста - но не для того, чтобы проводить перекрестный допрос, а на случай, если вам понадобится помощь.

Не пытайтесь сократить время собеседования - отведите на встречу как минимум 1,5 часа. Не нужно общаться с кандидатом, постоянно заглядывая в листок бумаги или ноутбук - подготовьтесь заранее и проявите уважение к человеку.

👉🏻Какие вопросы нужно задавать?

Начните с того вопроса, который будет приятен кандидату.

📌А именно - «Расскажите о проекте, которым вы гордитесь больше всего и что конкретно вы сделали для его успешной реализации?Как была построена работа внутри проекта, чем занимались остальные члены команды?»

📌Следующий вопрос может быть противоположным - «Расскажите о самом неудачном запуске проекта и что бы вы сейчас в нем изменили?» Хороший разработчик постоянно анализирует свою работу, и вам вряд ли захочется нанимать человека, который постоянно повторяет свои ошибки.

📌«Что для вас самое сложное в работе?»Вопрос, который позволяет понять слабые стороны специалиста в технических навыках.

📌«Как отслеживаете последние тенденции в веб-разработке?» Тут сразу будет понятно, какие усилия кандидат прикладывает, чтобы оставаться востребованным специалистом.

📌«Опишите процесс создания веб-приложения». Вопрос уместен для разработчиков любого уровня. Ответ на него дает понимание, как кандидат справляется с базовыми задачами - использует ли он фрагменты кода или же дополнительные инструменты для программирования, такие как Yeoman?

📌«Можете ли вы объяснить назначение каждого типа HTTP-запроса при соблюдении требований RESTful» - это отличный вопрос, чтобы оценить базовое понимание специалистом HTML.

📌Вопрос на понимание CSS - «Как лучше будет интегрировать пять разных таблиц стилей в сайт?». Что сделает кандидат: объединит их в один CSS-файл или только для конкретного приложения, как использует бибилотики стилей?

📌«Как лучше всего организовать JavaScript-код?» - очень хороший вопрос, чтобы понять, как программист систематизирует свой код. А именно: разделяет ли он JavaScript и HTML, использутет ли специальный скрипт для объединения файлов в один пакет?

📌«Что используете для выявления багов?» - тут уже зависит от среды разработки. Ваша задача узнать не то, каким инструментом пользуется кандидат, а как подходит к решению проблем.

Опять же - с составлением вопросов под конкретную должность и сферу лучше обратиться к опытному разработчику, который сможет вам помочь. Если вы рассматриваете человека на позицию, где важны коммуникативные навыки, то стоит задать следующие вопросы:

📌«Какую проблему, не касающующуюся разработки, вы решили?». Тут неважно, с какой именно проблемой столкнулся ваш кандидат, важно увидеть его способность взаимодействовать с другими людьми и решать разные вопросы.

📌«Был ли у вас опыт парного программирования? Опишите его». Вопрос, который стоит задать, если хотите узнать, готов ли кандидат разбираться с коллегой в его коде.

📌«Был ли у вас опыт работы с заказчиком?». Можно понять, как кандидат реагирует на критику и мнение других людей.

Что, если нужна команда разработчиков?

Если вы ищите специалистов для стартапа, то речь уже пойдет о найме команды, и тут тоже важно учесть некоторые нюансы.

👉🏻Например, в теории это выглядит довольно просто: набрали людей, подготовили описание вашего продукта и ваше видение, обозначали дедлайны - казалось бы, этого достаточно. Однако довольно часто что-то может пойти не так: срывы сроков сдачи, постоянные баги, бесконечные доработки, «выгорание» команды.

Ниже расскажем, как нанимать команду спецов, чтобы снизить вышеперечисленные риски⬇

👉🏻Определитесь с составом команды, которая зависит от масштаба проекта и целей бизнеса. Если ваш проект на стадии стартапа, то можно не нанимать большую команду. Однозначно нужен тимлид, фронтенд и бэкенд разработчики, UI- и UX-дизайнер, тестировщик, аналитик. Вопрос - нужен ли фулстек - программист который знает и понимает все стадии разработки? Если ваш бюджет позволяет, то однозначно нужен: специалист может посмотреть на каждую задачу комплексно, помогает справиться со сложными задачами и вообще умеет практически все.

Фулстека часто нанимают при ограниченном бюджете в стартапы, но здесь есть большой риск выгорания специалиста из-за многозадочности и срывов дедлайнов.

👉🏻Нанимайте людей с опытом не менее 3 лет в крупных и средних компаниях - такие специалисты понимают правильную культуру компании, у них уже есть опыт реализации качественных продуктов, им не нужно объяснять, как нужно работать. Понимание правильной культуры компании: когда разработчик работает на результат и не приемлет конечного продукта на уровне «так себе», умеет сотрудничать с другими членами команды и всегда открыт к развитию и обучению. Не нанимайте людей без опыта и студентов - экономия на бюджете на старте проекта в итоге выльется вам в крупную сумму на финальном этапе, когда придется все переделывать и искать новых людей.

👉🏻Очень важно увлечь команду вашим продуктом. Когда разработчик горит идеей и хочет самореализоваться в рамках вашего проекта - это одна из сильнейших мотиваций. Бонусы, зарплаты, приятные рабочие условия - не менее важные составляющие. Специалист может качественно работать за хорошую зарплату, но если вы стартап, то нужно сделать все, чтобы замотивировать сециалистов своим продуктом и его идеей.

Если вы нанимаете специалистов не по отдельности, а, например, берете готовую команду на аутсорсе, то пообщайтесь с каждым членом группы, а не только с тимлидом. Насколько каждый из них осведомлен о своей роли и целях? В хорошей команде группа людей может отлично функционировать как вместе, так и по отдельности.

Удачи!

11
5 комментариев

С каких пор эйчар решает, какие нужны специалисты компании? И с каких пор специалистов на сложные профессии собеседуют без участия руководителя того же подразделения, в котором будет работать программист, который хотя бы компетентен в этом вопросе?

2

с тех пор, как рекламу надо всунуть под видом статьи )

3

Я бы на шаг назад посмотрел. Кто доверил найм разработчика эйчара-гуманитарию без понимания IT-сферы? И вообще, как такой нулевый эйчар оказался в компании, где работают разработчики? Все должны быть на своих местах. Если один некомпетентный сотрудник нанимает другого, то это бесконечный процесс. А если эйчар без ИТ-знаний, то сделайте хотя бы минимальный тренинг. И не придется писать статьи, после которых люди, их прочитавшие, станут считать себя специалистами. Такие HR "специалисты" только приносят вред, так как не могут ответить ни на один вопрос и портят имидж компании

1

Не надо пироги печь сапожнику...

"""📌Вопрос на понимание CSS - «Как лучше будет интегрировать пять разных таблиц стилей в сайт?». Что сделает кандидат: объединит их в один CSS-файл или только для конкретного приложения, как использует бибилотики стилей?

📌«Как лучше всего организовать JavaScript-код?» - очень хороший вопрос, чтобы понять, как программист систематизирует свой код. А именно: разделяет ли он JavaScript и HTML, использутет ли специальный скрипт для объединения файлов в один пакет?"""

На такие вопросы нет однозначного ответа. Какая цель преследуется? Если речь о быстродействии на мобильных устройствах, то предполагаю ожидается ответ - "объединить файлы в один". Но на самом деле, задача эта нетривиальная: чтобы достичь максимального быстродействия часть кода css и js придется внедрять прямо в html-код, часть выносить в отдельные файлы. Да, получится каша, но работать будет быстро.

Короче, предполагаю, что реально хороший программист будет по таким тестам отсеян.

1

После слов "обратите внимание на фулстеков", отпало желание читать😑

1