У собеседований на ИТ-специальности своя специфика. Требуется не только пройти отбор эйчар-специалиста, но и продемонстрировать навыки руководителю и членам команды.

Разработчики и аналитики Тинькофф, которые проводят интервью с кандидатами, рассказали, какие компетенции помогают получить оффер и какие ошибки этому препятствуют.

Структура отбора ИТ-специалистов в Тинькофф

Процесс состоит из нескольких этапов и зависит от специальности. Рассмотрим на примере подбора на направление мобильной разработки:

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

«Мы не допускаем тех, кто может устроить разлад в команде»

Профессиональный опыт. Я прошел собеседование в декабре 2019 и в январе 2020 года вышел на работу в SME Тинькофф Бизнеса. Год спустя меня пригласили участвовать во внутренних мероприятиях — например, читать лекции на курсе Тинькофф Образования по iOS-разработке. Постепенно я начал проводить собеседования в компанию.

Я отвечаю за техническое собеседование, которое построено на принципах live coding — программирования в реальном времени. На этом этапе кандидат решает задачи, а мы параллельно проверяем его софт-скиллы.

Важен не только правильный ответ, но и то, как кандидат к нему пришел: долго ли думал, какие варианты рассматривал, почему выбрал именно этот путь решения. Мы набираем не новичков, а опытных iOS-разработчиков уровня мидл-плюс, поэтому и требования соответствующие.

Это не просто собеседование, а настоящее искусство.

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

Есть такое понятие, как матрица компетенций — срез знаний, которыми нужно овладеть, чтобы получить уровень джуниора, мидла или сениора. Чтобы понять, чего от вас хотят на интервью, читайте требования к вакансии. У Тинькофф в открытом доступе есть список материалов для подготовки к собеседованию — намек на то, о чем могут спросить на интервью.

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

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

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

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

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

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

А еще из-за того, что собеседования проводятся дистанционно, некоторые пытаются «списать». Например, подглядывают в соседний монитор или ищут ответы в интернете. Часто мы даем задание — понять, что делает тот или иной код. Однажды молодой человек пытался быстро скопировать его и найти в интернете — мы это заметили. Словом, все эти уловки не остаются безнаказанными.

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

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

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

«Горящие глаза и желание писать код — это, конечно, хорошо, но нужны и другие компетенции»

Профессиональный опыт. После школы я поступил в Финансовый университет на кафедру информационной безопасности. Мои ожидания не совпали с реальностью, но все же в вузе были интересные пары по программированию, что и стало моей отправной точкой в ИТ. Именно тогда я почувствовал, что мне это действительно нравится. Стал активнее погружаться в индустрию, выбрал для себя язык C# и начал создавать простые приложения.

Осенью 2018 года увидел рекламу курсов Финтеха от Тинькофф, где предлагали пройти бесплатные занятия по программированию. Я как раз приобрел Макбук и начинал изучать язык Swift, поэтому рискнул: зарегистрировался и выполнил тестовое задание. Окончил трехмесячную программу, после чего меня пригласили на собеседование в штат.

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

Проводить собеседования для iOS-разработчиков я начал через год-полтора после начала работы: тимлид пригласил присоединиться к нему на интервью с выпускниками Финтеха. Сначала я был «вторым пилотом», но вскоре руководитель команды предложил мне вести встречи самостоятельно.

Во время первого собеседования все пошло не по плану: тимлид заболел, а напарник, которого назначили на замену, опоздал, поэтому мне пришлось начинать разговор самому. Ощущения были необычными: мы с кандидатом сидели один на один, рядом не было никого, кто мог бы подхватить инициативу. Сначала я волновался, но минут через 5—10 стал ощущать себя комфортно. С тех пор собеседования стали одной из моих постоянных задач.

Мое рабочее место
Мое рабочее место

Я провожу оба технических этапа отбора кандидатов — скрининг и программирование. Вот примеры вопросов, которые могут задать на первом этапе:

  1. Что такое ARC?
  2. В чем отличие синхронного выполнения кода от асинхронного?
  3. Какие способы хранения данных ты знаешь?
  4. Чем отличается Value Type от Reference Type?

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

Советы кандидатам. Иногда я практически сразу понимаю, что кандидат станет отличным сениор-разработчиком. Например, задаю вопрос, а он в ответе охватывает сразу всю тему, предвосхищая дальнейшие уточнения, без воды и по делу. Таким специалистам хочется поаплодировать и сразу пригласить их в штат.

Требования по объему знаний различаются в зависимости от того, на какой уровень претендует кандидат. Горящие глаза и желание писать код — это, конечно, хорошо, а для джуниор-разработчика так и вовсе 50% успеха, но требуются и другие компетенции.

Я бы выделил основные темы, которые нужно знать на базовом уровне:

  1. Память — разница между слабыми и сильными ссылками, случаи, в которых их нужно применять.
  2. Многопоточность — как писать многопоточный код.
  3. UI — как сверстать простой экран, жизненный цикл UIViewController, использование UITableView, механизм Auto Layout.
  4. Основы языка Swift: опционалы, работа с коллекциями, отличие структур от классов.

Начинающим специалистам, которые собираются на собеседования в Тинькофф, могу посоветовать пройти Финтех-курсы и посмотреть матрицу скиллов iOS-разработчика с GitHub. Лучше всего выписать из таблицы скиллов основные темы и планомерно изучать их: читать статьи, проходить курсы или создавать свои пет-приложения — последнее нравится мне больше всего, так как это возможность применить знания на практике. Рекомендую обратиться к материалам на swiftbook.ru — мне в свое время они очень помогли. Еще стоит подписаться на телеграм-каналы iOS Broadcast и iOS Good Reads, где бывают ссылки на полезные статьи. Знания, которые вы получите на этих ресурсах, можно применять на всех этапах собеседования.

Ошибки на собеседованиях. Несколько раз сталкивался с тем, что люди пытаются загуглить ответы на вопросы. Особенно запомнился кандидат, который практически после каждого вопроса хмурился и долго думал, иногда произнося что-то вроде «хм-м-м», «надо бы вспомнить», «сейчас-сейчас». Все бы ничего, но у него за спиной стоял стеклянный сервиз, в котором отражалась страница Гугла.

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

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

«Наша цель — через наводящие вопросы выявить, обладает ли кандидат нужным набором софт-скиллов»

Профессиональный опыт. С компанией знаком давно — в университете проходил программы Тинькофф Образования «Финтех-тренды» и «Анализ данных в индустрии».

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

Изначально очень нервничал, но после нескольких встреч пришли спокойствие и уверенность. Переломным моментом стало собеседование с командой продуктовой аналитики. Мне удалось продемонстрировать знания с курса «Анализ данных в индустрии» — а мой собеседник как раз преподавал на нем и был очень впечатлен моим уровнем.

Я выбрал эту команду и с мая 2021 года работаю продуктовым аналитиком в кобрендах — партнерских программах банка с другими компаниями. Это, например, карты Tinkoff ALL Airlines, Tinkoff Drive и другие.

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

В октябре я провел восемь собеседований на программу стажировок Тинькофф Старт по направлению «Аналитика». Для меня это стало новой интересной активностью. Надеюсь, что буду и дальше набираться опыта в проведении интервью.

Программа предназначена для студентов со второго по пятый курс мехмата МГУ и других кандидатов
Программа предназначена для студентов со второго по пятый курс мехмата МГУ и других кандидатов

Советы кандидатам. Особенно ценно, когда человек понимает, куда идет, и демонстрирует интерес к компании, а не просто хочет устроиться на любую работу. Нелишним будет заранее подготовить пару вопросов о проектах.

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

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

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

В конце мы спросили, есть ли у кандидатки вопросы. Она откинулась на кресло и сказала, что ничего не придумала, потому что слишком увлеклась разговором. Было видно, что она совершенно не волнуется, и это однозначно было плюсом. Собеседование заняло примерно 25 минут, после этого мы приняли решение взять ее в команду и подробно рассказали о возможных задачах.

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

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

«Если кандидат не очень хорошо знает тему, мы даем шанс проявить себя в другой области»

Профессиональный опыт. Еще в школе меня привлекло программирование, и в старших классах я понял, что хочу заниматься именно им. В Финансовом университете я учился на направлении «прикладная информатика» и на четвертом курсе начал работать разработчиком.

Параллельно с учебой и работой решил попробовать сдать вступительный экзамен на программу по iOS-разработке в Финтехе. К счастью, я хорошо справился с ним и попал на курс. Обучение шло три месяца, а в конце меня позвали на собеседование в штат — так я и попал в Тинькофф.

Я провел в компании больше четырех лет, сейчас работаю над приложением Тинькофф Бизнеса в роли старшего разработчика.

Проводить собеседования для iOS-разработчиков я начал полтора года назад. Мне всегда было интересно, каково это — сидеть по другую сторону стола и оценивать кандидата.

Чем дольше провожу интервью, тем больше понимаю, насколько разными бывают люди. Я научился анализировать, что за человек сидит по ту сторону «Зума» и как лучше всего выстроить с ним диалог, чтобы после интервью у него осталось хорошее впечатление о команде и компании.

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

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

К сожалению, я ни разу не встречал кандидатов, после беседы с которыми бы сказал: «Вау, он реально крутой!» Сильные претенденты, безусловно, были. Как правило, такие разработчики быстро соображают, что от них требуется в той или иной задаче, и приходят к ответу. А если они что-то не помнят или не знают, то выходят на решение благодаря активным размышлениям.

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