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

Профильные ссылки с коротким резюме (статьи, доклады, подкасты), иногда «софтовое» — например, про поиск работы.
Download Telegram
Уровни аналитиков

Женя Козлов описал опыт Яндекса по формализации грейдов для аналитиков. Написано очень чётко, можно использовать как шпаргалку для команд или личного развития.

Понравилось чёткое разделение каждого грейда в разрезе подхода к задачам (мелко разжованные а в конце просто глобальное направление).

В самом начале всё равно нужны математическая база, критическое мышление и какой-то прикладной опыт программирования.

Ниже надёргал абзацев из каждого раздела, рекомендую почитать целиком:

----

Аналитик данных – это человек, который помогает команде:
Принимать решения более объективно, основываясь на фактах и данных (в противовес мнению, интуиции и опыту).
Искать точки роста продукта и бизнеса.


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


1. Аналитик-стажер (trainee data analyst)

Аналитик-стажер работает на уровне четко сформулированных и хорошо формализованных задач. Задачи стажеру ставит исключительно старший товарищ-аналитик (наставник или руководитель). Он же проверяет результаты выполнения этих задач перед тем, как отдать эти данные куда-либо еще.


2. Младший аналитик (junior data analyst)

Младшему аналитику не хватает опыта в реальном продукте и бизнесе, поэтому он склонен решать задачи так, как они поступают:
– Нужно выгрузить эксельку с вот такими колонками? – держите.
– Нужно сделать дешборд? – нарисуйте на листочке, как он должен выглядеть.
и т. д.

Как правило при постановке задачи на младшего аналитика обсуждается детальный алгоритм с описанием данных, которые нужно использовать, способом трансформации этих данных (фильтрации, группировки, join’ы) и буквальным описанием, как должен выглядеть результат (если это график, то какие должны быть оси, нормировки, подписи, способ визуализации).


3. Аналитик 1 (Middle data analyst 1 step)

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

Аналитик 1 всё чаще и чаще докапывается до сути идей и вопросов, с которыми к нему пришли. Думает про задачи в терминах решений, которые будут приняты, а не в терминах работы с данными.


4. Аналитик 2 (Middle data analyst – 2 step)

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

Аналитик 2 должен уметь за рутинными операционными задачами видеть какие-то системные направления развития доверенной ему части бизнеса и понимать, как задачи связаны с целями, куда и зачем глобально движется продукт/компания.

Аналитик 2 решает задачи в бизнесовой постановке и результат его работы сформулирован обычно в таком же виде. Если это аналитический отчет — в нём есть рекомендация, как поступать и на что обратить внимание (точки роста и потенциальные проблемы). Если это дешборд или график — они помогают принимать решения.


5. Старший аналитик (Senior data analyst)

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


6. Ведущий аналитик (Lead data analyst)

Аналитик-легенда. Таких единицы. Ведущий аналитик – это супер-эксперт в своей предметной наукоемкой области (как пример, алгоритмы диспетчеризации или поведенческая экономика).


https://gopractice.ru/data_analysts_levels/
Два подкаста про игры с точки зрения машинного обучения

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

Особенно понравилась вставка про Доту с интернешнала с живыми криками комментатора. Фанфакт: перед матчем с Денди машина тренировалась 2500 лет игрового времени.

Слушать в iTunes и Overcast


Второй подкаст — уже серьёзный разговор с инженером из Google Deepmind о том что там под капотом у этого процесса и где эти навыки можно применить в реальном мире.

Ссылки на подкаст в посте автора
👍1
Не Спарком единым

за последние полгода в Эпохе поучаствовал в проектах по построению четырёх DWH для наших клиентов: 3 на BigQuery и ещё один на AWS Athena. Всё как надо — изучили источники, настроили пайплайны, собрали данные в одном месте, нарезали на слои, вывели на дашборды. Клиенты довольны.

При этом задействовано Спарка в проектах: ноль. Обошлись как-то и без Кафки с Хадупом.

Иногда кажется, что это какая-то ненастоящая дата инженерия. Но вот наш СТО скинул статью и я подуспокоился: ребята делают такие же DWH и так же обходятся без инструментов бигдаты.

Со всеми тезисами согласен — мы делаем так же: облачные DWH, инжест через пайплайны на питоне с использованием готовых библиотек, широкие таблицы в аналитическом слое.

Строим аналитическое хранилище данных с готовыми модулями ML на Google BigQuery: просто, быстро, доступно
Ищем дата инженеров в агентсво Epoch8

Эпоха — агенство заказной разработки, мы помогаем клиентам работать с их данными: понимать что было (аналитика) и что будет (ML). Сейчас в штате 20 человек — до бюрократии ещё не доросли, фаундеры в прямой доступности, каждый может влиять на курс и политику компании.

В клиентах как большие е-коммерсы типа Leroy Merlin и Пятёрочки, так и стартапы: например, BelkaCar или Brickit.

Ищем дата инженеров в отдел аналитики. Обычно инженер сопровождает проект от начала и до конца:
⁃ приходиться разбираться с источниками данных у клиентов;
⁃ поднимать и поддерживать хранилища данных (DWH);
⁃ проектировать автономные пайплайны;
⁃ придумывать архитектуру аналитических сущностей и слоёв данных;
⁃ делать actionable дашборды, чтобы бизнес-пользователи клиентов могли принимать чёткие и взвешенные решения.

Кажется, сейчас такое называют Analytics Engineer и вроде есть даже какой-то хайп вокруг этого направления. Если встречали такое, буду рад обсудить @sashamikhailov

Порог входа относительно низкий: работать надо будет в команде с опытными товарищами. В любом случае ожидаем определённого уровня автономности — нужен какой-то опыт работы с данными (SQL, Python).

Нужные навыки:
⁃ Любовь к людям и умение общаться — придёться общаться с клиентами напрямую, снимать требования и презентовать результаты работы.
⁃ SQL — джойны, агрегации, оконные функции.
⁃ Python — писать ELT пайплайны так, чтобы ничего не взорвалось.
⁃ Кроме кода инженеры ещё пишут документацию: на сам код, на данные, на архитектуру решения.

Стэк технологий на каждом проекте свой, зависит от ограничений клиента; но есть наиболее частые решения:
⁃ DWH на BigQuery;
⁃ оркестрация на Prefect (на старых проектах — Airflow);
⁃ модели данных в dbt;
⁃ дашборды на Metabase.


Почему мне нравится работа в агентстве:
⁃ быстрый технический рост: до Эпохи я собирал один DWH три-четыре месяца, в Эпохе — 4 за полдгода;
⁃ большая насмотренность на проектах: приходят разные большие е-коммерсы и видишь что там под капотом;
⁃ вокруг коллеги той же профессии — а не единственный аналитик в отделе маркетинга;
⁃ на каждом следующем проекте замечаешь всё больше общих закономерностей — «набиваешь руку» поднимать DWH с нуля;
⁃ доступны все проекты агентства — всегда есть где подсмотреть оптимальное решение или спросить совета.
⁃ не зря год работы в заказной разработки считается за два в продуктовой;
⁃ рядом отдел МЛ: можно подглядывать, смотреть на насущные проблемы или спросить совета.

Условия:
⁃ вилки: 80-100К для джунов, 100-150К для миддлов. Зависит от опыта и навыков.
⁃ полная удалёнка. Если в Москве, то можно приходить на ежемесячные встречи и прочие офлайн-сборища.
⁃ раз в полгода общие вылазки (уже были Сочи, Алтай, Байкал) — надо же куда-то тратить освободившийся бюджет на офис :-)


Если есть вопросы и предложения — всегда рад пообщаться @sashamikhailov

Если вакансия заинтересовала, надо заполнить анкету в Airtable. В ответ вышлем небольшое тестовое на SQL. После тестового приглашаем на собеседование (возможно, даже там буду я).


====

Планирую вакансию пошерить дальше, если знаете что можно было добавить, уточнить или исправить — пишите. Очень поможете :)
1
у ребят из dbt появился свой подкаст, назвали актуальненько — Analtycs Engineering.

В первом эпизоде с Robert Chang из Airbnb, обсудили проблему управления метриками в компании. В Aribnb таких 12000 и чтобы как-то управляться они сделали систему Minerva как единый источник правды для всех метрик.

https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368
Data Engineering на Яндекс.Практикуме

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

Теперь можно получить профильный курс и выпускников с релевантными навыками (я не как я — учился на аналитика, чтобы потом изучать инжиниринг данных уже на реальном проекте ¯\_(ツ)_/¯ )

Сразу о главном: 80 000₽ и полгода обучения.

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

1. Знакомство с ETL / ELT, DWH / Data Lake, REST API → PostgreSQL
2. Продвинутый SQL: хранимые, тригеры, шардирование (!) и партиционирование
3. Разные базы данных: колоночные, No-SQL, графовые и key-value
4. Прочие источники данных: СУБД, файлики (Excel, хе-хе), API
5. Оркестрация: от крона до Airflow
6. Продвинутые пайплайны: параллельная обработка, Kafka / RabbitMQ / Celery.
7. Инфраструктура: Docker и Ansible.
8. Деплой на кластер: Kubernetes, Helm
9. Архитектура DWH: звезда, снежинка, Data Vault и Anchor Modeling.
10. BIG DATA: CAP теорема, Hadoop, MapReduce
11. BIG DATA часть 2: Spark, RDD (погуглил, спасибо!), Spark SQL
12. Облака: AWS, Яндекс, GCP, Azure, DigitalOcean
13. Безопасность: персданнные, аутентификация и авторизация, секреты
14. Логи и мониторинг: ELK, Grafana
15. Дипломный проект: всё серьёзно с CI/CD и data quality
в продолжение темы Data Engineer VS Data Scientist

на мега-крутом дашборде Ромы Бунина и Николая Валиотти можно посмотреть динамику спроса на дата-профессии. Мне интересно сравнить нашего брата дата инженера с хайповым дата саентистом.

Первое, что хочется отметить — зарплаты дата инженеров на втором месте.

Второе — количество вакансий больше на треть. Я бы здесь ожидал разницу побольше¹, но скидываю это на то, что дата саентистами называют всех подряд (т.н. термин-одеяло²).

(зачёркнуто) Было бы правильнее искать что-то типа ML Engineer, но таких было бы ещё меньше (и большая часть без зарплат, да).

УПД: в комментариях Рома отметил, что они учли это и «в выборку про DS попадали все вакансии, где есть слова ML, AI, DS и т.п.»


Весь проект и пост в канале Ромы Бунина (зацените ещё бизнес аналитиков ;-)
https://news.1rj.ru/str/revealthedata/498


¹ ощущения про «правильное» соотношение DE и MLE на проектах https://news.1rj.ru/str/data_days/158

² про термин-одеялко https://news.1rj.ru/str/rockyourdata/2816
Анализ вакансий из сообщества ODS

ребята спарсили вакансии из своего Слака и «повертели» данные с разных сторон:

⁃ количество вакансий
⁃ распределение по профессиям и уровням
⁃ динамика роста удалёнки
⁃ ну и зарплаты, конечно же (зачем же это всё затевалось!)

плюс всё в динамике: в каждом срезе сравнивают показатели с прошлыми годами.

радует, что становится больше вакансий дата аналитиков — кажется рынок начал понимать зачем нанимать кого-то ещё кроме «дата саентистов»

статья с графиками:
https://habr.com/ru/company/ods/blog/572264/

исходные данные для исследования:
https://github.com/egorborisov/jobs_article/blob/main/jobs_research.ipynb
Как устроена структура данных в Notion

… и как обеспечить ту самую гибкость, благодаря которой Notion стал таким популярным)

https://www.notion.so/blog/data-model-behind-notion

кстати, они нанимают инженеров для работы с данными. Для тех, кому понравился пост выше.

https://www.notion.so/Software-Engineer-Data-Platform-San-Francisco-CA-79be6b036fb34fce88f663648ffdac62
Подброка подкастов про данные:


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


Петр Ермаков в Moscow Python
Петр — организартор курсов DataGym и один из первых участников сообщества ODS. Ещё одна общая хорошая беседа на тему зачем отрасли нужны сообщества.


Антон Карпов в Запуск Завтра
Антон — директор по безопасности Яндекса — рассказал про крупнейшую в мире (!) DDoS-атаку, которую успешно (!!) отразили внутренними инструментами без ковровых блокировок по IP (!!!). Интересно было послушать какие бывают атаки и как с ними работают. Оказывается, есть целая отрасль с организацией подобных атак и отдельных рынок для их заказа.
Послушать:


советы по ML Ops из Moscow Python

сами по себе МЛ-модели — это малая доля работы всего этого вашего машин-лёрнинга. До этого надо ещё собрать данные, их почистить и подготовить (ну вы знаете); обучить модель «на коленке», а потом переписать этот код НОРМАЛЬНО, чтобы можно было запустить в прод. Код в продакшене должен быть читаемым, повторяемы и поддерживаемым — именно в этой области работают специалисты по т.н. ML Ops.

Слушать в iTunes и Overcast



Дата-парень (ex-Spotify) в подкасте от dbt labs

Erik Bernhardsson — автор Luigi; оказывается, Luigiзапустился чуть раньше, чем Airflow (нынешний стандарт оркестрации)

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

Слушать в iTunes и Overcast



Артур Хачуян про философию работы с данными

Артур работает с большими данными, основал Tezaros (это там где 60000 тысяч Селениумов круглые сутки парсят лайки из соцсетей). Артур шарит в данных и имеет здравый взгляд на мир, в подкасте рассказывает где в работе с данными серая зона (например, геопарсинг), а где полная а-та-та (слив персданных другим компаниям).

Полезно было вспомнить, что цифровая грамотность это не навык-по-умолчанию — этому реально надо учить (а некоторых прям принудительно).

Слушать в iTunes и Overcast

#подкаст
Истории об идемпотентности

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

Важная концепция из мира работы с данными — тут миры дата-инженеров и бэкенд-разработчиков пересекаются.

Денис Исаев из Яндекс.Такси на примере реальных историй показывает, как проектировать процессы идемпотентными (и когда не надо :-). Есть ссылки на реализации API в Amazon AWS и Google Cloud.

Кейсы кажутся очень похожими на реальные:
1. Приложение шлёт одинаковые запросы с разницей в секунды
2. Приложение шлёт запрос с плохим интернетом (или моргнула сеть в инфраструктуре)
3. Мультизаказы с ключом идемпотентности, который генерируется на клиенте.
4. Ключи идемпотентности хорошо бы хранить на сервере (и не удалять при отмене заказа)
5. Soft-delete — вместо удаление строки в базе, просто ставить флаг deleted_at=now()


https://habr.com/ru/company/yandex/blog/442762/
Обзор технологий хранения больших данныхМаксим Стаценко

https://youtu.be/xIQZ0v8ayD0

от «зачем нужно» до «с чем у меня ассоциируется каждая система». Вся информация основана на личном опыте Максима.


зачем нужна отдельная аналитическая база? можно проследить по типичным этапам в компании:
1. аналитика на той же базе, что и прод
2. п. 1 не справляется — делаем реплику базы
3. п. 2 не справляется — делаем отдельный аналитическую базу


варианты, где строить:
4. «сервер в подсобке»
5. аренда стойки в дата центре (под свой сервер)
6. аренда готового сервера
7. аренда виртуальной машины в облаке
8. managed services в облаке

скрытые косты. чем «собственнее» решение, тем больше затрат на вас: первоначальная настройка, обновление ПО и драйверов, замена железа, мониторинг и пр.

В облачных решениях можно просто «накликать» любые ресурсы — удобно для MVP и Proof of Concept. В любом случае всегда лучше поднять решение со своими данными и «погонять» его, чем просто читать презентации и обзоры систем в интернете.
Иду на Матемаркетинг 18-19 ноября

Конференция пройдёт в Москве со всеми анти-ковидными мерами. В этот раз будет отдельный трек по Analytics Engineering, в основном иду послушать доклады оттуда. Вот какие темы мне интересны:


селф-сервис

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

Это тоже отдельный процесс: нельзя просто кидать в людей креденшелами от базы и фразой «на вот сам посмотри какой там был оборот за прошлую неделю». Надеюсь узнать как это лучше организовать.

Доклады в тему:
⁃ Артем Давтян, Тинькофф, ведущий аналитик - Построение автономной системы обучения аналитиков и продактов работе с Tableau
⁃ Олеся Миронова, head of analytics, Ostrovok.ru - Как мы развивали экспертизу селф-сервис работы с данными во всей компании
⁃ Николай Валиотти, основатель Valiotti Analytics - Этапы проектирования BI-платформы, которая позволяет строить отчеты и получать данные специалистам без знания SQL


организация всего этого дата-дривен балагана

дашборды всё-таки нужны: без них никуда. Как заряд на телефоне — должно быть место, где оно просто показывается (и не надо писать SQL запрос для этого).

но дашбордов становиться всё больше — как уследить, что со старыми всё в порядке, а новые не повторяют уже имеющихся? как новым сотрудникам найти ответ на нужный вопрос в этом обилие дашбордов (и не тыркать аналитиков каждый раз)?

Доклады по теме:
⁃ Роман Бунин, руководитель группы развития BI-систем, Яндекс Go - Фреймворк развития системы отчётности в крупной компании
⁃ Дмитрий Илесин, Head of Data Platform, СберМаркет - Построение эффективного взаимодействия аналитиков данных и команды инженеров. Повышение доступности данных для аналитиков
⁃ Николай Голов, Chief Data Architect, ManyChat - Выбор инструментов построения современной аналитической платформы. Взгляд data-архитектора


И ещё будет отдельный трек в конце второго дня про поиск работы.

Официальная программа в Google Sheets

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

Если тоже идёте — отмечайтесь в комментариях, давайте встречаться)
для себя сделал «рестайлинг» программы конференции в Google Sheets — убрал цвета, успокоил оформление, отметил интересные доклады (наметил свой «путь» по трекам)

Ах, и ещё открыл комментарии прям там ))