Давно я не публиковал статьи для начинающих программистов. Сегодня будет материал как раз для них.
Мы поговорим о том, как и к чему готовиться, собираясь на своё первое собеседование.
Этот день настал. Ваше резюме понравилось потенциальному работодателю, и Вас приглашают на встречу. Эйфория, страх, торги, принятие, оффер 🙂
У каждого человека этот процесс происходит по-своему. Любопытный факт состоит в том, что подготовка к собеседованию начинается с сопроводительного письма для работодателя.
Как и во многих делах, здесь спешка совершенно не нужна. Разумеется, Вас будет захлёстывать желание поскорее ответить или отправить письмо в надежде на то, чтобы Ваше драгоценное место не занял кто-то другой. Нужно выдохнуть, выпить чашку чая и полюбоваться видом из окна. Вам надо быть во всеоружии для того, чтобы получить работу, к которой Вы так долго шли, изучая месяцами программирование.
Сопроводительное письмо
В ситуации, когда Вы откликаетесь на вакансию, работодатель находится в «позиции силы» — именно Вы проявляете заинтересованность в работе. Поэтому и письмо должно быть составлено максимально аккуратно.
Перед тем, как писать такое письмо, внимательно изучите описание компании, предлагаемый стек технологий, отзывы о ней. Убедитесь, что компания действительно Вам интересна, и Вы не отправляете резюме только для того, чтобы получить оффер, а через два месяца уволиться.
Вам не следует копировать всё содержимое своего резюме — это будет некрасиво и неудобно. Письмо — это то, что работодатель увидит в самую первую очередь. Так что нельзя перенасыщать его информацией. Но и недостаточная информация тоже испортит картину. Плохое письмо обычно выглядит примерно вот так:
Меня зовут Петр Иванов. Я очень целеустремленный и легкообучаемый программист.
Я бы очень хотел работать в вашей компании.
Здесь помимо недостатка информации имеют место шаблонные фразы. Рынок кишмя кишит целеустремленными и легкообучаемыми.
Все письмо построено от позиции «Я крутой, наймите меня». Оно кричит, а выскочки без опыта мало кому понравятся.
Поэтому давайте попробуем составить письмо, которое будет приятно для работодателя.
Опишите в письме свои наиболее интересные на Ваш взгляд проекты, точки заинтересованности в компании. Не старайтесь высасывать из пальца достижения.
Всем прекрасно понятно, что Вы Junior, и ожидать от Вас сверхспособностей никто не станет. Работодателю нужен человек, который заинтересован в том, чтобы обучаться и расти.
Вы написали игру «Крестики-нолики»? Выложите её на github! Покажите, как Вы строите код. Ещё лучше, если Вы покажите, что пользуетесь версионированием постоянно. Сейчас Ваш код говорит за Вас.
Стройте письмо от позиции сотрудничества. В первом примере письма кандидат напоминает рекламный баннер, который хочется поскорее закрыть, потому что он пестрит, но несет никакой пользы. Отвлекает одним словом. Поставьте себя на место работодателя. Чего Вы бы ждали от кандидата? Будьте предельно честны в этом ответе.
Давайте попробуем написать письмо, которое заинтересует работодателя.
Меня зовут Петр Иванов. Меня очень заинтересовала предложенная Вами вакансия на сайте xx.ru.
Мне интересно развиваться в компании, которая занимается %вписать необходимое%.
Я прошел обучение в рамках стека языков и технологий %перечислить%.
Наиболее интересным, на мой взгляд, проектом
является мой проект %название проекта%, исходный код которого
Вы сможете найти на github.
Подробную информацию о моей кандидатуре Вы сможете найти в прилагающемся к данному письму резюме.
Заранее спасибо!
С уважением,
П.Иванов
p.ivanov@somemail.com
+7 999 123 4567
Что мы улучшили в данном письме в сравнении с предыдущим помимо увеличения объема написанных слов?
- Мы убрали слова-паразиты
- Мы показали, что заинтересованы в работодателе. И это не просто слова ради лести, а обоснованный интерес
- Мы дали возможность посмотреть на код, созданный в процессе обучения
- Мы дали возможные контакты для связи. Вполне вероятно, что после этого работодатель и резюме читать не станет, а просто позвонит Вам и пригласит на встречу
Перед собеседованием
И вот, Вас пригласили. Время и дата назначены, отсчёт пошёл. Что же делать в это время Вам?
Однозначно, не стоит пытаться впихнуть в себя какие-то новые для Вас систему или подход к разработке. Это только породит хаос в Вашем сознании.
Работать нужно над имеющимися данными. Наверняка к этому времени Вы поймёте, где у Вас есть пробелы — старайтесь работать над их закрытием.
На многих популярных ресурсах очень часто выкладывают типовые вопросы к собеседованиям на различные позиции, связанные с тем или иным стеком технологий.
Неплохой пример списка вопросов к позиции Junior Java разработчика можно найти здесь. А вот здесь можно посмотреть примеры для Junior разработчика PHP. Разумеется, для каждого языка есть свой пул навыков для входа. При этом со временем этот пул меняется, поэтому нужно постоянно следить за современными тенденциями. Впрочем, об этом я уже писал в одной из моих предыдущих статей.
Теперь о банальном. Не опаздывайте на собеседование. Приезжайте минут за 10-15 до начала. Держитесь на связи. Если у Вас появляются непредвиденные обстоятельства, которые мешают Вам приехать на встречу, позвоните и предупредите о них своё контактное лицо. Но не играйте в молчанку. Уважайте чужое рабочее время!
На собеседовании
Непосредственно на встрече ход разговора может идти по-разному. Скорее всего, Вас встретит HR-специалист, который передаст Вам вводную информацию и задаст базовые вопросы. Общение здесь должно быть максимально открытым. Не сидите, скрестив руки, и не смотрите в сторону. Будьте спокойны и позитивно настроены. Это будет являться залогом успеха и одобрения Вашей кандидатуры со стороны HR.
Ни в коем случае не стоит врать или общаться агрессивно. Как было сказано выше, уважайте чужую работу. Однако я замечаю одну нехорошую тенденцию. Интервьюеры стали проверять кандидата на стрессоустойчивость, провоцируя на агрессию. Вам могут задавать неприятные вопросы, говорить неприятные вещи в духе: «Ну хорошо, давайте посмотрим, чем Вы нам можете быть полезны. Это что, всё? И вот Вы правда столько денег за это хотите?». И прочее. Я являюсь противником такого общения на собеседовании, так как всё, что оно может показать — это неадекватность интервьюера, которые прочитал про такой подход где-то в книжке и теперь самоутверждается за счёт этого. Но такие ситуации встречаются. Просто не обращайте на них внимания, если увидите, что другие участники процесса общаются спокойно. Это покажет Вас как стрессоустойчивового кандидата, что будет являться большим плюсом.
После этого Вам предстоит общение с кем-то из команды IT. Здесь общение будет идти на тему Вашего опыта. Задачи могут быть самые разные. Обычно в начале идут теоретические вопросы, а также вопросы, отстраненные от программирования и направленные на логику. Далее возможно будет сессия программирования.
В любой части собеседования ни в коем случае не запирайтесь в себе и не молчите. Думайте вслух, показывайте ход своих мыслей. В большинстве своём практические задачи на собеседовании не направлены на то, чтобы получить от Вас конечное решение. Интервьюеру интересен именно Ваш подход к решению задачи.
Если формализовать подход к ответу на вопрос, то можно вывести несложный алгоритм
1. Выслушайте задачу. При необходимости попросите повторить вопрос или перечитайте постановку задачи.
2. Возьмите 1-2 минуты на то, чтобы подумать над задачей. В это время подумайте над тем, что вызывает у Вас сомнения в этой задаче. Что Вам непонятно в ней? Что бы Вы уточнили?
3. Задайте уточняющие вопросы. Это крайне важный шаг. То, что Вы не броситесь на решение, уже будет для Вас большим плюсом! Задайте вопросы, которые возникли у Вас в пункте 2. После того, как на 100% поймёте постановку задачи, приступайте к решению.
4. Начинайте рассуждать. Рисуйте. Проектируйте. Код должен идти в последнюю очередь — здесь Вам надо показать Ваш стратегический и концептуальный подход. Это залог того, что решение будет реализовано не «в лоб», а с применением обдуманого алгоритма.
5. Если до этого дойдёт, начинайте программировать. Код должен быть «чистым» по определениям Роберта Мартина и соответствовать минимальным стандартам, если таковые установлены для выбранного Вами языка программирования.
Собеседование может длиться от 1 до 3 часов, но Junior-ов обычно долго не мучают. Однако, закладывайтесь на эти цифры. А ешё лучше — спросите о времени заранее, если Вам важно понимать, сколько Вы будете находиться на собеседовании.
После собеседования
Первое, к чему стоит быть готовым, это то, что результат Вам сообщат не сразу. Скорее всего, Вам скажут дежурную фразу «Мы свяжемся с Вами». Она совершенно не означает, что Вы «в пролете». Наоборот, многим компаниям требуется время на сбор обратной связи от интервьюеров и формирование ответа кандидату. Тем не менее, если Вы не получили ответа в течение рабочей недели, прошедшей с момента собеседования, Вы имеете полное право на то, чтобы написать HR-специалисту, который приглашал Вас на собеседование.
Помните, что никто не гарантирует Вам успеха даже при полном соответствии тому, что Вы прочитали здесь или где-то ещё. Каждый работодатель ищет своего кандидата, а это значит, что на самом деле нет универсального поведения, которое будет делать из Вас идеального кандидата.
Даже в случае отказа постарайтесь узнать, что именно не устроило работодателя в Вашей кандидатуре. Это важно для Ваших следующих встреч — Вы сможете проработать это слабое место и закрыть его. Не бойтесь отказов — это нормальное состояние. Главное — понимать, к чему Вы движетесь.
Если делать всё правильно, что в очень скором времени Вас будет ожидать заветное письмо с темой «Job offer for Peter Ivanov»!
В качестве постскриптума
Никогда не соглашайтесь на работу, не имея на руках документально подтвержденного предложения о работе. К сожалению, реальность такова, что современные работодатели любят предложить работу на волшебных условиях, которые с боем часов первого рабочего дня испаряются, а сотрудник в лучшем случае получает меньше обещанного ему.
Все условия работы, социальных услуг (страхования, фитнеса, массажного кресла и т.п.) должны быть зафиксированы в предложении о работе.
После этого внимательно ознакомьтесь с вверяемыми Вам обязанностями. Программисту точно не стоит подписывать трудовой договор, в котором предполагается материальная ответственность за опоздания или ошибки в работе.