Инжиниринг Данных
23.5K subscribers
1.98K photos
56 videos
192 files
3.2K links
Делюсь новостями из мира аналитики и карьерными советами.

15 лет в Аналитике и Инжиниринге Данных, 10 лет в MAANG

🛠️ dataengineer.ru | 🏄‍♂️ Surfalytics.com

№5017813306

Реклама:
https://almond-rule-130.notion.site/1199f595f76a8030ba1be1e607c9a8ce
Download Telegram
Работая в больших компаниях часто можно услышать или увидеть как продуктовые менеджеры бегают с CDP (Customer Data Platform)(раньше это была фишка маркетологов). В данном контексте это вендорское решение, например Segment, Amplitude или еще чего.

Customer Data Platform is an all-in-one marketing and data infrastructure. In a nutshell, it’s a database for all your user information with a connected activation layer to help you leverage the data for marketing.


Главное в CDP это клиент, поэтому хочется создать 360 взгляд на активность клиента, и иметь возможность сегментировать и взаимодействовать (письмо, push, звонок и тп)

Если вы работает над создание хранилища данных, где хотите консолидировать данные едином месте, когда вы слышите про новую инициативу - создать CDP, то сразу возникает вопрос зачем?

Сразу понятно это долго и дорого. Но не для всех. Кто далек от технологий, верит, что CDP решит все проблем, наконец-то будет единый источник данных, продуктовые и маркетинговые метрики будут аккуратные, качество данных будет замечательным, и никаких outages. Прям как в сказке….

Особенно прикольно, когда под капотом у CDP тот же стек, что и вас в компании. Но вы об этом все равно не узнаете, CDP это black box, с хорошим маркетингом и сильным продажниками🤱

Friends Don’t Let Friends Buy a CDP

PS Как у вас с CDP?
Please open Telegram to view this post
VIEW IN TELEGRAM
12🍌1
Forwarded from Книжный куб (Alexander Polomodov)
dbt — ядро современной платформы данных - Евгений Ермаков - SmartData 2023 (Рубрика #Architecture)

Интересный доклад Евгения Ермакова про построение дата платформы в toloka.ai, которая, получив независимость от Yandex, вынуждена была переезжать на новые технологии. В итоге, выбор пал на databricks, dbt, airflow и tableau. Автор рассказывает о том, почему был сделан такой выбор и как в итоге это все работает.

Основные моменты следующие:
- Сама toloka - это система для краудсорсинга, куда заказчики приходят с задачками навроде разметить данные, а с другой стороны на платформе зарегестрированы люди, которые их выполняют
- Архитектура базируются на трех китах:
-- Data lakehouse
-- Процессы в соответствии с подходом data mesh
-- Современный технологический стек
- До переезда на новые технологии ребята использовали много своего, часть из которого уже есть в opensource: YTsaurus, datalens
- После переезда выбрали новые технологии и dbt стал ядром системы, закрывая функциональность: data quality, data catalog/ data observability, batch processing (вместе со spark), orchestration (вместе с airflow)
- Изначально dbt (data building tool) нужен был в качестве удобного инструмента для transformation шага в ETL/ELT
- Интересно, что в концепции компании dbt есть мнение и относительно ролей, где помимо стандартных data engineers и data analysts появляется еще analytics engineer. В итоге, data engineers - это те, кто делают так, чтобы data платформа работала эффективно, data analysts ищут инсайты в данных и помогают их эффективно использовать, а вот analytics engineers - это ребята, что-то среднее между другими двумя + хорошо укладывается в концепцию data mesh, где нет централизованной дата-команды, а есть дата-команды по доменам
- Основой dbt-проекта является dbt model. Модель состоит из файла с описанием логики (.sql или .py файл) и файла с описанием конфигурации. В .sql файле есть запрос на формирование объекта, другие модели используются через ref() или source() + используется jinja шаблонизация. В .py файле возвращаем dataframe с рассчитанными данными, есть доступ ко всем возможностям pyspark + другие модели тоже используются через ref() или source()
- Материализацию запроса dbt берет на себя и есть разные стратегии, из которых самая интересная incremental
- Настройки хранятся в dbt_project.yaml и profiles.yaml
- dbt поддерживает большое количество баз данных, например, postgres, mysql, clickhouse, ...
- dbt - это консольная утилита, например, при запуске dbt build происходит сборка всех зависимостей между моделями, а также компиляция python/sql запросов и запись в manifest.json
- Команда dbt run запускает скомпилированные запросы, где запуск можно настроить по разному, но интересно запускать по графу
- Кстати, dbt умеет генерировать документацию командой dbt docs generate и дальше можно посмотреть на lineage данных
- Также мы можем писать тесты в том же месте, где мы описываем модели, а дальше запускать их при помощи dbt tests. Например, можем проверять unique или not null на поле, а также если хотим relations между моделями
- У dbt есть еще много возможностей, но про них стоит почитать самостоятельно:)
- Дальше автор рассказывает как сделать data mesh на уровне dbt + airflow. Автор рассматривает варианты вида:
-- Монолитный - один dbt проект на всю компанию
-- Микросервисный - отдельные dbt проекты на каждый домен
-- Layered - отдельные dbt проекты по уровням
-- Смешанный - анархия, где проекты создаются кто как хочет
Выбрали монолитный подход и получили аля монорепо под data mesh, в котором живут все. Обусловлено это было тем, что при микросервисном подходе ломались все связки между моделями (до 1.6 не могли называть модели одинаково в разных проектах + была проблема с импортом друг друга, так как это приводило к циклическим зависимостям).
Из интересного еще сделали конвертор графа исполнения dbt в airflow формат, чтобы запускать DAG из airflow.

В итоге, ребята реализовали свой подход к data mesh при помощи open source инструмнетов и вся схема выглядит достаточно стройно.

#Data #Datamesh #DWH #Processes #Management
40❤‍🔥16💯4😭1
Устроиться аналитиком в Яндекс за выходные

6–9 июля проводим Weekend Offer Analytics. До 3 июля оставьте заявку на участие, 6–8 июля пройдите технические собеседования, а 9 июля познакомьтесь с командами и получите офер.

В мероприятии участвует 9 команд: Crowd, Карты, Поиск, Алиса, R&D, Автономный транспорт, Подразделение аналитики, Антифрод, Антиробот. Вы сможете пообщаться с менеджерами и выбрать проект, который покажется самым интересным.

Нанимаем в офисы России и Республики Беларусь.

Узнать подробности и зарегистрироваться можно здесь.
🗿359🙈3😈2🤷1
Все привет! Оставьте в комментариях вопросы и я смогу ответить на них более развернуто🍞
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8🌚1
Media is too big
VIEW IN TELEGRAM
Отвечаю на пару:
1) Как попасть в ФААНГ
2) Пиво или Сидр

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

Потом еще запишу ответы на другие вопросы.

Всем хороших выходных!
❤‍🔥67🍾16
Пришел вопрос прокомментировать картинку про поиск работы в Канаде (можно заменить на любую страну). Про Канаду еще была замечательная статья - Рекрутинговый ад или как я в Канаде IT работу искал.

Как я понимаю, сейчас в Москве отлично с вакансиями и зарплатами, не думали 1С подтянуть и на удаленку в Москву из Европы или Северной Америки, tax free?🤱

Я согласен с тезисами. Я сам активно собеседуюсь всегда, когда можно, помогаю другим проходить собеседования и готовиться к ним. У меня все просто “результат любой ценой”.

99% агентств - это какой-то шлак. Если на фотке рекрутер из Индии, то можно вообще время не тратить, вам либо предложат 1/3 от вашей стоимости. Мне кажется это из 90х - ожидание о мифических агентствах, кто вам найдет работу и все за вас сделает. Поэтому не будьте наивными не рассчитывайте на агентства, люди там копейки получают и им вообще плевать на вас. Но при этом могут какую-то ерунда спрашивать.

На каждую вакансию откликается огромное кол-во кандидатов, мне кажется, что 80% из них вообще даже не подходят под описание или не имеют разрешение на работу, НО они забивают своими резюме “внимание” рекрутер, и до вас может даже очередь не дойдет.

Как и везде, куча людей, которые предлагают наставничество, курсы, тренинги и тп. Здесь могу сказать одно - если вы не можете сами написать резюме, ничего не изменится если вам за 1000$ сделают резюме. Вы все равно сольете собеседование.

Александр на картинке имеет титл Sr Program Manager и к сожалению это вакансия как и многие другие решена специфик. С одной стороны Program Manager может быть и Project Manager, и Product Manager, и еще куча всяких вакансий, поэтому и желающих больше и 100% сложней найти. И кол-во сертификатов никак не поможет получить работу.

Для себя я выработал следующие принципы:
1) Я занимаюсь созданием личного бренда
2) Я стараюсь бить в одну точку (специализация - дата инженер, это как сантехник, ценность специалиста понятна, прозрачна и измерима)
3) Я всегда ищу работу, даже если не надо, навык собеседований и story telling очень важен
4) Я стараюсь не зависеть 100% финансово от одной работы
5) Я всегда учусь (upskill), многие люди думают, что они и так все знают или выучат уже на работе. Как говорится - фатальная ошибка. Такая же как быть супер честным на собеседовании🤗
6) У меня нет никаких ожиданий ни от менеджера, ни от компании, ни от коллег, все что я делаю, я делаю для себя (работать по вечерам? работать по выходным? работать 12 часов в день?)
7) Приоритеты важны, и приоритеты должны быть не личные, а семейные. Если семейные приоритеты хороший и стабильный income, значит приоритеты в семье могут измениться.
8) Какой-нибудь нетворкинг - поддерживать отношения с бывшими коллегами, ходить на митапы, быть very nice для всех ваших professional connections.

Это так, что первое пришло на ум. А так вообще сложно оценить такие посты, ведь нет конкретики, цифр.

PS не забывайте про козырь в рукаве - напишите в резюме, что вы ветеран-трансгендер (желательно не белый), тогда ваши шансы возрастут! Надеюсь видео пруф не попросят🤣
Please open Telegram to view this post
VIEW IN TELEGRAM
77🦄15🙈14❤‍🔥13💯3🗿1
Ребята, которые давно читают мой канал, попросили информационно поддержать их проект Support Awards.

Думаю, тут многим интересно будет поучаствовать, так как саппорта в data проектах выше крыши😊

А я их попросил сделать для нас вебинар про RAG!
🌚8❤‍🔥53🌭2💯1
Сегодня на Surfalytics мы разбирали интересную задачку по Spark (PySpark), которую прислали в качестве тестового задания на Sr Data Engineer с вилкой для Канады 200к CAD - 220к CAD, что очень неплохо, удаленная работа на проект в консалтинг.

Задание мне понравилось:

Нужно взять 3 файла с данными, сделать трансформацию и сохранить результат. Идеальное упражнение для всех, кто учится на Data Engineer и начинает работать с PySpark. Я потратил где-то 2 часа на это упражнение и рассказывал про каждую строчку кода и приводил примеры как это работает в production и какие вопросы можно будет ожидать на собеседовании, или как тоже самое сделать с помощью SQL. Рассказал про Test Driven Development и многое другое.

Код удалось сохранить, вы можете самостоятельно решить задачку: https://github.com/surfalytics/data-projects/tree/main/de-projects/10_spark_transformations_with_tests_framework.


Вообще это очень хороший пример, как разрабатывать на Spark и как сразу писать тесты ко всем функциям/трансформациям.

Было бы еще классно к решению добавить:
- PySpark Style guide: https://github.com/palantir/pyspark-style-guide
- Использовать GitHub Actions, чтобы у вас тесты выполнялись, когда вы делаете commit (Continuous Integration)
- Попробовать тоже самое на Snowflake и dbt
- Попробовать тоже самое на Databricks (+ Repos, Unity Catalog)

PS это лишь маленький пример, что мы делаем на Surfalytics🏄
58❤‍🔥19
У моего телеграмм канала @rockyourdata есть кредитная карта🍞

PS вопрос про налогообложение, знаете ли вы в какой стране самый маленький налог если открывать юр лицо?

Я слышал про:
- Дубай 9%
- Грузия 1%
- Тайланд 15%

Возможно еще много вариантов - Мальта, Панама, даже наверно можно в США выбрать штат с самым маленьким налогом.
Please open Telegram to view this post
VIEW IN TELEGRAM
💯1
The Trimodal Nature of Tech Compensation Revisited - статья про уровни зарплат.

Любая зарплата (total compensation) складывается из 3х частей:

Base salary + cash bonus + Stocks (“акции” или типа того)

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

Так же если компания публичная, вы можете покупать акции на 15% процентов свой зарплаты со скидкой 10% (Например Microsoft и другие).

В статье уже более детально все описано.

Я лишь подумал о другом.

Условно когда мы ищем работу, нам бы лучше выбрать компанию, где есть все и сразу. В FAANG, это разумеется есть, но таких компаний мало, а желающих много. (Tier 1)

Поэтому надо смотреть Tier 2 компании, которые так же вам могут предложить что-то кроме зарплаты. Ведь базовая зарплата у всех +/- будет одинаковая, а все, что выше это бонусы, стоки и тп.

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

Поэтому, не забывайте при поиске работы взвешивать все возможные варианты, и если есть выбор, где работать, попробуйте отсортировать компании по их возможности вам платить (вне зависимости от базовой зарплаты).

И все это к чему? А к тому, что лучше искать работу, когда у вас все хорошо, и есть возможность подойти к вопросу отбора без спешки, чем когда у вас все горит….
🐳26🫡103
Не могу не поделиться пример “холодного звонка” или лучше сказать сообщения. Чувак хочет мне продать услуги и вот, что он сделал - https://youtu.be/AvJETIwuYY4?si=zrIEzbNZbgI4ijrJ

Мне кажется, можно вам так вместо Cover Letter делать, вы просто представьте себе, когда recruiter/hiring manager за бокальчиком Апероль Шприц будет слушать ваше сообщение - шах и мат, как говорят! А самое крутое, у вас будет Аналитика - получили ли ваше сообщение или нет. Я так делал до 2015 года, только с презентаций и slideshare, видео явно круче! Ищите hiring manager и отправляйте видосик на 3-4 минут, где вы лазите по сайту, показываете свои достоинства (не то что вы подумали) и тп.

PS Ну как такому добряку я могу отказать проматать несколько тысяч долларов теперь🍿
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚14🦄10💯63🤷1
Небольшая история про консалтинг, типичный бутик по внедрению современных аналитических решений в Северной Америке. Недавно наблюдал результат работы такой компании.

Компания специализируется на создании хранилища данных, интеграции данных, построении дашбордов. Условно у вас есть своя компания/стартап и вы слышали про data driven культуру, принятие решений на основе данных и тп, и решили воспользоваться услугами, чтоб наконец получить долгожданные insights и как говорит Гребенюк - “добавить ноль справа” к вашей выручке.

Далее расскажу пример реализации. В данном контексте, я лишь унаследовал, то, чтобы внедрено в течение прошлого года и больше как на позиции adviser по data engineering, чтобы понять как все масштабировать, найти bottle necks, да и просто сделать reverse engineering.

Цена удовольствия такой компании 60k US$ в месяц за 1,5-2 консультанта в месяц (расценки в США, наверно такие жирные). Консультанты не простые, ребята укомплектованы best practices и сертификатами по dbt, snowflake, fivetran, sigma, looker и тп. Я их не застал, но застал все решение и изучил его сверху вниз (от BI дашбордов, до источников данных)

Если кратко суммировать, то было создано много дашбордов, dbt моделей, таблиц, слоев, схем. Сами дашборды похожи на новогодние огоньки, где каждую метрику визуализируют несколько раз (line chart, bar chart, kpi, и тп), сами дашборды как простыня, которую можно долго скролить.

То есть по факту, ребята реально наклепали всего на всю катушку, проблема лишь в том, что кол-во никак не коррелирует с качеством.

Такое впечатление, что им платили за “output”, то есть вроде все крутится вертится, но по факту бесполезно. Чем больше я погружался, тем больше было заметно, что все дашборды и показатели совсем не помогают бизнесу.

Про всякие вещи, типа синхронизации time zones (UTC) такого вообще нет.

Поэтому выводы:
1) Самый лучший способ быстро вкатиться в проект, это его задокументировать сверху вниз (reverse engineering)
2) Самый лучший способ показать бурную деятельность это клипать дашбордики, модели и таблицы, чем больше, тем лучше (особенно если вам плевать на результат)
3) Fivetran вообще топчик для интеграции данных, но вы платите за кол-во строк! Например, в нашем случае, цена Fivetran была выше в 10 раз, чем сам Snowflake.
4) dbt labs после dbt core кажется бесполезным, но помогает экономить силы на расписании (с dbt core, нужно Airflow или типа того)
5) Sigma - прикольный light weight BI инструмент в браузере, но если вам достались дашборды с простынями из графиков, то удачи, а так позволяет очень быстро наклепать дашбордиков и отличная интеграция со Slack или Email.

PS картинка просто с похожим стеком, современней уже быть не может!
30🗿10❤‍🔥5🙈4
Я же вам говорил, что CLI знать надо, чтобы вот такие вот шутки понимать😅
🌚37🙊13❤‍🔥76💯4🤷‍♀2🐳2👨‍💻1
Media is too big
VIEW IN TELEGRAM
Ответил еще на два вопроса:

1) заменит ли нас AI? 🤖
2) Что делать с опытом IBM DataStage 🦖
❤‍🔥32💯54🫡3
Мы привыкли, что нужно всегда с рюкзаком ходить, куда складывать ноутбук, наушники и тп. Атрибут Айтишника можно сказать. Помню, как в 2011 заказал себе рюкзак синий Jan sport из Америки, ведь в Москве не оригинал 🍞, и тогда я почувствовал, что вот я настоящий IT.

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

Реально, game changer!
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚40❤‍🔥22👨‍💻9🙈7🌭6🍌2🎄2🗿1
Leading Effective Engineering Teams - новая книжка по управлению инженерными командами!

The essential traits for engineering effectiveness and the pitfalls to avoid
How to cultivate trust, commitment, and accountability within your team
Strategies to minimize friction, optimize career growth, and deliver maximum value
The dynamics of highly successful engineering teams and how to replicate their achievements
How to implement a systems thinking approach for everyday problem-solving and decision-making
Self-advocacy techniques to enhance your team's visibility and recognition within the organization


Судя по отзывам в Linkedin, отлчная книга, у автора свой большой блог https://addyosmani.com/ и он уже успел написать много книг.
❤‍🔥10🐳6
Apache Iceberg - What Is It - статья про Apache Iceberg, с картинками и объяснением

Кстати в Yandex и VK, как дела c Lakehouse обстоят да и в целом в РФ интересно куда сместился акцент. Раньше это было Clickhouse/Greenplum и обычно on-premise, а теперь?
❤‍🔥11
Я решил поэкспериментировать с Surfaytics, и поискать дополнительную ценность.

Выявил пока 2 новых направления.

1) я записал своё успешеное собеседование на Sr Data Engineer в Канаде на 200к CAD и скинул видео и вопросы для подписчиков. Планирую дальше записывать и надеюсь студенты тоже будут. Идея в том, что я записываю только себя и свой звук, а вопросу будут текстом на экране.

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

Получить возможность собеседование очень сложно, большой конкурс, а вот провалить его из-за глупых ошибок легко. Один из вариантов это воспользоваться помощью товарища 🤹
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥597🫡7🍌3🤷‍♂1
Forwarded from Data Memes
❤‍🔥28💯8
Возможна ли 4х дневная рабочая неделя? Легко, если ваши дети уже могут уже работать с компьютером.

У нас в пятницу поплану большой трип и чтобы не терять время, я передал ноутбук детям, они там угорали с имен коллега, читали сообщения, отвечали и выбирали веселые эмоджи. Сын даже заапрувил 3 PR в прод и написал “if anything break, rinse and repeat, happy to approve!”

В общем все при деле👨‍💻

Забирайте идею! Заодно дети познают взрослый корпоративный мир, slack, GitHub, code reviews и тп. Мне кажется я так могу путешествовать 5 дней в неделю🚗
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥96🗿29🙈25🐳65🌚3😈22