Nik в мире данных – Telegram
Nik в мире данных
931 subscribers
8 photos
1 video
1 file
42 links
Автор канала - @nikbeesti
Download Telegram
Klarna

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

Первая компания были шведский финтех Klarna. (Детали могу описать, NDA я не подписывал 🙂 ). Интервью процесс было на позицию Data Engineer.

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

Вторым этапом был логический тест 🤦‍♂️. В последний раз мне кажется я делал логический тест в бородатом 2013 году на стажировку в Билайн. Пример теста - https://www.jobtestprep.co.uk/media/31941/klarna-logic-test-prep.webp). Не сказал, что данный этап сложный - у меня было 18/18 и еще пара минут в запасе. В том же ODS я читал, что люди отказывались от дальнейших этапов, узнав о наличии данного теста :).

Третьим этапом был домашний тест на SQL (можно было выбрать Python или SQL). Вспомнил я про него вечером в вск, выпив уже пару бутылочек пива. Так как в будни мне было бы лень его делать, решил сделать в тот же день. Задачки были уровня easy, medium и одна на оконки с хитрым партиционированием. Плюс была задача на оптимизацию, которую я не очень понимаю, как честно делать, с учетом что в онлайн-платформа для кодинга даже Explain Plan не работает и вроде бы нет доступа к системным таблицам. Поэтому я просто расписал варианты с учетом наличия индексов и прочее.

Тут стоить сказать про факапы, которые начались у HR. Проинформировав, что я закончил тест, я стал ждать. Через неделю не было ни ответа, ни привета. В итоге пинганув еще раз, оказалось, что решение автоматическо не распределилось на проверяющего 🤦‍♂️

Четвертым этапом мне назначили техническое интервью. Мы обсудили SQL задание с предыдущего этапа, а дальше был сис дизайн наоборот. То есть интервьюер принимал роль джуна, задающего вопросы, как технического, так и продуктового характера по системе. А я должен был описывать ее. В качестве системы (аналитической платформы) можно было взять либо что-нибудь из реального опыта, или придумать самому. Сам формат мне крайне зашел и мы покрыли практически все аспекты end-to-end дата решения с точки зрения DE.

Пятым этапом был бихейв. В первый раз человек тупо не пришел, не сообщив заранее. Во второй раз он пришел, но это было наверное худшее интервью за весь процесс в плане коммуникации. Вопросы были типичнейшие: Расскажите об вашем не успешном опыте, или расскажите, как вы разрешали конфликты. Готовился я к этому интервью примерно 5 минут, открыв местные leadership principles, и уже во время ответа на вопросы, адаптировал свои истории под описанные Кларной. (Если кому-то интересно, они описаны здесь - (https://www.klarna.com/careers/our-culture/)). Потом я позадавал вопросы, но чего-то прям запоминающегося у меня в голове не осталось.

Потому был перерыв где-то недели на 3, но мне в итоге назначили еще одно техническое интервью и встречу с командой.

Шестым этапом было техническое интервью и оно стоило того, чтобы пройти все этапы. Сначала обсуждался классический Data Modelling (а-ля есть raw дата, сделайте мне star schema, выделив основные dimensions и facts). Но потом осталось порядка 20-30 минуты и мы долго обсуждали data quality, data mesh и data governance, и как это все устроено в Klarna. (Правда в итоге оказалось, что меня сматчили с командой, которая не относилась к дата платформе, построение которой мы обсуждали)
👍3
Седьмым этапом был тим матч, и было 2 интервью - с менеджерами и с командой. С менеджерам мы обсудили, что вообще происходит, что за сфера и команда. Если кратко, есть 5 фин. аналитиков, но очень много ручника даже для регуляторной отчетности, и ищут ДЕ, который сделает обновляемый бек-офис (условно витрину) для подготовки данных. Я озвучил подход, когда работа с данными демократизируется и сам аналитик может писать базовые загрузки, чтобы ДЕ не был “узким горлышком”. С командой это был скорее неформальный чат в обе стороны, чтобы понять, подходим ли мы друг другу.

В итоге после недели ожидания я решил уточнить, есть ли какой-то фидбек и получил следующее:

I have synced with all the interviewers and as the feedback has been mixed, I'm afraid we decided not to proceed with an offer this time.
To shed some understanding:
You did really great in both technical interviews, the interviewers found you a strong technical profile.
For the team fit interview, they were not able to gather enough evidence towards our leadership principles and stakeholder management skills. They would have also wished to see more interest in Klarna.

Делаю вывод, что я не правильно готовился и понимал последний этап, так как я думал, что лидершип уже не нужен 🙂
В итоге весь процесс занял около 2-3 месяцев. Из выводов делаю, что нужно больше времени уделять бихейву и анализу самой компании, по сравнению с РФ компаниями.
Себе за техническую часть ставлю 4, за продуктовую/бихейв - 3-. Местным HR ставлю 3-.

Суммарное потраченное время - около 8-10 часов.

P.S. Про MANGA компанию в след. серии (но там деталей сильно не будет, так как NDA 🙁 )
👍6
Приму участие в митапе
Forwarded from Stanislav Lysikov
Всем привет.
В рамках развития сообщества @dbt_users мы проводим второй митап, затрагивающий уже более технические подробности инструмента.
14 июня в 19-00 в онлайне ребята из Wheely, ADV/web-engineering co., Space307 и NabuMinds расскажут:
- надежанная дружба clickhouse и dbt
- data quality в modern data stack
- куда расти в зрелых dbt-проектах
- dbt для байтовозов с маленьким t в elt
Слоты фиксированы по времени, можно подключаться на любой канал. Ссылка на ютуб придет как обычно перед началом митапа.
До встречи :)
https://space307.team/dbtmeetup
Две статьи от CTO https://www.selfr.io/ про modern data stack и вообще построение дата команд/подходов в компании
https://medium.com/alexandre-beauvois/modern-data-stack-as-a-service-1-3-1a1813c38633

https://medium.com/@abeauvois/modern-data-stack-as-a-service-2-3-9a15fd8dfb31

Автор подсвечивает довольно классические проблемы всех хранилищ, и показывает современный дата стак. Статьи, как обзорные, мне понравились

Для себя также открыл https://www.castordoc.com/, возможно запрошу демо и попробую осветить в канале
👍3
Рефлексии пост (отметим 2 юбилея! год в Эстонии и 100+ подписчиков 🙂 )

Год назад я переехал в Эстонию. Уходить из Deutsche Bank было тяжко, в виду очень крутой команды, но нерабочие причины побудили к переезду. Выбирал я между Германией (New Yorker) и Nabuminds (Эстония). По совокупности причин была выбрана Эстония. Получилось так, что я попал в совершенно другой бизнес, другой стек (cloud vs on-premise), и в другую парадигму работы (неуправляемый хаос кек).

На момент переезда в компании был BI департамент с классическим подходом дата инженеры + bi analyst. В команде дата инжей было 2 человека + 1 джун на аутстаффе. Процесс был выстроен довольно лайтово.

За год произошло следующее:
⁃ Поменяли парадигму на Core Data Team + Analytics Team (и отчетность как доп команда в ней)
⁃ Core Data Team выросла с 2 дата инжей до Data Architect + Lead DE + 3 DE + 2 Data QA Engineer
⁃ Ввели Code Review и практику написания дата тестов дата инжами
⁃ Мы стали не бек-офисом для BI, а самостоятельным бизнес-юнитом с разными стейкхолдерами
⁃ Организовали Reverse-ETL

Как обычно, планов в разы больше, чем реализованного

Что хочется
⁃ Организовать полноценный CI/CD. Сейчас это в начальном состоянии
⁃ Сейчас выбираем ELT инструмент для новых источников. До это у нас была связка Pure Python + Kafka -> BigQuery, но сейчас требуется более масштабируемый инструмент. Смотрим на Fivetran, Hevo, StitchData
⁃ Организация End-to-End column data lineage. Как инструментарий у нас dbt + airflow + elt тул + Tableau. Главная проблема тут Tableau, но планируем изучить доступные решения и в случае чего, допилить свою интеграцию
⁃ Кросс-клауд. Сейчас у нас GCP + BigQuery, но ожидается вторым проектом AWS + Snowflake и, скорее всего, потребуется кросс-клауд интеграция
⁃ Демократизация работы с данными. Планируем отдать часть витрин под продукт команды с нашим высокоуровневым контролем + предоставление полноценной документации
⁃ Мониторинг - тоже пока относительно сырая часть, опираемся на слак алерты, но для более детализированной картины будем добавлять мониторинг
⁃ Адаптация команды под рост. У нас открыты 3 дата инженерных позиции + DataOps. С учетом такого бурного роста требуется адаптация процессов
👍7
👍14🔥2
Forwarded from Data Coffee
Наконец-то это случилось, и мы поговорили про dbt! К нам в гости заходил Никита Баканчев, Lead Data Engineer из NabuMinds (LinkedIn, Telegram)

Никита рассказал нам что же за инструмент такой dbt и зачем он нужен на data-проектах, чем отличается open source версия dbt core от закрытой dbt cloud, про возможности тестирования и data quality, документацию и lineage, а также про community.

Кроме того, мы не могли обойти стороной расширяемость dbt и попросили гостя назвать те пакеты, на которые точно стоит обратить внимание, и сделали для вас подборочку:
- dbt_utils
- dbtvault
- snowflake_utils
- dbt_expectations
- dbt_date

#datacoffee #podcast #data

Где слушать🎧:
Anchor.FM
YouTube
Бот (последний эпизод)
Остальные площадки

Канал в Telegram: https://news.1rj.ru/str/datacoffee
Профиль в Twitter: https://twitter.com/_DataCoffee_
Чат подкаста: https://news.1rj.ru/str/datacoffee_chat

Поддержать нас чашечкой кофе и даже присоединиться онлайн во время записи можно с помощью сервиса Buy me a coffee
🔥6👍5
Стартовал ML Zoomcamp 2022 (точнее первая неделя уже заканчивается сегодня)

Попробую поучаствовать, посмотрть, что там за ваш ML с этим курсом. А то мы только данные дата сайнтистов перекладывали, да бизнесу отдавали

https://github.com/alexeygrigorev/mlbookcamp-code/tree/master/course-zoomcamp
Как Nik в ФААНГ не попал
В сентябре 2021 на меня вышел рекрутер Меты и предложил пройти собес на позицию Senior DE. Я подумал, а что бы и нет.
Опишу форматы интервью и как все проходило

1. Телефонный скрининг
Уже на телефонном скрининге были заданы вопросы про Python, SQL, Product metrics, на которые надо было ответить. Самый кек что по сикулэ вопросы были не до конца точные, поэтому я пытался угадать, что от меня хотели
2. Programming screening
На этом этапе обычно ждешь ЛитКод. Поэтому взял месяц на подготовку.Приступил я к подготовке .. за день до интервью. В итоге был кек момент, когда я решил задачу фор-фор через О(n^2), предложил сделать норм решение, но сказали - го некст. В итоге в этом интервью было n задач на Python и SQL. N >= 5
3. On-site interview. Про инсайт говорить сложно, так как я подписал NDA.
Кому интересно просто о чем онсайт - у меты материалы есть https://www.metacareers.com/DE-prep-onsite/
Курс для подготовки который довольно не плохо cover basics - https://www.udemy.com/course/data-engineer-interview-prep/
По факту инсайт состоял из 4 интервью - 1 бихейв + 3 специфичных ДЕ интервью (это и не сис дизайн и не кодинг, а что-то среднее).
На подготовку взял как обычно месяц, готовился 2 дня (по факту посмотрев курс выше гг)

В итоге 19 февраля был получен оффер, 23 я подтвердил, а 24 началась активная стадия войны.
Про стадию переговоров могу только сказать, что без второго оффера из ФААНГ почти без шансов нормально поднять.

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

Так что галочка пройти в ФААНГ выполнена, но опытом работы там в ближайшее время не поделюсь.

Отмечу потрясающий професионализм рекрутинга Меты, это просто небо и земля по сравнению с другими компаниями (например, букинг ггг). Видно, насколько это одновременно поставлено на поток, но и как работает индивидуальный подход.
👍13🔥53
Боли modern stack 

Буквально пару дней dbt cloud объявил что они изменяют систему подписки, и Team Plan, на котором мы сидели, во-первых, увеличивает стоимость x2, во-вторых, сокращает кол-во лицензий до 8. Данный нововведения будут с февраля.

Для нас это крайне неприятно, так как, во-первых, у нас уже 11 лицензий, а также я “продал” использование dbt команде аналитиков и data science (это еще + 10 лицензий). Платить x3-4 за enterprise лицензию мы не готовы.
Вот и появилась резкая необходимость съезда с dbt cloud на cloud hosted решение. В принципе это напрашивалось и ранее, так как мы начали понимать, что в процессе роста команды dbt cloud перестал быть жирным плюсом, а также у него появились минусы для нас (например, в количестве параллельных dbt cloud jobs).

В течение декабря - января придется сделать переезд. В принципе, это все было озвучено не раз, что paas/saas - lock по факту всегда является фактором риска (так как, если вендор видит возможность повышения цены - он будет это делать). Но сделано это было в декабре, когда бюджеты на след год уже обычно утверждены. Не уверен, насколько данное решение принесет пользы dbt cloud. 

Из минусов - придется делать еще большие девопс обвески. Плюсы - считаю для команды это будет плюс, так как мы плавно добавляем различные сервисы и т.п. и переход на локальную разработку в dbt принесет более инженерный подход, в том числе.
👍12
Если вы также, как я и из мира batch processing, то понятие message broker (event-driven .. ) может быть вам не знакомо.

Мне кажется отличное прикладное введение на эту тему получилось у Google с их плейлистом https://www.youtube.com/playlist?list=PLIivdWyY5sqKwVLe4BLJ-vlh9r9zCdOse

Буквально за час покрываются высоуровнево следующее:
1. Общий обзор, как данные системы могут помочь
2. Кто есть publisher/subscriber
3. Общая архитектура таких решений
4. Примеры работы
5. Модели работы subscriber pull/streaming pull/push
6. Обработка ошибок и недоставленных сообщений
7. Работа с endpoint на пример cloud function/cloud run
8. Сравнение Pub/Sub, Apache Kafka и альтернатив

В общем, под чаек посмотреть вполне неплохо =)

P.S.Интересно, если я настроил pub sub topic, который пишет 4 сообщения в день и отправляет на webhook, я же могу писать в cv опыт с real time solutions? 😄
👍11
Channel photo updated
#english
Начинаю писать потихоньку цикл статей - "Что-то пошло не так". Они на английском + мой письменный английский оставляет желать лучшего. Но надо же практиковаться, а что может быть лучше чем Learn in Public 😄 (Второе, это написание документации и post-mortem)

Первый рассказ про то, что могло пойти не так, если вы используете так называемые ручные справочники в полуструктурированном формате.

https://bakanchevn.github.io/nulls_handling.html
👍7
Мне очень понравилась аналогия с транспортом в курсе от Гугла при обсуждении On-prem, IaaS, Pass, SaaS:

On-premise:
Вы купили машину и сами решаете, как с ней поступить. Но техосмотр, исправление проблем, обновление (покупка новой машины или обновление движка на вашей стороне)

Cloud IaaS (Infrastucture-as-a-Service)
Вы взяли машину в лизинг. Вы сами выбрали, что за машина и можете использовать как хотите (с возможным ограничением в контракте). Но машина не ваша (В любой момент или в зависимости от контракта в течение нескольких месяцев ее могут забрать). Для обновления достаточно взять новую машину в лизинг

Cloud Paas (Platform-as-a-Service)
Вы взяли такси. Вы выбрали направление и, возможно, класс машины, но все управление делается уже не вами. Также вы можете быть лимитированы в выборе направления пути.

Cloud Saas (Software-as-a-Service)
Вы используете общественный транспорт (автобус, трамвай, троллейбус). У вас есть доступ к транспорту, но вы не можете “кастомизировать” маршрут (если это конечно не маршрутка ггг). Есть ряд установленных направлений. Вы делите место с другими пассажирами, что в худшем случае может вызвать дискомфорт.

P.S. Возможно это адский баян, но я такой аналогии ранее не встречал =)
🔥8👍3
В виду выхода из режима близкому к burnout, постепенно возращаюсь к публичным активностям. Одной из тем, которую я давно хотел обсудить, является корпоративное обучение.

У меня есть опыт преподавания как академический (в университете), так и корпоративный, поэтому я бы хотел поделиться с вами двумя историями и систематизировать свои мысли на эту тему.

Первая история связана с моим опытом работы экспертом на курсе. Мне было поручено создание курса для системных аналитиков DWH, адаптированного под потребности компании. Курс был разработан как интенсивный курс продолжительностью 20 дней, с множеством практических занятий и лекций. Однако проблема заключалась в том, что на подготовку с нуля у нас был только один месяц. Мои обязанности включали в себя сбор требований от заказчика, разработку плана лекций, постановку технических задач, формулирование задач для лекций и проверку готовых материалов. Лекции были разработаны другими специалистами.

Однако возникла проблема, когда меня не включили в процесс отбора людей, которые создавали лекции. Фактически первые лекции состояли из нескольких броских картинок из интернета, которые лишь отдаленно относились к теме курса. В процессе испрвление, был исправлен контент, но не картинки, меня заверили, что дизайнеры сделают это. Однако они внесли изменения лишь в общее оформление, и материал был отправлен заказчику без изменений. В итоге выяснилось, что автором одной из картинок был большой манагер компании-заказчика и главный человек по примке ЛУЛЦ. В этот момент мой работодатель счел, что моя деятельность может стать причиной конфликта интересов, и я ушел с проекта, передав дела другому специалисту, так что как это закончилось я точно не знаю =) Но мне была выплачена оплата за мою часть работы.

Вторая история, связана с тем, как я преподавал часть уроков по курсу DWH Analyst / Analytics Engineer. Мне это было интересно, так как по факту это был курс по dbt для русско язычного сегмента. Это был не первый запуск курса, поэтому все лекции уже были готовы. Сам курс был выстроен довольно неплохо по наполнению (тем более это был главный популизатор dbt в руязычном сегменте!). Основная проблема была в том, что лекции были заточены под проекты главного разработчика курса и часть слайдов была не воспроизводима. Например, там был рассказ про определенный инструментарий и следующий слайд демо (Для примера, скажем инкрементальное использование dbt и Redshift). А у меня нет таких таблиц и готового Redshift кластера, и демо у меня на BQ.

Казалось бы, почему бы не переделать слайды? А тут вступает вопрос прайсинга, тебе платят только за проведение лекций, а материалы уже готовые (хотя демо и практику все равно приходилось самому к слову). И когда ты предлагаешь переделать слайды, то тебе отвечают, что в текущем запуске курса это в бюджете нет и подумаем в след запуск. Вот и получается, по факту сам курс представляет собой набор демо-классов от разных людей, далеко не всегда собранный в единное целое. (Самый кек, что я в итоге работал бесплатно, проведя 10+ лекций, потому что это было в период 2021-2022 года и мне было не интересно получить выплату в рублях, а других вариантов у компании не было)

В целом, у меня есть ощущение, что ввязываться в корп. обучение есть смысл тогда и только тогда, когда есть полный контроль над тем, как курс составлен и что в него входит. Иначе это может быть как минус для тебя как преподавателя, так как контент ассоциируют с тобой, даже если ты не его автор. Да и в целом корп. обучение ставит перед собой цель в заработке, что приводит к тому, что надо продать курс, а потом формально его закрыть и провести (Это относится не ко всем курсам, но ко многим).
👍12