Приглашение на собеседование при первом трудоустройстве само по себе может показаться победой, но на деле это только начало пути. Вместе с экспертами и выпускниками Практикума мы постарались разобраться, какие этапы включает процесс найма и из-за чего на интервью могут провалиться даже опытные разработчики.
Мы общались с теми, кто занимается бэкенд-разработкой, но многие правила актуальны и для остальных IT-специалистов. В создании материала помогли выпускники Практикума, а также:
Артур Шалумов
Наставник курса «Python-разработчик» и тимлид команды бэкенд-разработки в израильском стартапе в сфере интернета вещей Thinkz. Проводит техническое интервью и раз в полгода проходит процесс найма в других компаниях для тренировки.
Диана Наумова
Руководитель Мастерской программирования, а в прошлом руководитель Карьерного центра на бэкенд-направлении в Практикуме. Мастерская программирования — подразделение внутри Практикума, в котором студенты получают практику в реальных проектах, а Карьерный центр помогает студентам с подбором вакансий, оформлением портфолио и другими этапами поиска работы.
1. Плохие манеры выбивают из гонки быстрее, чем некомпетентность
Обычно процесс найма начинающих разработчиков включает три или четыре этапа.
Интервью с HR-специалистом. Рекрутер связывается с соискателем и назначает звонок, чтобы задать общие вопросы о навыках и предыдущих местах работы.
Тестовое задание. Небольшая задача или несколько задач, которые помогают проверить хардскилы соискателя. Обычно на выполнение задания даётся несколько дней. Тестовое задание дают не во всех компаниях.
Техническое интервью. Обычно его проводит опытный участник команды разработки: задаёт более точные вопросы о навыках, спрашивает теорию и даёт задачи. Во многих компаниях этот этап решающий — после его прохождения отказывают немногим.
Финальное интервью. Это своего рода преонбординг — беседа, на которой работодатель задаёт дополнительные вопросы, рассказывает о бизнесе и том, как устроены процессы в компании, отвечает на вопросы соискателя. На этом интервью могут присутствовать несколько человек, включая высшее руководство.
Первое впечатление соискатель создаёт ещё на этапе переписки с HR-специалистом. Может показаться, что это не так важно, но на самом деле опытный эйчар очень внимательно смотрит на то, как с ним общаются в тексте. Важно отвечать быстро, точно, вежливо и участливо, ну и не пропадать — если вы договорились связаться в конкретное время и не сдержали слово, шансы на прохождение первого отбора уменьшатся.
«На встрече с HR-специалистом важно произвести положительное впечатление, так как HR — это помощник для менеджеров компании, тимлидов и техлидов. HR-специалисты, общаясь с вами, анализируют коммуникацию, смотрят на то, как вы встроитесь в команду.
Опрятный вид, чистая комната, яркий свет, нейтральный фон и настроенный заранее звук помогут создать впечатление, что вы заинтересованы в этой вакансии», — Диана Наумова
На собеседовании важно не перебивать, отвечать на вопросы честно и сохранять деликатность. HR-специалист может не понимать технических нюансов, потому что у него совсем другая задача: он смотрит, как вы ведёте коммуникацию, и проецирует это на коммуникацию в команде. Он предполагает, насколько вы с ней сработаетесь и сможете ли выстроить отношения с лидом команды.
Также важно корректно высказываться о предыдущем работодателе, даже если его есть за что покритиковать. HR-специалист не сможет проверить информацию о реальной причине ухода, но по тому, что вы скажете, он будет судить об умении относиться лояльно к новой компании и коллегам в случае вашего ухода в будущем.
Деликатность и умение создавать комфортное взаимодействие важны и на следующих этапах найма. В частности, на техническом интервью, на котором всегда что-то может пойти не по плану.
«Я смотрю, как человек ведёт себя, когда ему что-то непонятно или у него что-то не получается. Если начинает раздражаться и повышать голос, то у него могут возникнуть проблемы в коллективе. Время одиночек прошло — сейчас время командной работы. У нас работают разные люди, кто-то может недостаточно чётко поставить задачу или что-то упустить, и сотруднику важно уметь находить общий язык с коллегой, даже если он не прав», — Артур Шалумов
2. Скорее всего, большинство вопросов будут повторяться от собеседования к собеседованию
В интернете есть много списков для подготовки к техническому собеседованию разработчиков с тем или иным стеком. Скорее всего, только их будет недостаточно, но интервьюеру часто бывает важно узнать, насколько хорошо вы знаете базовую теорию и насколько уверенно ориентируетесь в общих принципах разработки.
«Во время интервью я иду по заготовленному списку вопросов. Он несильно отличается от тех, что есть в интернете. Единственное, я не очень много спрашиваю про алгоритмы, потому что они не особо пригождаются в нашей работе», — Артур Шалумов
Вот примерный список вопросов, которые Артур задаёт начинающим бэкенд-разработчикам.
Какие базы данных вы знаете? Чем SQL отличается от NoSQL, какие у них есть преимущества и недостатки?
Что такое kiss и dry?
Какие бывают типы данных в Python, какие из них изменяемые и неизменяемые и почему?
Как реализован словарь в Python?
Что такое итератор и генератор, какие у них преимущества и как их использовать?
Что такое классы? Какие методы называются магическими? Что делает функция super()?
Что такое процессы и потоки, чем они отличаются и в каких задачах применяются?
Что такое декораторы и зачем они нужны? Задача: написать декоратор подсчёта времени работы функции или кэширования вызова функции.
Задача: посчитать, сколько раз каждый из элементов встречается в списке.
Задача: написать функцию для нахождения чисел Фибоначчи или для факториала.
Что такое индексы в базах данных?
Какие бывают join’ы в SQL и в чём их различия?
Задача: написать SQL-запрос с использованием агрегатной функции или join’а.
Что такое транзакция в SQL? Какие бывают уровни изоляции? Что такое ACID?
Что такое REST? Какие бывают HTTP-методы и в каких операциях они используются?
Что такое Docker и для чего он нужен?
Что такое CAP-теорема?
О каких архитектурах систем вы слышали или читали?
Опыт выпускников также говорит, что знание теории необходимо — базовые вопросы встречаются практически на каждом собеседовании.
«Я прошёл шесть собеседований, три из которых провалил, потому что думал, что нужен продуктовый стек. На самом деле везде гоняли по базе Python: спрашивали, как присваивается id элементу и как он лежит в памяти, попросили написать декоратор с именованным аргументом, давали задачи на алгоритмы и так далее», — Юрий, выпускник Практикума и QA Automation Engineer в ТТК «Цифровые решения»
«Сначала были общие вопросы про Python, потом несколько несложных про базы данных, потом стали спрашивать всё про классы в Python, принципы SOLID, абстракцию, полиморфизм и так далее. Потом пошли вопросы про Django, их было больше всего — рассказывал про особенности select_related, prefetch_related, миксины, QuerySet. Была небольшая задачка и вопрос по очередям Celery и Redis», — Роман, выпускник Практикума и разработчик в Welbex
«Собеседований было пять. Спрашивали базу Python и Django, про алгоритмы и структуры данных, базовую теорию архитектуры, “как работает интернет”. На одном из собеседований было код-ревью — прямо во время встречи прошлись по всему от PEP 8 до устройства хэш-таблиц», — Михаил, выпускник Практикума и разработчик в KLCH
3. Опыт работы необязателен, но без портфолио будет сложно
Работодатели чаще приглашают на собеседование соискателей с кейсами в портфолио. Трудоустройства это не гарантирует, но конверсию откликов в приглашения повышает точно.
«Устроиться без портфолио гораздо сложнее, поэтому мы развиваем Мастерскую программирования. Мы проводим опросы работодателей и на основе результатов выбираем те или иные проекты для студентов, чтобы их кейсы точно были востребованы», — Диана Наумова
Коммерческий опыт и участие в Мастерской — не единственный способ пополнить портфолио для студентов Практикума. Например, многие показывают практические навыки в пет-проектах — собственных проектах, которыми вы можете заниматься в свободное от учёбы и работы время.
«Людей совсем без опыта мы рассматриваем редко — если есть время и нет других кандидатов. Но зато я рассматриваю соискателей даже с реализованными пет-проектами», — Артур Шалумов
У портфолио с пет-проектами есть свои проблемы: часто начинающие разработчики не могут сделать самостоятельный продукт полностью и работают по туториалам, а многие продукты существуют в виде кода на GitHub, который кому-то ещё придётся проверять. Поэтому специалисты по найму и программисты рекомендуют джуниорам вкладываться и в open-source-проекты — продукты с открытым кодом, работа над которыми больше похожа на коммерческую разработку. Или помогать опытным разработчикам в их проектах — это тоже поможет применить навыки на практике и подтвердить это в портфолио.
«Мое наблюдение: достаточно часто мидл- и синьор-специалисты развивают свои или дополнительные к основной работе проекты. Проявите инициативу, и, возможно, разработчик будет не против передать вам менее интересные для себя задачи», — Диана Наумова
4. Задача может показаться нерешаемой — и это не повод сдаваться
Не знать ответ — это нормально. Но если вам дали задачу, то важно хотя бы попытаться, при этом рассуждая вслух.
«Я бывал на собеседованиях, на которых чего-то не знал — и всё равно проходил. Всё зависит от того, какой именно вопрос остался неотвеченным. Если это что-то по теории, можно прямо сказать, что не сталкивались с этим. А если задача, то нужно пытаться решать, потому что интервьюеру важно не столько получить ответ, сколько понять ход ваших мыслей. Некоторые задачи в принципе невозможно решить за время интервью, так что сдаваться нельзя — лучше постоянно говорить и задавать дополнительные вопросы», — Артур Шалумов
5. Универсальный подход может не сработать
Чтобы пройти собеседование, важно показать заинтересованность в вакансии и работе именно в той компании, в которой вы проходите интервью. Вот что можно сделать до и во время встречи, чтобы показать, что это не очередное, а действительно важное для вас собеседование.
Ещё раз перечитайте текст вакансии. Изучите стек технологий и приготовьтесь ответить на общие вопросы о них. И проверьте транскрипции — неправильное произнесение названия той или иной технологии создаст впечатление, что вы не знаете, о чём говорите.
Посмотрите на выполненное тестовое. Иногда на интервью могут спросить, почему вы решили задание именно так, а не иначе. Откройте решение и придумайте ответ. И поразмышляйте, может, с заданием можно справиться ещё лучше? Можете даже спросить об этом интервьюера — это тоже покажет заинтересованность в работе.
Задавайте вопросы. Джуниор не обязан всё знать, но если он даже не интересуется, почему ответ на тот или иной вопрос оказался неправильным, — это плохой знак для интервьюера. Кроме того, вопросы можно задавать и HR-специалисту — это покажет, что вам не всё равно, куда вы собеседуетесь.
6. Самостоятельность важнее опыта и знаний
Покажите, что готовы делать больше. Если команда ищет нового специалиста, значит, ей не хватает ресурсов. Важно показать, что вы станете самостоятельным разработчиком и разгрузите коллег, а не наоборот. Поэтому будьте готовы самообучаться в свободное время и скажите об этой готовности на интервью.
«Есть отличная фраза, которую говорит мой знакомый техлид: “Лучший джун — это самоходный джун”. Самоходный — это тот, кто может найти ответ сам, лишний раз что-то почитать или посмотреть видео, не обращаясь по каждому вопросу к опытным разработчикам. Желание быть абсолютно самостоятельным очень важно для работодателей», — Диана Наумова
7. Возможно, это далеко не последнее ваше собеседование
Найти первую работу сложно — причём с любым количеством знаний и выполненных проектов.
«Да, конкуренция за вакансии выросла. Это выражается в том, что после обучения первую работу в IT приходится искать дольше. Но проработав в сфере IT более 10 лет, могу сказать, что джунам никогда не было просто, а правильная стратегия поиска как помогала раньше, так и сейчас помогает найти своего первого работодателя», — Диана Наумова
Вот как можно подготовиться к процессу поиска работы и что делать, чтобы получить оффер как можно скорее.
Заложите время на поиск работы заранее. Некоторые студенты получают офферы уже во время обучения, другие могут искать работу несколько месяцев после курсов. На моментальное трудоустройство лучше не рассчитывать, сколько проектов вы бы ни сделали и насколько уверенным бы себя ни чувствовали.
Приготовьтесь делать тестовые. Возможно, их будет много и, что ещё хуже, — далеко не всегда вы будете получать хоть какой-то фидбек. Это не должно вас демотивировать.
Не делайте паузу в практике. Отсутствие проектов после обучения — минус для работодателя. Изучайте новые технологии, практикуйтесь и дополняйте портфолио сразу, параллельно с поиском работы.
Готовьтесь, что откликов будет много. Опыт студентов показывает, что количество откликов может доходить до сотен. Это нормально — такие истории тоже заканчиваются трудоустройством.
«Я отправил 297 откликов, выполнил семь тестовых заданий, прошёл шесть собеседований и получил два оффера. Помогли самодисциплина и изучение новых технологий», — Юрий, выпускник Практикума и QA Automation Engineer в ТТК «Цифровые решения»
«Я отправила около 700 откликов, получила 24 приглашения и 161 отказ. Остальное — игнор. Приглашения стали поступать после консультации менеджера по трудоустройству, она посоветовала, как отредактировать резюме», — Алия, выпускница Практикума
«Сделал 40 откликов и получил три тестовых задания. Одно из них понравилось работодателю. Меня пригласили на собеседование с HR-специалистом, потом на техническое, а после предложили работу. Затем было увольнение по причине сокращения штата, и я начал искать работу снова. 20 откликов, три тестовых, и по одному из них — сразу оффер, без собеседований. Думаю, помогло резюме и коммерческий опыт работы в предыдущей компании», — Роман, выпускник Практикума и разработчик в Welbex
Комментарии (7)
shai_hulud
02.10.2023 07:16+1Тестовое задание.
Небольшая задача или несколько задач, которые помогают проверить хардскилы соискателя. Обычно на выполнение задания даётся несколько дней. Тестовое задание дают не во всех компаниях.
Пожалуй нет. Если только не платится тестовая оплата.
TedDenisenko
02.10.2023 07:16+2Никогда не слышал, чтобы стажерам/джунам платили за выполнение тестового. При нынешнем избытке что первых, что вторых, нет никакого смысла так делать (хотя я бы не отказался)
panzerfaust
Вопрос прям отличный. Даже среди сеньоров не так много тех, который реально понимает смысл. И еще меньше тех, кто сталкивался с этим на практике. Что вы ждете здесь от джуна?
KongEnGe
Слез и раскаяния. Во всяком случае, именно так считывается обилие разноплановых вопросов в перечне того-что-стоит-знать.
ira-k Автор
Джуну хорошо знать, что это такое для общего развития. Вот неплохая статья с примерами по этой теме: https://habr.com/ru/articles/130577/