Привет! Я Мария Фоменко, заместитель руководителя управления хранилищ данных и отчетности в Тинькофф. Расскажу о направлении DWH и о том, как попасть к нам в команду, что спрашивают на скрининге HR и на секциях системного анализа DWH.
Статья будет полезна тем, кто планирует расти в профессии, интересуется работой в большой компании или хочет работать именно в Тинькофф. Если узнали себя в любом из пунктов, добро пожаловать под кат ????
Data Warehouse в Тинькофф
Наша команда занимается данными в компании. Наша миссия — распространять data-driven подход в компании, создавать единую платформу и пространство работы с данными.
Команда DWH делится на два блока:
Технический или core-блок создает платформу данных как продукт. Ключевая задача специалистов этого блока — создавать и развивать инфраструктуру нашей платформы. Мы пишем собственные инструменты загрузки и преобразования данных и внедряем лучшие из существующих на рынке. Развиваем методологии работы с данными и их визуализации. Делимся best practice с компанией, предоставляем self-service для 3000+ пользователей платформы. Команда состоит из разработчиков, SRE-инженеров, продакт-менеджеров и архитекторов. Мы любим open source, многое пишем с нуля на Java, Python, Scala и Golang |
Бизнес-блок с помощью платформы данных, разработанной core-специалистами, предоставляет data as a product для всех бизнес-направлений Тинькофф. Бизнес-блок состоит из команд, каждая из которых закреплена за какой-то бизнес-линией Тинькофф. Команды строят аналитическую модель данных, создают ключевую управленческую и операционную отчетность для своего направления, занимаются data governance и решают вопросы качества данных. Команда состоит из системных аналитиков DWH, разработчиков ETL, data-инженеров, QA-инженеров, бизнес-аналитиков BI |
Несмотря на то что большая команда DWH разделена на микрокоманды по задачам, у всех общий фокус на результат. При этом у каждой специализации есть не только свои стандарты, но и общие гайды и матрицы развития, все команды действуют в едином пространстве и на единой платформе.
Системные аналитики DWH входят в бизнес-блок и занимаются исследованием источников, проработкой требований заказчика, проектированием модели данных, составлением ТЗ для разработчиков, развитием data governance и разработкой data quality правил.
Этапы отбора
В Тинькофф отбор проходит в три этапа: HR-скрининг, техническое интервью из двух частей и финальное интервью. Вот как они выглядят в таблице:
Этап |
Секция |
Время |
1. HR-скрининг |
Телефонное интервью |
20—30 минут |
2. Техническое интервью |
Секция SQL + логика |
90 минут |
Секция системный анализ DWH |
90 минут |
|
3. Финальное интервью |
Знакомство с командой |
60 минут |
Первый этап — интервью с рекрутером по телефону. Он спрашивает об опыте, мотивации, желаемом уровне дохода, ожиданиях, технических интересах. Уточняет опыт работы с СУБД, какие задачи с данными приходилось решать, какие с ними были сложности. Интересуется планами на ближайшее время: с чем хочется поработать, что нравится в работе.
Второй этап — техническое интервью. Состоит из двух секций: по SQL и логике и секции системного анализа DWH. На них проверяют базовые знания и уровень погружения в область хранилищ данных. Тех, кто успешно прошел первые два шага, приглашают на финальное интервью с командой.
Третий этап — финальное интервью. Там кандидаты знакомятся с командами, обсуждают особенности проекта и конкретные задачи, над которыми предстоит работать в первое время.
Техническое интервью — секция SQL + логика
На этом этапе проверяются знания и навыки по работе с данными. DWH — это петабайты данных, тысячи пользователей и сотни тысяч аналитических запросов в день. Нам важно знать, на каком уровне человек умеет работать с данными, какие конструкции приходилось писать, есть ли опыт оптимизации запросов.
Задача секции SQL — узнать уровень владения SQL, понять, что человек мыслит данными. Сложность задач, которые будут на собеседовании, определяются уровнем знаний системного аналитика. Начальный уровень он определяет самостоятельно, а потом подтверждает знание обязательных конструкций для этого и следующих уровней.
На уровне Junior собеседование всегда начинается с задач уровня Junior, а вот на уровнях Middle или Senior — с уровня Middle и продолжается по ситуации: вверх или вниз.
Часть секции отведена логическим задачам, по ходу которых отмечается, как системный аналитик раскручивает алгоритм решения, его аналитические способности.
Техническое интервью — секция системный анализ DWH
Цель этой секции — проверить на реальном кейсе навыки общения с бизнес-заказчиками: может ли системный аналитик переложить бизнес-процесс на сущности хранилища.
Решение задач проходит в формате диалога. Есть несколько сценариев, с которыми работаем на собеседовании: если у кандидата был опыт работы с DWH, то идут вопросы по платформе, а потом задачи. Если опыта нет — только задачи. В секцию входят вопросы про опыт работы с хранилищами данных, основные понятия, с какими подходами и методологиями приходилось сталкиваться.
Тайминг: сколько времени идет каждый этап
Первичный телефонный разговор длится 20–30 минут. Если все пройдет хорошо, то рекрутер согласует дату и время для технического интервью.
Техническое интервью разбито по двум разным дням и занимают около 90 минут каждое. На секцию системного анализа DWH проходят те, кто успешно справился с секцией по логике и SQL. После секций рекрутер собирает информацию по результатам технического интервью и направляет их заинтересованным командам. У них есть день, чтобы дать обратную связь, но на практике они отвечают в течение пары часов. Заинтересованные команды практически сразу присылают отклики. Тогда рекрутер возвращается к системному аналитику и зовет его на следующий этап — итоговое интервью. Это уже не собеседование, а знакомство с командами. После созвона рекрутер попросит назвать, какой проект понравился больше всего, а через день возвращается с финальным решением. Если аналитику подходят задачи и нравится команда, он получает оффер. Обычно процесс его согласования длится 1–2 дня.
Как быстрее получить оффер
Компании, для отбора в которые нужно пройти несколько этапов интервью, все чаще проводят One Day Offer — формат, когда на все эти этапы отводится один день. Для компании это возможность быстро нанять специалистов, а для кандидата — получить оффер. За один день можно пообщаться с командой, узнать о проектах, пройти технические секции и принять оффер, если работа подойдет по условиям, а задачи — по скиллам.
В декабре Тинькофф проводит первый One Day Offer для системных аналитиков DWH. Если любите данные и вам интересен такой формат, присоединяйтесь.
hungry_forester
Ну так-то все на высоком уровне, интересно читать, только не очень понятно разделение команд, не вносит ли оно излишнюю бюрократию, не ест ли время на ненужных коммуникациях. Интересно бы услышать, чем обосновано, откуда пошло разделение.
И печально, что никаких примеров задач хотя бы по SQL - непонятен ожидаемый от кандидатов уровень.
jirafik Автор
Несколько лет назад для бизнес-задач у нас была одна большая команда, но с ростом численности штата (сейчас нас 140+ в бизнес-блоке) работой стало невозможно управлять. Разделение команд по бизнес-направлениям дает много плюсов: плотнее выстраивается коммуникация с заказчиком (т.к. задачи делаются в одной и той же группе людей), команда более сплоченная, ребята чувствуют причастность к бизнес-результату, про выполняемость норм управляемости уже молчу)
Команды в технологической части разделены по проектам - тут все понятно, я думаю.
По задачам на SQL - никакого rocket science, sql-ex вполне подойдет для подготовки. Минимальный необходимый уровень - middle, это выборка данных, фильтрация, джойны, группировки. Разумеется, если человек владеет SQL еще лучше, это только сыграет ему в плюс :) Если нет - обучится в процессе ежедневной практики.
TirelEngel
А тестировщики у вас есть?)
Все на удаленке?)
jirafik Автор
Есть, конечно, и ручные, и автоматизаторы. Сейчас график гибридный - можно ходить в офис, можно работать удаленно.