Как пройти техсобеседование в финтех-компанию: рассказывает разработчик Точки

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

Святослав работает в Точке уже шесть лет

Что такое техническое интервью

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

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

Карусель — это механизм адаптации кандидата и выбора команды, в которой он будет работать. Разработчик проходит через 3-4 команды, поработав в каждой по две недели. После этого он выбирает, где хочет остаться.

Техсобеседования Святослав проводит в среднем пару раз в месяц

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

Отличие технического собеседования от обычного

В отличие от стандартного собеседования, на котором кандидат рассказывает, кем видит себя через 5/10/15 лет, на техническом он, как правило, решает задачи, связанные с его профилем.

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

На техническом собеседовании кандидатам приходится решать задачи

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

— Развернуть массив (list) in-place (нужно развернуть тот же самый list, а не создать новый);

— Проверить, сможет ли гостиница вместить всех постояльцев (в идеале за O(n log n));

— Реализовать класс «Банкомат»;

— Реализовать декоратор (здесь много вариантов: логирующий, кеширующий, с TTL и без, и тд).

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

Святослав за всю карьеру провёл более сотни техсобеседований 

Кстати, «проваленный» первый этап — не всегда означает отказ, бывают и исключения. Например, однажды к нам на собеседование пришёл разработчик, который совершенно завалил первый этап. Но нам понравилось его логическое мышление и мы решили не отказывать ему, а дать шанс раскрыться. Теперь у нас отличный сеньор-разработчик и один из активнейших членов Python-коммьюнити.

Техсобеседование для джуна, мидла и сеньора

Разумеется, для разных грейдов — разные задания на собеседовании. Чем выше грейд, тем выше ожидания.

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

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

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

На каждый грейд свои особые требования, рассказывает Святослав

Сеньор-разработчик способен брать на себя самые сложные кейсы. Он знает, как с нуля сделать сервис, чтобы он работал без багов. Другой важный аспект — сеньор умеет из ТЗ «сделай хорошо» сделать именно то, что нужно заказчику.

Если сравнить разработку со строительством, то получается такая иерархия задач:

— Сеньор может самостоятельно построить многоквартирный дом, провести к нему коммуникации и провести облицовку фасада;

— Мидл способен построить этаж ;

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

Как подготовиться к техсобеседованию

Основное, на что мы смотрим перед интервью — портфолио кандидата. Это первый источник информации для нас, с него мы начинаем знакомство с претендентом. Портфолио помогает понять потенциал человека и определить темы, на которые будем с ним общаться на собеседовании.

Данные из резюме используются с разрешения Руслана Уса, который уже полгода работает в нашей команде

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

Первую задачу — парсинг сайта с картинками, — я придумал себе сам, когда мне было 13 лет. Мне просто хотелось, чтобы на рабочем столе компьютера автоматически менялись изображения. И я написал программу, которая скачивала разные визуал и автоматически их меняла.

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

Желание учиться — это главное, что должно быть у начинающего специалиста 

На что ещё смотрит работодатель

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

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

Важно находить время на увлечения, считает Святослав

Если IT-специалист увлечён своей работой — это здорово. Но мы всегда за то, чтобы наши сотрудники соблюдали work-life balance и находили время и способы, чтобы переключиться от основного занятия.

Быть готовым к работе, а не к собеседованию

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

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

0
Комментарии
-3 комментариев
Раскрывать всегда