Последние 6 недель я только и делала, что проходила собеседования на роль middle-разработчика программного обеспечения в Амстердаме. Амстердам — это очень большой город, и собеседований я прошла очень большое количество. Чтобы не тратить время зря на компании, которые мне не подходят, я задавала определенные вопросы тем, кто задавал вопросы мне.
Если вы ищете работу, будучи junior-разработчиком, то, скорее всего, вас не волнуют ответы работодателя на эти вопросы — вам просто нужна работа. Даже если это так, подумайте о том, что для вас неприемлемо и постарайтесь узнать у интервьюеров всю необходимую информацию по этому вопросу. Если это как-то помешает вам в работе, вы однозначно захотите узнать об этом раньше, чем заключите с этой компанией трудовой договор.
Стандартный процесс собеседования
Исходя из своего опыта, процесс собеседования обычно проходит примерно так:
- Собеседование по телефону или Skype/возможно сразу же собеседование с глазу на глаз. Обычно проводится кем-то из HR. Если его проводит кто-то из разработчиков, оно получается довольно коротким (не самое подходящее время для ваших вопросов).
- Техническое собеседование. На этом этапе вы встретитесь с реальными разработчиками, которые будут копаться в ваших знаниях.
- Оценка технических навыков/домашнее задание /парное программирование. На мой взгляд, задание в виде парного программирования — это огромный плюс для компании. А вот задание на дом — это, по большей части, пустая трата времени.
- Финальное собеседование, встреча с остальной командой. Если это небольшая компания, данный этап заменяется на встречу с основателем (основателями).
- Предложение о работе.
Естественно, у разных компаний процесс найма проходит по-разному, но это план общего характера, поэтому вы точно столкнетесь с каким-либо из этапов.
Вопросы для HR-менеджера
Очень часто самое первое собеседование проводит тот, кто ничего не понимает в программировании. По этой причине неуместно задавать вопросы технического характера — человек попросту не поймет, о чем вы говорите, даже если вы проходите собеседование в небольшой компании.
Большую часть этого разговора вы должны говорить о себе. Да, у них есть ваше резюме, но они хотят услышать вступительное слово, поэтому убедитесь, что у вас есть хорошая и краткая история о вашем опыте работы. Вы будете повторять эту историю ad nauseam (до тошноты), пока наконец не найдете работу.
Как проходит процесс найма?
Спросите о том, какие этапы собеседования вам придется пройти, чего ждет от вас будущий работодатель и т.д. Если вы просто прощупываете почву, а они ожидают, что вы здесь и сейчас готовы создать полноценное приложение — лучше пройдите мимо.
Расскажи мне немного о команде разработчиков
Сколько всего человек в команде, как много junior’ов и senior’ов, какая у них иерархия между собой (Есть ли технический директор?) — данные вопросы не составят труда для HR.
Убедитесь, что вы знаете, как проходит следующий этап собеседования, прежде чем бросить трубку, закрыть Skype или выйти из кабинета.
Вопросы для технического собеседования
Итак, настал тот момент, когда нужно задать основную массу вопросов. Они оценивают вас, но и вы оцениваете их. Обычно, в самом конце интервьюеры спрашивают, не остались ли у вас какие-либо вопросы, но это абсолютно нормально, если в середине собеседования вы прервете собеседника и зададите пару-тройку вопросов.
Если вам не важен ответ на вопрос — не задавайте его. Нет смысла тратить время на разговоры о том, что не поможет вам решить — работать там или нет.
Я расположила вопросы в порядке значимости именно для себя.
Каким вы видите идеального кандидата на эту должность?
Мне очень нравится этот вопрос, потому что с помощью него вы сможете лучше представить, что именно от вас ожидают в этой компании. Если бы ваш интервьюер мог создать кандидата из воздуха, каким бы он был? В некоторых случаях они будут описывать вас, в других совершенно иного человека, знания /навыки/предпочтения которого не соответствуют вашим.
К примеру, в одной компании мне сказали, что им нужен кто-то, кому “не потребуется много помощи”. Мне это не подходит. Любой, кто только-только присоединился к, доселе ему незнакомой, кодовой базе, нуждается в помощи своих коллег для понимания бизнес-логики. Даже если он первоклассный эксперт в области технологий, на которых основан код.
С другой стороны, я часто слышала, что идеальный кандидат должен быть “самостоятельным” и “целеустремленным”. Для меня это подходит как нельзя лучше, поскольку я вижу себя и тем, и другим. Я не хочу, чтобы меня к чему-то принуждали и постоянно придирались. По сути, предыдущий и текущий ответ означают одно и то же, но то, как они сформулированы имеет большое значение.
По вашему мнению, какие самые сложные задачи могут встретиться на этой должности?
Ответ на этот вопрос во многом зависит от того, что вы будете делать. В любом случае, это отличный способ с другой стороны взглянуть на ваши обязанности. Тщательно прислушайтесь к тому, что, по их мнению, является наиболее трудными задачами, и на основе этого оцените свои навыки.
Кто задает направление для развития компании?
Я пришла сюда развиваться вместе с компанией, а не просто сидеть за компьютером и кодить целый день. Поэтому, если интервьюеры не знают, как ответить на данный вопрос — меня это поражает. Ответ “основатель” вполне подойдет для небольших компаний, а “совет директоров” и “руководство” для более крупных. Очко в пользу компании, если каждый работник чувствует, что вносит свой вклад в ее развитие. А вот пустые взгляды — это плохой знак, каждый хочет работать в компании, которая знает, куда идет.
Как вы оцениваете успехи команды разработчиков/отдельных лиц/компании?
Я хочу знать, как будет оцениваться моя работа и работа моей команды. Если у них возникают трудности с ответом, я спрашиваю по-другому: “Как вы определяете, что работа выполнена плохо?”. На мой взгляд, если нет способа узнать, хорошо ли справилась команда/человек/компания, но ваши собеседники ясно понимают, как выглядит “плохо выполненная работа” — вам не стоит работать у них. Как вы можете быть успешным на своей работе, если вам не рассказали, как выглядит успех?
Что самое приятное/неприятное в работе здесь?
Задайте этот вопрос как два разных, один за другим (я предпочитаю сначала спрашивать про приятные моменты в работе). Затем спрашивайте про неприятные, и, зачастую, вы будете наблюдать одни и те же реакции, потому что все недовольны одними и теми же вещами. Вообще, заставить людей говорить о негативных вещах во время собеседования довольно трудно, но я обнаружила, что людям трудно обойти стороной этот вопрос, потому что им хочется высказаться.
Скорее всего они не будут говорить о больших системных проблемах компании, но, по крайней мере, вы узнаете о личных/бюрократических проблемах работы там.
Опишите процесс code rewiew
Ответ на этот вопрос, как правило, довольно короткий — разработчики делают pull request’ы, их коллеги рецензируют на GitHub / где угодно. Копните немного глубже, чтобы узнать, сколько дней занимает рассмотрение кода, какие виды замечаний к коду у них принято оставлять и т.д. Они сильно придираются к мелочам? Не отчитывают за распространенные ошибки? Что насчет тестирования? Как часто они выпускают релизы?
Как идея осуществляет свой путь от “только появилась на свет” до бэклога, написания кода и, наконец, выпуска продукта?
Я хочу знать, откуда берутся новые идеи. Они смотрят на данные, а затем на их основе придумывают, что предложить людям? Или же идея приходит в голову основателя, а затем все скачут, чтобы оправдать его ожидания?
Этот вопрос очень похож на “кто задает направление” и может быть задан в качестве продолжения оного. Как только у вас появилась идея, как вы описываете функции, которые хотите получить от продукта, и как вы воплощаете их в коде? Я считаю, что такой вопрос близок к “каково работать здесь?”, без необходимости спрашивать такими банальными словами и получать банальный ответ.
Опишите последнюю техническую проблему, с которой вы столкнулись
Если интервьюеры с неохотой отвечают на предыдущий вопрос, я задаю этот, так как на него проще ответить — я просто прошу привести конкретный пример недавно проделанной ими работы. Было ли сотрудничество между членами команды или один человек сделал всю работу за остальных? Привлекались ли внешние ресурсы? Была ли сброшена функция? Опять же, этот вопрос хорошо подойдет, чтобы получить представление об их повседневной работе.
Бонусный вопрос: Как вы внедряете в команду новых разработчиков?
Задумываются ли они над тем, как облегчить период адаптации для новых сотрудников? Если ответ отрицательный — это еще не повод развернуться и уйти, потому что многие компании не задумываются над этим.
Нанимают ли они junior’ов и как работают с ними? Задавайте этот вопрос, только если интервьюеры точно знают, что вы не junior. Senior разработчики могут задать данный вопрос, чтобы узнать, как в этой компании оценивают своих сотрудников.
Вопросы для финального собеседования
На финальном собеседовании вы, возможно, будете обсуждать зарплату и дату, когда сможете начать работать. Если они сделали вам предложение, получите четкое представление о том, что на кону — за что полагаются премии, как рассчитывается пенсия, когда и на сколько дней можно выйти в отпуск и т.д.
В заключение
Все эти вопросы могут помочь вам наладить контакт с собеседником и правильно выстроить беседу. Но не нужно задавать абсолютно каждый вопрос. Начните с наиболее важных или наиболее информативных из них и потихоньку двигайтесь к остальным.
Когда я оцениваю компанию, я пытаюсь выяснить: получится ли у меня работать здесь с удовольствием? Хотели бы они, чтобы я стала их коллегой/сотрудником? Если наш разговор поможет мне ответить на один из этих вопросов положительно, значит компания мне подходит.
Удачи в поиске работы!
Перевод статьи Amber Wilkie: How to interview your interviewers when you’re looking for a job