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

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

за последние полгода в Эпохе поучаствовал в проектах по построению четырёх 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 — убрал цвета, успокоил оформление, отметил интересные доклады (наметил свой «путь» по трекам)

Ах, и ещё открыл комментарии прям там ))
читаю «Как работает Google», а там такое:

Статистика – это сексуально. Как ни крути. Самые сексуальные занятия в Эпоху Интернета будут включать в себя статистику, причем не только в мире фантазий гиков.

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

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

Данные – это меч XXI века: те, кто хорошо им владеет, – самураи. Так что начните затачивать клинок своего меча, образованные воины, и займитесь статистикой
.


Эрик Шмидт, СЕО Гугла писал это ещё в 2014 году. Все, кто работает с данными — самураи 21 века 🤺