Как программисту пройти собеседование. 6 советов
Практические рекомендации от нанимающего менеджера — разработчика с 30-летним опытом. Без копирайтерских банальностей и типично эйчарских верований.
Оля Ежак для Skillbox Media
Рэндал Камрад — старший
(Randal Kamradt Sr)
об авторе
Инженер-программист с тридцатилетним опытом. Разрабатывает на Java в Coinme Inc. Художник и музыкант.
Когда я сам собеседую кого-то, то всегда надеюсь на лучшее. Я верю, что компания вот-вот обретёт ещё одного крутого разработчика. К сожалению, так происходит не всегда.
Соискатели проваливаются по разным причинам. Иногда просто потому, что на собеседовании они слишком сильно волнуются — словно сомневаются в своих знаниях и умениях.
Вот несколько советов, которые помогут вам собраться, сохранить спокойствие и показать себя с лучшей стороны.
Вам нужен ещё один монитор
Раньше предварительные интервью часто проходили онлайн, а нынче так проводится большинство собеседований. Так что общаться с нанимающим менеджером или рекрутером вам, скорее всего, придётся по видеосвязи.
Окно видеочата занимает значительную часть экрана. Поэтому постарайтесь обзавестись вторым монитором — например, откройте на нём браузер, вдруг вам понадобится что-то загуглить.
Почему одного монитора недостаточно? Если вы часто переключаетесь между окнами на одном экране, это очень отвлекает и вы можете запутаться. А ведь собеседование и так дело непростое, так зачем вам лишнее волнение?
Лучше позаботиться о дополнительном пространстве — чтобы держать под рукой все нужные программы. Разверните окна и откройте вкладки, которые могут вам понадобиться. Убедитесь, что мониторы настроены верно и мышка легко бегает между рабочими столами.
Попрограммируйте на указанном в вакансии языке
Я программист-полиглот. Многие из тех, кто приходит ко мне на собеседование, тоже работают с несколькими языками. А вакансии они выбирают не потому, что в них требуется знать определённый язык программирования. Потенциальному кандидату может приглянуться сама компания: кто хорошо разбирается в финансах, может заинтересоваться работой в финтех-стартапе, а кто любит кино или музыку — в медиа.
Поэтому узнайте заранее, на каких языках ведётся разработка в компании, и найдите время, чтобы попрактиковаться. Например, напишите на них небольшое приложение. Так вы не забудете те же точки с запятой в Java или имена обработчиков строк в каком-нибудь другом языке.
Подобный подход поможет заполучить работу мечты, даже если ваш основной язык разработки не совпадает с тем, который нужен компании.
Разнообразьте портфолио на GitHub
Активный аккаунт на GitHub — отличный способ убедить работодателя в том, что вы хорошо владеете языком разработки. К сожалению, большинство претендентов плохо используют эту возможность.
Например, я провожу собеседование. Вместо того чтобы предлагать вам решить какую-то типовую задачу, я бы просто пробежался по вашей кодовой базе и попросил прокомментировать самые интересные решения. Думаю, вам и самому приятнее рассказывать о том, во что вы вложили свои силы и время. Да и чувствуете вы себя при этом на порядок увереннее. Только не нужно делать форк чужого кода или банально его копировать — когда кандидат не ориентируется в своём коде, это очень разочаровывает.
Простой совет — напишите приложение для ведения списка дел на каждом языке, который важен работодателю. Поработайте как над фронтендом, так и над бэкендом. И старайтесь придерживаться лучших практик. А уж если покажете готовое приложение в работе, то дополнительные баллы у вас в кармане.
Держите среду разработки открытой
Небольшие задачи на собеседованиях часто просят решать на какой-нибудь онлайн-платформе вроде CodePair. Конечно, изначально код можно писать и там. Но потом удобнее скопипастить его в настольную IDE, чтобы быстро найти и исправить синтаксические ошибки.
Ваша IDE, скорее всего, справится с этой задачей лучше: сообщения об ошибках здесь выглядят привычнее, поэтому понять их причины и исправить проблемы будет проще. К тому же в IDE можно использовать завершение кода — быстро выбирать правильные методы и параметры.
Заранее подготовьте стартовый код проекта на нужном языке. Например, для Java у вас должен быть готов основной класс с методом main. Так вы сможете использовать завершение кода — и сдадите решённую задачу быстрее.
Подготовьте ответы на ЧаВо
Я часто начинаю собеседование с фразы «расскажите немного о себе». Ответ на этот вопрос лучше готовить загодя. Потренируйтесь и убедитесь, что укладываетесь в пару минут.
Адаптируйте свой рассказ под конкретную компанию и вакансию: подчеркните в нём те свои стороны, которые больше всего соответствуют требованиям работодателя. Так вы представите себя в лучшем свете и не утопите интервьюера в деталях биографии, которые для компании не важны.
Вот другие излюбленные вопросы работодателей:
- Почему нам подходите именно вы?
- Расскажите, как вы решали какую-то проблему.
- Самый большой ваш недостаток?
Откройте заготовленные ответы на втором мониторе, чтобы видеть их во время собеседования. Эта информация пригодится вам даже тогда, когда нужно отвечать на другие похожие вопросы, — достаточно будет слегка изменить формулировку.
Заведите блог или пишите статьи на Medium
Я просто пищу от кандидатов, у которых есть блог или проект, связанный с их работой. Например, вы претендуете на должность senior-разработчика. Стандартное требование тут — опыт наставничества джунов и вообще умение доступно объяснять коллегам сложные вещи.
Рекомендую показать эти скиллы с помощью авторских статей. Напишите несколько объяснялок на любимую тему. Так вы продемонстрируете свои коммуникативные навыки и умение обращаться со словом.
Если английский — не ваш родной язык, то пользуйтесь программами для проверки грамматики.
Если вас опубликовали в авторитетном издании — превосходно, но даже онлайн-самиздат выделит вас на общем фоне. Это дополнительные очки вам в копилку — интервьюеры тоже умеют читать :)
Подытожу
Не все мои рекомендации получится исполнить в день собеседования, поэтому приступайте раньше. Загодя напишите демоприложения и выложите их на GitHub. Начните вести свой блог уже сегодня.
Я всегда говорю: устроились на новую работу — самое время обновить резюме :) Тогда у вас будет меньше забот, если вы вдруг окажетесь безработным.
Кто-то может сказать, что гуглить ответы на собеседовании — это жульничество. А вот мне как нанимающему менеджеру всё равно, как получено решение, главное — что оно найдено. Знать, где найти верный ответ, — это уже полдела для любого разработчика.
Но если компании важнее не результат работы, а что-то иное, то подумайте: а правда ли вы хотите там работать?