Как сеньор и тимлид собеседует других сеньоров
Lead Mobile Developer, ментор и Kotlin GDE рассказала, почему она против лайвкодинга и стрессовых собеседований и в каких случаях даёт тестовые.
Иллюстрация: Alex Green / Pixabay / Pexels / Olagunle / Сleanpng / Meery Mary для Skillbox Media
Мария Даровская
Журналист, коммерческий автор и редактор. Пишет про IT, цифровой маркетинг и бизнес.
Сайт: darovska.com.
Анна Жаркова
Lead Mobile Developer в компании Usetech. Пишет приложения нативно под iOS (Swift/Objective-C) и Android (Kotlin/Java) и кросс-платформенно (Xamarin, Xamarin.Forms, Kotlin Multiplatform). В мобильной разработке больше восьми лет. Тимлид и ментор. Kotlin GDE. Преподаватель в Otus на курсах iOS Basic и Pro.
Автор на «Хабре» и Medium (SwiftUI, Kotlin Multiplatform, iOS). Пишет статьи, выступает на конференциях и митапах, (Mobius, Ontico, MobiFest, Android Worldwide, Swift Heroes, Podlodka Android и iOS и так далее). Член ПК Mobius, CodeFest, Podlodka Android. Амбассадор Woman Techmakers и компании Usetech. В свободное время изучает иностранные языки (китайский и немецкий). Увлекается живописью и участвует в выставках.
На собеседованиях я была по обе стороны баррикад — причём дольше всего я собеседовалась не во время поиска первой постоянной работы, а несколько лет назад, когда её меняла. На текущем месте, в Usetech, я работаю уже три года — хотя сотрудничать с ребятами начала гораздо раньше. Периодически я провожу собеседования для разработчиков — расскажу о своём подходе.
Не требую точных формулировок
Я не сторонник стрессовых собеседований и токсичного отношения к человеку. Моя позиция простая: поступай с другими так, как хочешь, чтобы поступали с тобой. И собеседование — это не площадка для моего самовыражения. Моя задача не мериться знаниями или демонстрировать кандидату, что он знает меньше меня. Собеседование проводится не для этого. Я просто подбираю специалиста на определённую позицию к себе в команду.
У нас система найма выстроена так, что о проекте и условиях рассказывают HR-специалисты. Я же занимаюсь именно технической частью и оцениваю хард-скиллы кандидатов. Прежде всего смотрю на резюме и в соответствии с заявленной в резюме квалификацией подбираю вопросы — чтобы они были посильными, но не слишком лёгкими. Если человек указывает в резюме, что знает ту или иную технологию, подразумевается, что он хотя бы своими словами может описать, как с её помощью реализовать какое-то решение.
Я не требую точных формулировок, как из учебника. Наоборот, часто прошу рассказать своими словами. Возможно, тут играет роль мой преподавательский опыт — я достаточно гибко подхожу к проверке знаний у студентов. То же и с собеседованиями — в какой-то мере я воспринимаю их как экзамены.
Если человек указал, что он что-то делал, но не может об этом рассказать даже на уровне: «Нашёл готовое решение в интернете и скопировал», — это очень странно. Я по себе знаю, что все мы любим Stack Overflow и активно им пользуемся.
Даже сеньоры и лиды время от времени сталкиваются с чем-то пока ещё неизвестным — и это нормально. В этом случае мы ищем подходящие решения и копируем примеры. Но в процессе копипасты мы успеваем верхнеуровнево разобраться, как работает это решение, что именно мы копируем, куда и в каком случае вставляем. По крайней мере, кандидат должен выдать такие подробности.
Не провожу лайвкодинг-сессий
Я не сторонник лайвкодинга, потому что это большой стресс для кандидата. И очень часто человек просто не успеет всю задачу решить за время собеседования. Да и я не могу себе позволить выделять 3–4 часа и ждать, пока кандидат справится с кодом. А именно столько займёт самое простое задание для сеньора — что-то же более мелкое будет просто бесполезным.
Однажды на собеседовании в «Яндекс» на лайвкодинг-сессии я просто забыла, как работать с матрицами. Просто впала в ступор и не знала, что делать, — хотя время от времени решала задачи, связанные с матрицами, по работе. И у меня до сих пор возникают подобные ситуации — я помню, как это делать, но во время собеседования из-за стресса просто не могу собраться и выполнить задание.
Разумеется, в тот раз я сразу поняла, что в таком формате дальше проходить собеседование я не смогу. А если не прошла этот этап, то какая разница, что у меня дальше. Я не смогла показать даже базовые навыки.
И это тот самый пресловутый стресс-фактор. Проводя собеседования, я стараюсь его не использовать, потому что из-за этого часто отсеиваются очень достойные кандидаты, которые могут быть экспертами в технологии, но спотыкаются на ерунде чисто из-за психологического давления.
Изучаю GitHub-профиль кандидата и даю тестовое
Перед тем как дать тестовое задание, я смотрю GitHub-профиль кандидата. Очень часто у кандидатов полупустой аккаунт в GitHub или там лежат проекты, которыми они занимались только по работе.
Когда-то и у меня профиль на GitHub выглядел примерно так же — там были лишь примеры старше пяти лет, какая-то ерунда, которую я писала, самостоятельно изучая Android-разработку ещё в 2014–2015 годах. Тот мой профиль уж точно не соответствовал сеньорской должности.
Поэтому я просила дать мне тестовые задания — и где-то мне отказывали, говорили, что смотрят только на GitHub. Сейчас, когда я вижу, что у человека нет пет-проектов или репозиториев с примерами в GitHub/Bitbucket, даю ему тестовое. Или если на собеседовании у него возникли проблемы с теорией, я даю кандидату шанс и возможность проявить себя на практике — ведь эти проблемы могут возникать из-за стресса.
И я не понимаю, когда в подобной ситуации кандидат отказывается от тестового, говорит, что не будет его делать: на вопросы не ответил, примеров кода тоже нет — по каким ещё тогда признакам принимать решение. Были случаи, когда писали эйчарам отказы с формулировкой: «Ваш интервьюер не смогла меня мотивировать на выполнение тестового». Особенно странно, если я, как тимлид, подбираю людей к себе в команду и соискатель это знает, но всё равно реагирует подобным образом. Ведь интервью — это не только проверка знаний и навыков, но ещё и показатель того, насколько адекватно кандидат оценивает и воспринимает свою будущую работу.
Даже если вы собеседуетесь на должность сеньора, у вас огромный бэкграунд в технологиях, крутые пет-проекты, инновационные коммерческие решения, вас всегда ждёт куча рутинных задач — и не все из них можно повесить на джунов, пусть даже они и способны с ними справиться. Эту рутину придётся делать и вам, не получится просто сидеть сложа руки и ждать, когда прилетит настоящая сеньорская задача. Иначе и джуны повыгорят от нагрузки, и менеджер от накала — ведь работа не будет делаться, заказчики будут требовать крови менеджера, а менеджер — крови тимлида.
Кандидат должен чётко понимать, что на разных проектах бывают разные обстоятельства. Вы можете занимать должность сеньор- или мидл-разработчика, но в проекте исполнять роль тимлида. Или, наоборот, тимлида ставят на роль разработчика — уровня ведущего, или сеньора, — потому что в команде уже есть свой лид. Поэтому будьте готовы к таким поворотам судьбы. Сеньоры и лиды не любят делать тестовые, так как считают их потерей времени. И в таком случае мы просим показать примеры кода, чтобы по ним оценить их уровень.
Вообще, тема тестовых заданий на собеседованиях часто становится основой баек про злых тимлидов, которые таким образом топят классных кандидатов или пытаются их «использовать». И поэтому они, классные кандидаты, из принципа делают тестовые только за деньги. Либо сразу требуют испытательный срок, а на худой конец — пробный день.
Но ведь не в каждом проекте можно незнакомого человека допустить до пробного дня. Предположим, на проекте есть определённый уровень секретности или он содержит элементы коммерческой тайны. И как подпустить человека с улицы к такой работе — ведь его сначала должна проверить служба безопасности.
Испытательный срок для ряда проектов тоже может оказаться дорогим и рискованным экспериментом из-за безопасности, рисков подвести команду или испортить репутацию компании.
Читайте также:
- Как перестать быть джуниором и начать жить
- Кто такой Google Developer Expert и как стать публичным экспертом
- Разработчик iOS: зарплата, карьера, где учиться, куда пойти работать
Собеседование с разработчиком: что важно знать
Люди — основа любого бизнеса. Все мировые корпорации начинались с небольших команд, которые сумели набрать обороты и выйти в лидеры. От того, какие люди работают в компании, напрямую зависят её жизнеспособность и успех. От того, кто трудится в отделе разработки — зависит цифровая безопасность, стабильность и развитие интернет-площадок, а значит и лояльность клиентов.
Нанимать «правильных» разработчиков как на постоянку, так и в проект, непросто. Команда IQ Dev постоянно растёт и набор сотрудников — естественная составляющая этого процесса. Мы набираем IT-специалистов с 2017-го года и провели уже больше 300 собеседований: от джуна до сеньора. В нашей команде 40 разработчиков, от бэкендов на Битрикс и Laravel до фронтов на Vue.JS или React.
В статье мы поделимся опытом и расскажем: как обстоит ситуация на рынке труда в IT, что стоит учитывать при проведении собеседования, какие инструменты и вопросы помогут в оценке потенциального сотрудника.
С итуация на рынке труда в IT
Рынок труда в сфере IT значительно переменился за последние полгода. По данным hh.ru, в первой половине 2022-го года количество резюме IT-специалистов составило 269 000, это на 64 000 больше, чем в 2021-м. Роль сыграли как высвобождение сотрудников из компаний, ушедших с рынка, так и наплыв вчерашних выпускников курсов. Количество актуальных вакансий, напротив, уменьшилось. С одной стороны, это делает найм доступнее. С другой — фильтровать резюме и собеседовать кандидатов придётся тщательнее. Если говорить о компетентных специалистах — ситуация осталась без изменений. Спрос по-прежнему превышает предложение: «охота за головами» продолжается, рекрутеры не перестают одолевать разработчиков по всем доступным каналам, крупные игроки активно хантят и переманивают сотрудников. Сильных спецов в штат хотят все. Если вы задались целью заполучить в команду крутого профи — советуем подготовиться.
Собеседование: что важно знать
Формально цель собеседования — встреча с кандидатом для оценки навыков. Если смотреть шире, это также существенный вклад в имидж компании. Оцениваем не только мы, но и нас. В эпоху соцсетей, когда информация распространяется с космической скоростью, об этом стоит помнить. Сегодня вы не дали обратную связь кандидату, а завтра в чате программистов вас объявят компанией-динамо и количество откликов на вакансии сократится вдвое. Чтобы у кандидата сложился позитивный образ компании и он с восхищением рассказывал о вас друзьям, коллегам и своему коту — позаботьтесь вот о чём.
Гайд “Как организовать разработку IT продукта с привлечением внешней команды”
Подготовка
Собеседование начинается с подготовки. Как минимум — знать имя человека и на какую должность он пришёл трудоустраиваться. Нет хуже вопроса для первой встречи, чем: «Как вас зовут? Так так, и на кого вы к нам пришли?» В 99 случаях из 100 — работать после этого человек не останется. В идеале следует предварительно ознакомиться с резюме, записать возникшие вопросы, найти информацию о компаниях, в которых работал кандидат, чтобы получить общее представление об опыте. Все инструменты оценки также должны быть продуманы и зафиксированы.
Знакомство
Важный этап, формирующий впечатление о компании, — знакомство. Он начинается, как только кандидат открыл дверь и вошёл в кабинет. Именно первое впечатление играет значимую роль в принятии решения. Ничего сверхъестественного для создания дружественной атмосферы не требуется: поздоровайтесь, поддерживайте визуальный контакт, представьтесь и задайте открытый вопрос. Например, поинтересуйтесь, легко ли удалось добраться до офиса или найти парковочное место. Если это онлайн-встреча, узнайте хорошо ли вас видно и слышно. Обозначьте время, которое займёт разговор, озвучьте план действий. Это также поможет снизить уровень стресса собеседника, что облегчит процесс оценки и повысит точность.
Соответствие ожиданий и презентация вакансии
Ожидания и мотивы лучше выявлять прежде, чем перейти к оценке. Может оказаться, что кандидат не уделил должного внимания условиям. Например, рассчитывает на неполный рабочий день, а вакансия подразумевает full-time. Или же у кандидата есть убеждения, которые полностью противоречат принципам компании. Лучше выявить это на первых минутах встречи, чем после часового забега по теории программирования. Также выявление мотивов помогает презентовать вакансию с учётом интересов соискателя — вы понимаете, где расставить акценты и на что обратить внимание. Старайтесь дать всю важную информацию о предстоящей трудовой деятельности — чем меньше у кандидата останется вопросов, тем выше вероятность того, что он примет оффер.
Техническая грамотность
Это важно! С первой встречи с разработчиком должен пообщаться человек, который обладает необходимой квалификацией для оценки и предметного диалога. Иначе собеседование может оказаться пустой тратой времени кандидата, что плохо отразится на HR-бренде и имидже компании. Никто не любит терять время, как в офисе небольшой компании, так и в огромной корпорации. Если вы обладаете необходимой квалификацией — здорово, будет проще. Если нет — обязательно пригласите того, кто разбирается в продукте и технологии. Наши тимлиды периодически участвуют в собеседованиях с разработчиками для компаний-клиентов, совместно с HR — набирают специалистов в штат для поддержки продукта.
4 вопроса, которые помогут оценить разработчика
Теоретические вопросы для каждого разработчика будут индивидуальны в зависимости от уровня и стека. Помимо теоретических и базовых вопросов, используйте универсальные открытые — они также помогут в оценке мотивов и подойдут для всех типов разработчиков. Вот некоторые из них.
- Расскажите, как вы пришли в разработку?
Вопрос позволяет узнать о фактическом пути кандидата — не всегда опыт работы отражает уровень разработчика, ведь могут быть проекты, реализованные вне коммерческой деятельности.
- Расскажите о самой сложной/интересной решённой задаче?
Ответ расскажет, с задачами какой сложности работал кандидат и о том, что он сам обозначает для себя сложным. В процессе рассказа также появится понимание, насколько активным было участие самого разработчика в проекте.
- Какие структуры данных и алгоритмы приходилось применять в прошлых проектах и в чём польза их использования?
- Если бы вам предложили создавать проект с нуля, то какие бы технологии выбрали и почему?
Этот вопрос подойдёт для опытных разработчиков. Он покажет, ориентируется ли специалист при выборе технологий на проект или же на собственный опыт.
Оценка технических навыков: кейсы, код ревью, тестовое
После знакомства, выявления ожиданий, мотивов и теоретических знаний — переходим к практике. Практические инструменты увеличивают достоверность оценки и дают возможность увидеть кандидата «в деле». При анализе результатов стоит учитывать повышенный фактор стресса, если кандидат выполняет задание в офисе. В качестве практических инструментов можно использовать:
- Кейс — описываем задачу (лучше брать реальный кейс из практики компании, с которыми уже справились ваши сотрудники) и просим кандидата предложить решение, одно или несколько. Учитывайте уровень сложности — кейс должен быть решаем в рамках собеседования. Так мы сможем оценить аналитический подход кандидата.
- Код ревью — покажите кандидату фрагмент кода и попросите найти ошибку. Это даст понимание, насколько хорошо разработчик умеет читать чужой код и как быстро вольётся в проект.
- Тестовое задание — так же как и кейсы, тестовые задания лучше использовать не «нагугленные», а из реальной практики компании. Иначе рискуете нанять сотрудника, который отлично умеет гуглить, но слабоват в программировании. Старайтесь давать не слишком занудные и сложные тестовые, особенно если они не оплачиваемые. Также тестовое должно быть чётким и понятным — как минимум, вы сами должны понимать, что хотите увидеть в итоге и объяснить это кандидату.
Подведём итог
Сегодня на рынке труда в IT действительно высвободились крутые кадры и вероятность пополнить штат сильными разработчиками возросла. Мы рассказали об основных этапах собеседования и инструментах оценки, которые помогут удвоить шансы. Найм разработчиков — сложная задача, с которой справится не каждый рекрутер. Время, ресурсы и терпение — вот 3 незаменимых помощника в этом деле. Ну и, конечно же, всё то, что перечислено выше.
Как собеседовать разработчика?Ч.2.
В книге Константина Борисова “Брать или не брать? Как собеседовать разработчика?” подробно рассказывается об этапах собеседования с IT специалистами, но она будет полезна рекрутерам, менеджерам, работающим не только в сфере IT. Сегодня делимся кратким содержанием третьей главы.
Глава 3. Менеджерское собеседование
Технические навыки не говорят ничего о том, будет ли реально нанятый кандидат приносить пользу, и сможет ли он встроиться в команду. Менеджерские собеседование — важный этап в отборе.
3.1. Дедуктивный метод.
Заранее определите, что вы хотите узнать. Кандидат говорит про то, что вы спрашиваете, а вы должны составить список тем, которые вам нужно прояснить. Уточняйте. Вопросы и ответы часто допускают множество толкований. Задавайте дополнительные вопросы до тех пор, пока вы не будете точно понимать, что за человек перед вами. Собирайте факты-детали.
Вам нужно очень быстро обдумывать то, что говорит кандидат и принимать решение, задавать ли ещё какие-то вопросы или двигаться дальше.
Пример. «Считаете ли вы себя конфликтным человеком? С кем и какие конфликты у вас бывают на работе?» Развёрнутый эталонный ответ звучит примерно так: «В большой команде всегда есть достаточно много конфликтов. Это конфликты интересов. Менеджер хочет, чтобы работа была сделана как можно более быстро, разработчик хочет, чтобы код был как можно более элегантен, тестировщик хочет, чтобы код работал так, как описано в документации, аналитик хочет, чтоб его не мучили вопросами и не просили менять требования. Нужно быть конструктивным и не давать перерастать конфликтам в словесную перепалку. Методология разработки говорит каждому, что нужно делать, а все конфликты можно разрешить просто поговорив или эскалировав проблему менеджеру».
3.2 Анализ коннотаций
В живом разговоре всегда есть два слоя: фактический и эмоциональный. Эти слои тесно связаны. Мы говорим о том, что происходит и параллельно выражаем своё отношение к этому. Эмоциональный слой содержит гораздо больше информации, чем фактический. Эти дополнительные, «эмоциональные» значения используемых человеком слов называются коннотациями, необходимо уметь их слышать, видеть и учитывать. Если же вы не уверены в своих возможностях к анализу, то для тренировки делайте такой анализ письменно. Можете для тренировки взять какое-нибудь обсуждение на форуме, вроде «iOS против Android» и подчёркивать одной чертой все слова с положительными коннотациями и двумя с отрицательными. Обратите внимание, что слова с негативными коннотациями сами по себе не являются чем-то плохим. Важно, на что обращены эти негативные эмоции и как кандидат с этими тревожащими его ситуациями привык справляться.
Очень хорошо, когда человек использует и слова с позитивными коннотациями, и слова с негативными коннотациями. Это показывает открытость кандидата, его готовность говорить о том, что он чувствует.
Если вы просто спросите кандидата: «Расскажите про проекты, на которых вы работали», то получите протокольное перечисление проектов и использованных технологий. Совсем другой результат будет, если вы спросите: «Расскажите про самый любимый ваш проект. Не важно, недавний или совсем старый. Просто проект, на котором вы бы с радостью поработали ещё раз». Используйте эмоционально окрашенные слова сами, чтобы кандидату было легче проявлять свои эмоции. Вот вопросы, которые могут помочь выяснить отношение кандидата к работе:
- Почему вы хотите сменить работу?
- Что для вас интересный проект?
- Что для вас неинтересный проект?
- Какой ваш проект был самым интересным?
- С какими людьми вам тяжело общаться?
- Почему вам нравится программировать?
- Вспомните самого лучшего вашего начальника. Почему он лучший?
3.3. Технические вопросы от менеджера
На менеджерских собеседованиях я задаю вопрос: «Заказчик пишет вам гневное письмо, утверждая, что ваше приложение работает медленно. Что вы будете делать?» Даже если кандидат прекрасно умеет оптимизировать приложения, в реальной жизни задачи не приходят готовыми, «на блюдечке с голубой каёмочкой». Перевести задачу из практической, неформальной формы в форму, пригодную для решения — это часто тоже задача разработчика.
Я беру случаи из своей практики, выкидываю из них ненужные подробности и получаю ситуации для обсуждения: «Заказчик просит ускорить приложение», «Вам нужно исправлять баги в большом legacy проекте с кучей технического долга», «Вы делаете ревью кода и заметили, что вся команда делает одни и те же ошибки». Когда кандидат будет описывать, что он будет делать в этих ситуациях, он должен будет использовать свои знания из разных технических областей и свои soft skills. 3.4. Вопросы на собеседовании:
Изучение нового
Лучшим способом определить, может ли кандидат быстро учиться, будет просто задать прямой кандидату: «Предположим вам нужно выучить совершенно новую область для вас (библиотеку распознавания образов, например). Как вы подойдёте к этому?» Хороший ответ звучит примерно так: «Я попробую найти коллегу, который знает эту область, и спрошу его, как лучше всего её изучать и на что стоит обратить внимание. Если такого коллеги нет, то я могу найти специалиста в интернете. Например, задать вопрос какому-нибудь эксперту на форуме. Обычно стоит начать изучение с каких-нибудь tutorials, чтобы реализовать что-то реально работающее. В процессе обязательно возникнут какие-то вопросы и проблемы. Их решение можно найти в Google или с помощью знакомых экспертов. Когда уже будут какие-то навыки, лучше начать писать реальный проект. Реализация будет неоптимальный и, наверняка, придётся много переписывать, но зато выучишь именно то, что тебе надо, и будет виден прогресс. Чтобы глубоко изучить эту нужную область, можно найти какую-нибудь обстоятельную книгу. А ещё сейчас много обучающих сайтов, вроде Coursera, где можно найти нужный курс».
В таком ответе мне нравится сразу несколько моментов:
- Кандидат не надеется только на себя, а сразу хочет найти кого-то, с кем можно посоветоваться. Видно, что человек готов работать в команде. В новой области он не сможет сразу стать экспертом, но, пользуясь «коллективным разумом», он сможет принимать разумные решения.
- Перечислено много разных подходов. Какой-то один может не подойти, но что-нибудь да сработает.
- Ориентация на практику. При таком обучении, есть надеж- да, что проект начнёт получать какую-то пользу в минимальные сроки. Причём итеративный подход к обучению мне тоже нравится. Кандидат готов ошибаться, учиться на своих ошибках и двигаться вперёд постепенно.
Очень хорошо кандидата спрашивать о изучении тех областей, в которых у него проблемы. И слушать, насколько многовариантными будут пути поиска решения проблемы/прокачки скилов.
3.5. Вопросы на собеседовании:
Сложная задача
Один из обязательных вопросов на моём собеседовании звучит так: «Представьте, что вы работаете над какой-то задачей и она оказалась очень трудной. Вы не знаете, как двигаться дальше и не уверены, что вообще её решите. Что вы будете делать?»
Этот вопрос не настолько прост, как кажется, так как покрывает сразу несколько областей: технический кругозор, стрессоустойчивость, умение работать в команде. Задача поставлена очень общо, конкретные действия, конечно, зависят от деталей проблемы. Поэтому самое главное, что ожидается от кандидата — это большой список возможных действий, чем больше, тем лучше.
Особенно хорошо, когда
- есть неочевидные решения (вроде варианта не решать эту задачу).
- кандидат учитывает нетривиальные проблемы, связанные с этими вариантами. Например, просить помощи на форуме можно, только если проблемный код не содержит значимой интеллектуальной собственности (чтобы можно было его разместить в общем доступе).
- у кандидата в ответе варианты попросить у кого-то помощи (у менеджера, у коллег, у экспертов в интернете). Если этого нет, то у кандидата проблемы с коммуникацией.
- кандидат говорит, что о проблеме нужно сообщить менеджеру или лиду. Если кандидат работал в команде с нормальными процессами, то он проблему обязательно озвучит, чтобы вся команда знала о ней.
«Что тут можно сделать — нырнуть в код поглубже и работать над задачей, пока она не будет решена» — плохой ответ.
3.6. Вопросы на собеседовании:
Болевые точки в коммуникациях
У каждого из нас есть какие-то проблемы, которые нас раздражают, с которыми мы плохо справляемся, которые отравляют нам жизнь. Для кого-то это включённый кондиционер, для кого-то это разговор на повышенных тонах, для кого-то это нечёткая постановка задач. Особенно большое влияние имеют такие проблемы при общении людей в команде. Поэтому такие болевые точки кандидата должны быть выделены на интервью в обязательном порядке.
Здесь, как и во всех других ситуациях, лучше всего работает прямой и открытый подход. Я просто спрашиваю кандидатов: «С какими людьми вам тяжело общаться?» Примерно в трети случаев в ответ вы получаете рассказ о прошлом менеджере или заказчике, с которым у кандидата были проблемы. И дальше уточняющими вопросами вы проясняете, что мешало кандидату нормально общаться в такой ситуации.
Люди не считают своё поведение чем-то плохим, поэтому и говорят, что думают, ваша задача — разговорить их. 3.7. Никто не считает себя плохим
Ни один кандидат не считает свой образ мыслей и действий неправильным. Это очень помогает при собеседовании, так как кандидат готов давать честные ответы. Например, я как-то собеседовал менеджера, который считал, что он может уволить любого члена команды просто за то, что тот не нравится. «Да, можно тратить время, пытаясь понять, что именно не нравится, и потом выискивая поводы для увольнения. Но зачем это всё? Мне с ним не нравится работать, я начальник — можно увольнять».
Почему он должен был мне отвечать не так, как он думает? Как он может предугадать, что я отношусь плохо к та- кому подходу? Никак. Поэтому кандидат просто будет отвечать то, что думает. И это прекрасно.
Худшее, что интервьюер может сделать, это показать своё негативное отношение к словам кандидата — вам начнут говорить “нужные” ответы. Причём скрыть своё неодобрение вам будет очень сложно. У людей богатые невербальные средства выражения эмоций, и кандидат поймёт, что сказал что-то не то по вашему молчанию, приподнятой брови или нервному постукиванию пальцами по столу. Поэтому вам не просто нужно не показывать вашего неодобрения, вам надо всей душой поддерживать кандидата, проникнуться его отношением и относиться к его ответам нейтрально, а лучше позитивно. В конце концов он делает вашу работу гораздо проще, открыто выражая своё мнение. Не стоит платить за это презрением.
3.8. Социальное одобрение
Необходимо учитывать, что есть так называемые социально одобряемые ответы. И все кандидаты знают «правильные» ответы. Если вы спросите кандидата, нравится ли ему заниматься саморазвитием, то он ответит «Да» без размышлений.
Задавая вопросы, тщательно продумывайте, не испортит ли ваш вопрос готовая установка, внедрённая в мозг кандидата обществом.
Если вы хотите узнать, насколько кандидата мотивируют деньги, то не стоит спрашивать: «Хотите ли вы зарабатывать больше?» Ответ очевиден. Намного результативней спросить: «Согласны ли вы работать на 15% больше, чтоб получать зарплату на 15% выше?»Спрашивать, нравится ли кандидату изучать английский язык, тоже смысла нет. Лучше спросить, какие методы изучениия он считает оптимальным для себя, а потом спросить, когда он ими пользовался в последний раз и чего добился.
19 вопросов, которые стоит задать веб-разработчику на собеседовании
Наём новых сотрудников может оказаться настоящим кошмаром. Иногда, чтобы найти подходящего кандидата, приходится пройти долгий и трудный путь. Если вы ищете веб-разработчика, техническая сторона этой профессии значительно усложняет процесс поиска.
Адаптировали статью команды блога Codementor о том, что важно спросить у веб-разработчика перед тем, как его нанять.
Полина Кабирова
Коммерческий автор и переводчик
Подготовьтесь заранее
Есть такая поговорка: кто не планирует свою победу, тот планирует чужую. И она будет к месту, если вы ищете разработчика, особенно на удалёнку.
Вот главные советы.
Определите требования
Опытные веб-разработчики всегда очень заняты. Нужно определиться с вашими ожиданиями и объёмом работы кандидата. Чётко сформулируйте должностную инструкцию и особенности работы в компании. Соискатель должен ясно понимать рабочие обязанности и предлагаемые условия труда.
Выделите оптимальный бюджет
Помните, вы получите ровно столько, сколько заплатили.
Обязанности и уровень самоотдачи разработчика зависят от зарплаты, которую вы предлагаете. По статистике, ведущий разработчик в США в среднем получает $85 000 в год. Для удалённых сотрудников зарплаты разнятся от $60 до $120 в час и выше.
Сумма зависит от местоположения и требований к специалисту. Проанализируйте зарплаты перед тем, как определить окончательную цифру.
В России на первое полугодие 2018 года средняя зарплата ИТ-специалистов составляет около 100 тыс. рублей в месяц. При этом диапазон зарплат достаточно большой — от 14 до 350 тыс. рублей.
В целом зарплата по миру в сфере разработки может достигать 89 000 $ в год.
Установите реалистичные дедлайны
Разработчику может потребоваться время, прежде чем приступить к работе в вашей компании. Учитывайте это при отборе кандидатов, тем более вам тоже нужно время для поиска подходящего человека.
На срочный проект можно рассмотреть фрилансера. Он начнёт работу, а у вас появится время для поиска кандидата в штат. Убедитесь, что у выбранного фрилансера или подрядчика достаточно времени на ваш проект.
Подготовьтесь к собеседованию
У хорошего разработчика во время и после собеседования появятся вопросы. Будьте готовы объяснять, что именно вы ищете в кандидате и какую работу ему предлагаете.
Профессия
Веб-разработчик
Узнать больше
- Научитесь программировать на JavaScript и PHP
- 11 готовых проектов в портфолио по итогам обучения
Вопросы для собеседования с разработчиком
Процесс поиска разработчика зависит от его роли в команде и особенностей компании в целом. Вот несколько вещей, на которые стоит обратить внимание при поиске.
- Первое собеседование — по телефону или видеозвонку.
- Оценка компетентности специалиста или тестирование на профпригодность, если это одобряется культурой вашей компании.
- Тестовое задание. Практические вопросы и задачи, связанные с разработкой, которые помогут определить технические знания кандидата.
- Итоговое собеседование. Очное интервью. Если личное присутствие на собеседовании невозможно, проведите видеозвонок.
Основные вопросы для собеседования с разработчиком и ответы, которые следует от него ждать. Не забывайте делать заметки во время собеседования — это поможет точнее оценить кандидатов.
Вопросы об опыте
1. Расскажите о проекте, которым по-настоящему гордитесь. Что вы сделали для его успешной реализации?
Начните собеседование аккуратно, чтобы уменьшить волнение кандидата. Ответ на этот вопрос даст представление об амбициях специалиста, покажет его взгляд на успех и рабочий процесс. Обратите внимание, упомянул ли разработчик других членов команды или сосредоточился на своих стараниях.
2. Расскажите о проекте, который вас разочаровал. Что бы вы сейчас изменили при работе над ним?
Разработчик должен постоянно анализировать свою работу. Вы не захотите нанимать человека, который всё время повторяет ошибки.
3. Что в программировании для вас самое сложное?
Другими словами, какие слабые стороны видит разработчик в своих технических навыках.
4. Как проводите тестирование? И что вообще о нём думаете?
Хороший код — это минимум багов в работе приложения и мало ошибок в коде. Хороший разработчик уделяет много внимания тестированию качества. Так можно сократить количество бессонных ночей в поисках ошибок на ранних этапах работы.
5. Как следите за последними тенденциями в веб-разработке?
Другими словами, прикладывает ли кандидат усилия, чтобы оставаться востребованным специалистом. Например, спросите, какие технические издания он читает, какими авторами и личностями ИТ-сообщества восхищается и почему.
Сфера веб-разработки постоянно меняется, поэтому для специалиста важно интересоваться последними тенденциями и формировать своё мнение о них.
6. Какую среду разработки предпочитаете?
Не важно, где работает кандидат — вам необходимо найти человека, который может адаптироваться под разные технологии и делиться своим мнением. Ответ на вопрос также покажет его опыт работы с разными фреймворками, системами контроля версий, юнит-тестированием и так далее.
Курсы Нетологии
Soft Skills
Узнать больше
- Soft skills — это надпрофессиональные навыки, которые помогают любым специалистам в любой отрасли быть востребованными
- Сможете прокачать навыки, чтобы быстро решать задачи, убедительно аргументировать свою позицию, грамотно выстраивать коммуникацию — без лишних эмоций и стресса ?
Вопросы о коммуникативных и управленческих навыках
7. Расскажите, какие качества помогают вам в работе
Возможно, вы ищете человека, который быстро решает проблемы, отлично ведёт переговоры или любит учиться. Попросите кандидата привести примеры, как он применяет эти навыки.
В зависимости от вакансии, одни навыки будут приоритетнее других. Например, тайм-менеджмент и коммуникативные навыки будут более важны для удалённого сотрудника, чем для штатного разработчика.
8. Расскажите о проблеме, которую вы решили вне программирования
Проблема может быть какой угодно. Например, кандидат починил кофемашину или помог коллеге отремонтировать велосипед. Неважно, что именно он сделал. Главное — вы увидите его способность решать проблемы и взаимодействовать с людьми.
9. Как бы описали вас другие разработчики / менеджеры проектов, с которыми вы работали?
Это отличный способ понять, как кандидат оценивает себя и свои навыки, какую роль играет в команде и как проявлял себя на прошлых должностях.
10. Представьте, что не можете решить проблему, связанную с программированием. Что сделаете, чтобы найти решение?
Спросит ли он коллег, зайдёт на StackOverflow или другие ресурсы? Здесь нет правильных и неправильных ответов. Важно понять, как кандидат преодолевает рабочие трудности.
Читать также
11. Что вы думаете о парном программировании? Был ли у вас такой опыт?
Такой метод программирования не всегда подходит для повседневной разработки, но будет интересно узнать, готов ли кандидат сесть рядом с коллегой и разбираться в его коде.
12. Работали ли вы когда-нибудь напрямую с заказчиком или как-то взаимодействовали с ним? Если нет, хотели бы попробовать?
Ответ на этот вопрос даст представление, как кандидат реагирует на мнения других людей о его работе. Если вы ищете человека для разработки приложения или способного в будущем расти внутри компании, он неизбежно будет сталкиваться с критикой пользователей и коллег.
Вопросы для проверки технических навыков разработчика
13. Опишите, пожалуйста, процесс создания веб-страницы или приложения.
Это отличный способ оценить, как кандидат справляется с базовыми задачами. Он используют фрагменты кода для быстрого создания базовой HTML-страницы, добавляет jQuery и начинает программировать или использует вспомогательные инструменты для разработки, типа Bower или Yeoman?
14. Какие инструменты используете для поиска багов?
Ответ на этот вопрос будет зависеть от среды разработки, которую использует кандидат. Разные языки программирования используют разные профилировщики, а некоторые фреймворки имеют встроенные инструменты для устранения багов. Важно узнать не инструмент, а подход к решению проблемы.
15. Что знаете о CORS?
CORS (Cross-Origin Resource Sharing, с англ. — «совместное использование ресурсов между разными источниками») — основной элемент HTML5, который должен быть знаком большинству фронтенд-разработчиков. Технология позволяет запрашивать доступ к различным ресурсам другого домена (jQuery, библиотекам шрифтов).
16. Вы можете объяснить назначение каждого типа HTTP-запроса при соблюдении требований RESTful?
Знает ли ваш кандидат разницу между запросом GET и POST? Не забыл ли он упомянуть запросы PATCH и CONNECT? Это серьёзный вопрос для оценки базового понимания HTML.
17. У вас есть пять разных таблиц стилей, как лучше всего интегрировать их в сайт?
Этот вопрос проверяет понимание CSS. Объединит ли кандидат стили в один CSS-файл или объединит только стили для конкретного приложения? И как он использует библиотеки стилей, например, Bootstrap?
18. Как вы организуете JavaScript-код?
Ответ на этот вопрос покажет, как кандидат систематизирует свой код. Он разделяет JavaScript и HTML? JS разбит на логические блоки и хранится в отдельных файлах? Он использует скрипт для объединения этих файлов в один пакет? А пространство имён в JavaScript, чтобы не захламлять глобальное пространство имён?
19. Как вы учитываете SEO, производительность, безопасность и UX при создании приложения?
Это очень важный вопрос. Способность понимать и сочетать эти факторы в работе является ключевым навыком для любого веб-разработчика. Из ответа также будет понятно, чему кандидат отдаёт приоритет при программировании. Например, если вы — крупная финансовая компания, безопасность для вас будет важнее SEO. Если вы — интернет-издание, на первом месте производительность сайта и SEO.
Ваше собеседование не ограничивается перечисленными вопросами.
Узнавайте больше о техническом опыте кандидата, стеке технологий, который встретится ему на новой работе. Если вы сами не разработчик, лучше попросить опытного специалиста провести техническую часть собеседования.
Примеры вопросов для технической части собеседования и ответы специалистов:
После собеседования
Из-за нехватки специалистов веб-разработчики очень востребованы. Если вы ищите разработчика, действуйте быстро: оцените всех кандидатов и сразу же свяжитесь с теми, кто вам подходит. Хороший кандидат быстро найдёт работу.
Нет единой правильной схемы для поиска разработчика — важны детали. Чтобы найти идеальный вариант, ясно определите собственные ожидания и требования для разработчика. На Github есть целый список вопросов для интервью.
Читать также
Мнение автора и редакции может не совпадать. Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.
Полина Кабирова
Коммерческий автор и переводчик