Nik в мире данных – Telegram
Nik в мире данных
931 subscribers
8 photos
1 video
1 file
42 links
Автор канала - @nikbeesti
Download Telegram
Прочитано. Building the Data Lakehouse

Одно из первых дел, что я сделал, переехав в Эстонию, это заказал кучу книг по дата тематике на английском языке на амазоне (причем, сделав это через американский, а не немецкий, попав на пошлину 🤦‍♂️)

И вот первая (еле-еле) дочитанная книга это Building the Data Lakehouse - https://www.amazon.com/Building-Data-Lakehouse-Bill-Inmon-ebook/dp/B09GRZ9KP3
Повелся я на автора Билла Инмона, известного всем в сфере DWH. Но есть ощущение, что от него в этой книге только предисловие. Книга представляет собой (фразу спер у Simon Osipov) булшит бинго. 220 страниц про то, как умными словами будучи менеджером дата команды, продать свою важность.
Она может быть полезна джунам и миддл аналитикам или инженерам, чтобы понимать широкую картину дата области и тренды современного рынка. Но для людей, работающих в этой области долгое время, практически ничего нового. Мне понравилась только первая часть, описывающая разницу между обычными пользователями аналитических приложений и дата сайнтистами. Из книги можно понабрать buzzwords, чтобы потом продавать себя на собесах 😄

Также мне не повезло с печатью (книга явно рассчитана на цветной принт)

Полностью подпишусь под словами ниже:

- Grey scale pictures described with colours in the text
- 20+ pages falling out of binding
- Numerous spelling and grammatical errors
- Content is very verbose, could be slimmed down to about 50 pages.
- Lots of rambling about what data can go into a Lake House but very light on Lake House best practices etc

P.S. Если кому-то нужна копия, то я буду в мск ориентировочно в Феврале и могу отдать свою
Пример страницы
Data Engineer.

Недавно в дата Джобс было обсуждение, кто есть труЪ дата инженер, а кто так мимо проходил 🙂

Подумал можно чуть-чуть порефлексировать по этому поводу.

А так ли важен тайтл, которым тебя назовут? Многие дата-инженеры, пишущие на хардкорной скале с кетсами и спарком, (или даже на питоне) часто не довольны, что адептов SQL-based решений (К коим я также отношусь) также относят к ДЕ.

Недавно собесился в одну большую шведскую контору на ДЕ и меня спросили, на чем будешь делать задание: на SQL или на Python. А следующие этапы были больше про качество данных, моделирование данных, выбор компонент и т.д. То есть сейчас даже кодинг интервью часто пропускает проверку реального знания ЯП.

Мне больше нравится разделение на Data Platform Engineer и Data Product Engineer/Analyst в больших компаниях. Первые занимаются платформой, обвязками, иногда централизированным дата-каталогом и другими DG приблудами, а вторые деливерят бизнес-логику в дата продукт, который использует конечный потребитель.

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

Тут понятно, что я немного biased, и для меня решение в виде drag-and-drop или набросанного SQL или python-кода выглядит часто лучше, так как оно может быстро решить нужды бизнеса. Можно сказать про накапливаемый тех долг, но практика показывает, что довольно часто бизнес-логика решения успеет поменяться несколько раз, что приведет к тому, что текущее решение просто исчезнет.

P.S. Благо мы теперь можем звать себя Analytics Engineer 😄
👍3
Open data

Огромное количество датасетов по Европе можно найти на https://data.europa.eu/en
Кто планирует переезжать в ЕС, можно покопаться, много довольно интересных датасетов

Вот, например, датасет геоточек деревьев в Швеции с дополнительнымы атрибутами - https://data.europa.eu/data/datasets/https-opendata-umea-se-api-v2-catalog-datasets-trad-som-forvaltas-av-gator-och-parker?locale=en
Интересно ли послушать про опыт прохождения собесов в FAANG-like компанию на позицию DE/Analytics Engineer?
Anonymous Poll
84%
Да
2%
Нет
14%
А я мимо проходил
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