data будни – Telegram
data будни
1.47K subscribers
120 photos
1 video
2 files
237 links
работаю инженером данных и пишу в основном про это.

Профильные ссылки с коротким резюме (статьи, доклады, подкасты), иногда «софтовое» — например, про поиск работы.
Download Telegram
data будни
Что болит Общее впечатление что все хотят в data driven. Уже никого не надо убеждать в ценности данных — этот этап пройден. Теперь следующая проблема — данные собрали, пайплайны настроили, первые дашборды нарисовали. Постепенно данных становится всё больше:…
Стас добавил ещё два пункта по текущие проблемы. Про селф-сервис полностью согласен — в идеале данные должны быть легко доступны (а значит, правильно подготовлены и полно описаны!).

Про запрет трекинга много пишут, но сам я близко никогда не сталкивался с последствиями. подозреваю, что какими-то дата инженерам приходится больше и хитрее джойнить айдишники юзеров из разных источников (кажется, виртуальный паспорт по цифровым следам это оттуда)
Forwarded from Я у мамы аналитик (Stas Valuev)
Мне близок Сашин взгляд на то, что болит у аналитиков - обобщил бы это как "борьба за качество данных".

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

К перечисленному в посте могу добавить 2 больших блока болей:

🔸Демократизация данных и self-service BI. Аналитики все чаще становятся бутылочным горлышком в процессе принятия решений и больше времени тратят в роли интерфейса к базе данных для своих коллег. Решают ее все по-разному, в основном с помощью новых процессов, open-source инструментов или самостоятельной разработки.

🔸Работа аналитиков в маркетинге сильно меняется из-за новых privacy-политик от Apple и Google и возможности запрета трекинга. Способы дальше работать есть, но со стороны выглядят как костыли. Я в этом, честно говоря, не разбираюсь и был сильно удивлен масштабом бедствия.

P.S. был безумно рад всех увидеть в оффлайне и познакомитсья с кучей клевых ребят!

#конференции
Как в Википедии, ты тыкаешь на одну ссылку почитать, и все, через 3 часа ты читаешь про то, как разводить кабачки в условиях болтной местности.
Так и я продолжил читать статьи Maxime Beauchemin и наткнулся на свежую How the Modern Data Stack is Reshaping Data Engineering

Вообще, выражение Modern Data Stack это уже баззворд, пихают его везде. Чаще этой фразы я слышу только “Hadoop умер” (нормально он себе живет относительно нишево, ничего он не умер, как и Ruby, не слушайте шарлатанов).
Так вот, основные моменты из статьи

Data infrastructure as a service
Нам пора думать о платформах, потому что без развития платформы, невозможно расти дальше определенного этапа, слишком больно.

Data integration services
Готовые решения по интеграции данных будут заменять постепенно скриптики, которые мы написали для REST API

Mountains of Templated SQL and YAML
Были полотна YAML шаблонов, теперь и полотна SQL. Программисты не любят SQL, говорят про инъекции, грязный код и вот это все, но количество аналитиков всех мастей растет, а для них SQL основной инструмент

ELT > ETL и Reverse ETL
Данные в хранилище мы научились поставлять. А теперь бы нормально научиться отдавать в наши системы.

The rise of the analytics engineer
Ага, DataOps это вот сюда тоже.

Ну и еще несколько пунктов. Сходите почитать, полезное чтиво.


P.S. на картинках можно заметить, что почти во всех пайплайнах есть DBT. 😄

P.S.S. Если лень читать, можно послушать на английском языке его доклад на эту тему https://www.youtube.com/watch?v=EKhYGYrq0eI
Конференции — это про людей

Записавшись на Матемаркетинг, я всё переживал, что это не тру-дата-инженерская конфа. Доклады и темы тут ближе к бизнесу, чем к хардкор-инжинирингу. Но после немного расслабился — всё-таки дело не только в докладах.

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

В общем, пришёл к выводу, что идеальная конфа — это когда ты всё время на ногах и с кем-то общаешься (привет, Маш! Научи меня так :-)

Рад был всех увидеть, познакомиться и поболтать! Паша, Лёша, Дима, Маша, Стас, Юля, Наташа, Рома и Маша 👋

Было интересно узнать у Николая Валиотти, как они успевают делать столько крутых проектов и при этом ещё и работать! (Кажется, мы сходимся в отношении относительно таких конференций https://news.1rj.ru/str/leftjoin/476)

А с Николаем Головым удалось поговорить про то как они в Manychat управляются с множеством сущностей в анкор модели.

П.С.: В следующем сезоне постараюсь попасть на что-нибудь из тру-де списка Семёна Осипова:
https://news.1rj.ru/str/ohmydataengineer/158
Weekend Offer?

Вижу стало много появляться таких движух от разных компаний: Яндекс, Авито, Х5. Раз их становится всё больше, кажется, это работает (если только не все не карго-култ-повторюши). Хочу понять, насколько это хорошо работает.

Типа сразу за выходные проходишь 2-4 собеса с разными чуваками из компании? И профит в том, процедура не растягивается на недели? (Плюс и выходной ещё — не надо отпрашиваться с текущей работы, хе-хе)

Если вы участвовали в подобном, напишите как прошло?

Для компании вроде тоже неплохо: сразу собрал всех собеседующих в одном месте и устроил им конвейер собеседований. Загрузил всех однотипной работой — норм батчинг.

Вдруг вы проводили такое, расскажите тоже)

(А если вы знаете кого-то, кто проходил или проводил — присылайте их в комментарии ↓)
Интернет — полезная штука, там можно найти всё что угодно.

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

Хочу подсветить пару годных штук на этом бесконечном конвейере (на конфе как раз спрашивали):

Как стать Data Engineer от Адиля Хаштамова
https://khashtamov.com/ru/data-engineer/

Годная заметка с обзором набора технологий и навыков для инженера данных:
⁃ SQL
⁃ Python
⁃ Основы BI
⁃ Облака
⁃ Алгоритмы и структуры данных
⁃ Распределённые системы

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


Видео от проекта DataLearn Дмитрия Аношина и его команды
https://www.youtube.com/channel/UCWki7GBUE5lDMJCbn4e1XMg/playlists

Дмитрий потихоньку записывает свой «видео-учебник» DE-101 по дата инжинирингу: постепенно разбирает тему за темой. Удобно, что есть общая линия, то есть все нужные темы разберут.

Ещё манера повествования привлекает своей ориентацией на практику: у Дмитрия большой опыт в разных места и он рассказывает то, чем на самом деле занимаются инженеры данных (а не то, что написано в умных книгах).

Плюс про реальные кейсы часто приходят рассказать крутаны с рынка: Роман Бунин, Николай Голов, Роман Зыкина, Евгений Кудашёв и другие. Получается отдельный трек с прокладными вебинарами (типа лекции и семинары)).


Если есть что-нибудь, что вам сильно помогло на пути дата инженерии или аналитики, поделитесь, пожалуйста :-) можно @sashamikhailov или в комменты ↓
Infomate.club/de

Знаете кто такой vas3k? Это который автор культовой околоайтишной рассылки (†) и чьи статьи собирают миллионы просмотров (мой топ — вычислительная фотография и машинное обучение для людей)

В обычной жизни Вастрик работает питон-программистом (вроде какое-то время даже работал в той самой Anaconda) и делает всякие штуки. Одна из таких штук — простенькая rss-читалка с web-интерфейсом. Называется Infomate.club

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

У меня был какой-то набор ссылок на профильные ресурсы, плюс ещё пачку досмотрел в посте Дмитрия Аношина, и засунул всё это в этот Infomate в виде отдельной страницы — получилась такая веб-газета для дата инженеров:

%company% Engineering — техно-блоги компаний
Dmitry Anoshin recommends — одноимённая подборка
Infrastructure — Amazon, DBT, DataBricks, Astronomer, Fivetran
[Data] Mix — /r/DataEngineering, TowardsDataScience, Monte Carlo Data
DE Telegram — если вдруг лень читать в приложении))
Podcasts — что послушать
⁃ и чуток Software Engineering

http://infomate.club/de

Код у этой штуки открыт — можно добавлять свои доски через пулл реквесты на Гитхабе (вот так выглядит список источников boards.yml). Или вообще развернуть такое где-то у себя (если надо с дамами и преферансом, например).
Weekend Offer от Яндекс GO

В это воскресение можно попасть на собеседование в Яндекс (и даже сразу на два, если повезёт). Для этого до четверга надо решить два задания на Контесте.

Там понадобится шарить в алгоритмах, поэтому подойдёт тем, кто решает алгоритмы для фана вместо кроссвордов и судоку; или уже месяц не вылезает из LeetCode и щёлкает easy и medium оттуда ))

Если собесы пройдут удачно, дальше должен быть корп-тиндер: знакомишься с командами и выбираешь, куда бы хотел выйти. Если случится мэтч — придёт оффер.

https://yandex.ru/promo/events/fasttrack-taxi-analytics

Я как раз недавно прошёл этот путь (не в рамках Weekend Offer, а просто) и теперь вот датаинженерю в Яндекс GO; поэтому могу ответить на вопросы или рассказать что-то подробнее, если интересно.

почему мне тут нравится:
⁃ есть воля сделать хорошо (выше постил конспект выступления Head of DWH — Феди Лаврентьева)
⁃ есть ресурс на это всё (Федя уже договорился с бизнесом)
⁃ уже влито куча энергии в инфраструктуру и в планах продолжать
⁃ все сущности задокументированы — нет боли неведения
⁃ крутые крутаны за соседними столами (ну или в чате в Слаке / ревью в Гитхабе)

плюс известная атмосфера Яндекса с кучей плюшек.

кароч, GO к нам
data будни pinned «Infomate.club/de Знаете кто такой vas3k? Это который автор культовой околоайтишной рассылки (†) и чьи статьи собирают миллионы просмотров (мой топ — вычислительная фотография и машинное обучение для людей) В обычной жизни Вастрик работает питон-программистом…»
BREAKING: всея отечественного дата сайенса — Валерий Бабушкин — завёл свой канал. Стопудов там будет интересно.

https://news.1rj.ru/str/cryptovalerii/3

П.С.: не могу пройти мимо упоминания «пирамиды» — это та самая пирамида, на которую я опирался, когда приходил в инжиниринг данных ^_^
https://news.1rj.ru/str/data_days/159
Датаи́зм (data-ism) — философская парадигма, провозглашающая, что Вселенная состоит из потоков данных и что ценность всякого явления или сущности определяется их вкладом в обработку данных.

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

https://ru.wikipedia.org/wiki/Датаизм

===

Узнал о новой «религии» (?). Не знаю пока, что с этим делать, но лучше быть в курсе 🙂
👍2
Увидел такую визуализацию и залип (спасибо каналу Data-comics)

Как автор так удачно разместил все горы в аккуратные треугольники? Какое красивое естественное распределение получается: 1 уровень — одна гора (Фуджи); 2 уровень — три; и дальше по нарастающей.

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

И, кажется, всё равно пришлось немного округлить высоту каждой горы до какого-то значения. А потом вспомнил, что это карта 1886 года и вряд ли они тогда знали, что высота Фуджи именно 3 776 метра. Так что автору скорее всего и округлять не пришлось :-)
data будни
Увидел такую визуализацию и залип (спасибо каналу Data-comics) Как автор так удачно разместил все горы в аккуратные треугольники? Какое красивое естественное распределение получается: 1 уровень — одна гора (Фуджи); 2 уровень — три; и дальше по нарастающей.…
Но на этом остановиться я не мог и сделал чарт в Гугл-таблицах (да простят меня коллеги из BI), чтобы узнать как на самом деле выглядит распределение высот гор в Японии.

Взял список гор с высотами (спасибо Википедии и стандартной формуле IMPORTHTML), округлил значения до 100 и в сводной таблице посчитал количество гор для каждого такого «бакета».

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

Гугл-таблица с данными, вдруг вам тоже интересно
👍2
Подглядывать через плечо к программистам

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

https://news.1rj.ru/str/data_days/46

Это получился такой прикладной уровень

Чем дальше подсматриваю, тем более высокоуровневые вещи открываются.

Например, есть проблема скорости разработки: легко пилить новые фичи, когда кода немного; но потом система становится сложнее и каждая новая фича затрагивает всё больше её частей. Если не прикладывать усилий, то скорость разработки будет стремиться к нулю.

При разработке ДВХ точно такие же проблемы: классно и удобно пересчитывать с нуля все сущности при каждом обновлении. Потом слоёв становится не три, а восемь и количество зависимостей каждой сущности возрастает соответсвенно. Поменял в начале одно поле — протягивай его дальше по всем слоям.

В общем, по мере роста системы и проблемы тоже меняются. Продолжаю подглядывать к программистам, как они там умудряются выживать.

Нравится слушать ребят из Moscow Python подкаста ↓
👍2
тимлид и ответственность

Плоская структура без руководителей и менеджеров хорошо работает в небольших системах. При росте системы растёт и сложность; и появляется свой «налог» — должен кто-то отдельный заниматься процессами и рулить этим хаосом.

Правильный тимлид — это не просто прораб, который утром раскидал задачки рабочим, а потом весь день покуривает сигару в тенёчке.

На самом деле это малоприятная работа:
⁃ читать чужой код (бр-р-р!) и делать ревью,
грумить бэклог следить за задачами: непонятные уточнять, переписывать, дополнять контекст, вставлять скриншоты
⁃ следить за показателями тайм-ту-маркет: чтобы новые фичи пилились за разумное время
⁃ организовывать, короче

На примере гостя подкаста хорошо видно, что тимлидом можно стать ещё до официального назначения. Надо просто постепенно брать больше ответственности, разгружая своего руководителя («есть тимлида по кусочкам», хе-хе). Вспоминается фраза, что «ответственность нельзя дать, её можно только взять самому».

Слушать в Overcast и iTunes

#подкаст
Внимание, опрос!

Не так давно попал в DWH Яндекс GO: тут ребята идут в data mesh со своим гибридом Anchor Modeling и Data Vault. Каждый день крутятся несколько тысяч ЕТЛ-процессов, обновляя сколько-то там сущностей. А в конце всего этого пайплайна находится отдел Ромы Бунина (@revealthedata) со своей космической BI-системой и стайл-гайдами.

Кажется, можно было бы больше рассказывать про разную местную внутрянку. Что думаете? Что было бы интересно узнать?
Рассказывать про DWH-строение в Яндексе?
Anonymous Poll
92%
Да, давай больше про Яндекс!
8%
Не-е-е, скучно…
Про процесс собеседований

Так, отлично! Опрос ↑ показал, что можно писать про Яндекс. Я то я переживал, что будет неинтересно 🙂

Не знаю с чего начать — пожалуй, начну с начала, т.е. с собеседований

Общий порядок для инженера данных выглядел так:
0. Знакомство и скрининговое интервью с рекрутером
1. Секция про SQL + программирование
2. Секция про SQL + программирование
3. Секция про алгоритмы
4. Знакомство с командами (1-3)
5. Оффер

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

0. Рекрутер

В прошлом году я сам откликался, и на первом созвоне рекрутер спросила в общем об опыте работы и про цели. Потом задала базовые вопросы про питон: про иммутабельные типы и что может быть ключем словаря. Тогда я не ответил, и дальше не прошёл.

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

Рекрутер — это связующее звено между кандидатом и компанией. Он назначает следующие встречи, отвечает на вопросы по статусу и любые другие. У меня получился очень комфортный процесс: если вопрос был на их стороне, то рекрутер всегда держал связь и ориентировал, когда ждать ответа (Никита, привет!).


Собеседования по коду

Дальше были две секции по SQL и программированию:
- сначала простая задача на джойн (связать две таблицы без потерь),
- потом задача на программирование (отсортировать чётные/нечётные, рассадить зрителей в кинотеатре)
- плюс в конце общий вопрос: у меня было про возрастание долей (типа парадокса Симпсона) и верхнеуровнево прикинуть структуру рекламных доходов РСЯ.


Собеседование на алгоритмы

Третьим собеседованием были АЛГОРИТМЫ! Тут обычно дают две-три задачи. Длительность ограничена 90 минутами, а задачи подбираются так, что можно было бы их решить за 10-30 минут. То есть гуру решают три задачи и ещё остаётся время на поговорить. А кто-то останавливается на первой.


Финалы

Если проходишь алгоритмы, то следующий этап — знакомство с командами (помните, что «трек» общий и до этого собеседовались во весь Яндекс). Во внутренней системе появляется кандидат и команды могут проявить к нему интерес. Назначаются 1-3 встречи с командами (т.н. «финалы»), где общаешься с потенциальными начальниками и коллегами.

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


Оффер

Оффер будет только один — от команды, которую ты выбрал. Оффер готовят вообще другие ребята: не те, которые тебя собесили, не твой руководитель и даже не рекрутер. Специальные математики в недрах Яндекса готовят предложение о работе по единым стандартам.

Когда оффер готов, рекрутер назначает (по идее) уже последнюю встречу на 20-30 минут. На ней он последовательно перечисляет все плюшки, которые компания готова предложить кандидату: деньги, дмс, условия работы и прочие ништяки.

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

Если оффер принят, согласуешь дату выхода и приходишь. Дальше получаешь ноут, доступы, проходишь онбординг и начинаешь перформить 🙂


----
Получилось коротко, но обо всех этапах. Если что-то забыл, пишите в комментах или спрашивайте в личку @sashamikhailov
👍4
Инженеры данных и аналитики

В небольших компаниях инженеры данных как человек-пароход: сам данные достал из источника, сам спроектировал слои и сущности в двх, сам сделал графики и положил их на дашборды (может, это и называют Analytics Engineer?)

То есть тут роль меньше человека: один человек включает в себя несколько ролей.

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

Есть выделенная роль аналитика (в Яндексе их называют «партнёры по данным») — они разговаривают с бизнесом, изучают предметную область и отвечают за качество и консистентность данных. Это к ним потом приходят с вопросами «а как мне сджойнить водителей с географией?» или «где мне найти суммы заказов по пешим курьерам без НДС?»

И отдельно работают инженеры данных. На вход им подаётся уже довольно детализированная задача: откуда что достать, как назвать и куда положить; как же удобно работать, когда на новую пачку данных у тебя уже есть готовая ER-диаграмма связей!

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

Ну и где-то дальше по конвейеру сидят мастера BI, готовые из сырых данных делать полезную красоту.


----
интересно, а как у вас? чем обычно занимается инженер данных? а аналитики?