Не просите написать код на бумаге.

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

Мое самое первое интервью в индустрии программного обеспечения было именно таким. Это была ИТ-компания, предоставляющая услуги по обслуживанию приложений для поддержки клиентов по всему миру, что мне не нравилось, поскольку я всегда хотел работать в продуктовой компании. Тем не менее, я присутствовал на собеседовании, и интервьюер, ведущий программист, был потрясающим.

За 90 минут мы затронули все: проблемы, отраслевые тенденции, новейшие технологии, хорошие методы работы и даже отношение к программистам. Было захватывающим опытом наблюдать за слиянием мыслей и новых вещей, которые мы узнали друг от друга.

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

Не будь умным

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

Помните, звуковые программисты никогда не подчиняются. Наоборот, они все подвергают сомнению, пока не поймут, что за этим стоит. И если вы будете упорствовать в своем отношении, они сразу это заметят и будут избегать вас.

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

Не думайте, что ваше решение единственное.

Вы задаете кандидату каверзный вопрос и ожидаете от него только одного конкретного правильного ответа. Ничто другое не приемлемо. Все это ерунда.

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

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

Помните, что творчеству нужно сотрудничество, чтобы процветать, но есть отличная грань между сотрудничеством и сотрудничеством. Первая — это культура «не согласен соглашаться», которая пробуждает в людях лучшее, а вторая — это культура «согласия без несогласия», которая ведет к катастрофе.

Не просите решать головоломки.

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

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

Не просите написать код на бумаге.

Просить программистов писать код на бумаге (или даже на доске) — глупая идея. Программисты — профессионалы, и к профессионалам нужно относиться иначе, чем к учителям, которые просят детей писать алгоритмы на доске.

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

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

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

Не задавайте слишком много вопросов, не связанных с работой.

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

Но дела быстро пойдут под откос, если вы будете продолжать задавать вопросы на темы, не связанные с работой. Это будет смущать и раздражать программиста. "Что, черт возьми, происходит?" Он начнет что-то бормотать себе под нос и начнет терять интерес.

Еще один наихудший сценарий — если вы начнете задавать слишком много личных вопросов.

  • "У вас есть дети?"
  • «Какой вы национальности?»
    «А сколько вам лет? Ты молодо выглядишь» (особенно для девушки)
    И так далее.

Помните, правило таково: не нанимайте программиста, который «вписывается в культуру». Вместо этого наймите программиста, который «вписывается».

Последняя мысль

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

Собеседование — это улица с двусторонним движением. Компаниям нужны хорошие программисты, чтобы помочь им достичь своих целей, а программистам нужны хорошие компании, чтобы реализовать свои карьерные устремления. Эти отношения должны быть взаимно симбиотическими, чтобы привести к продуктивному партнерству.

И главное здесь — концентрация. Как интервьюер, не тратьте драгоценное время интервью, задавая ненужные вопросы. Вместо этого сосредоточьтесь на том, что важно и ценно для организации, чтобы можно было нанять хороших программистов с нужным опытом.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.