🔋 Труба данных
3.51K subscribers
287 photos
5 videos
7 files
348 links
Авторский канал обо всем, что происходит в мире работы с данными: хранение, обработка, визуализация, как мы принимаем решения и как мы становимся профессионалами в работе с данными.

Про рекламу - shorturl.at/dgoR6

Автора канала - @SimonOsipov
Download Telegram
https://www.youtube.com/watch?v=35JelBDhvnE

Очень крутую штуку сделали - dbt-excel. Прям теперь очень легко работать с эксельками стало.

P.S. это была шутеха на 1 апреля, но я ее пропустил. Не воспринимайте это всерьез, хотя код в репосе рабочий вроде как🤪

@ohmydataengineer
https://staysaasy.com/management/2023/03/20/numbers-to-manage-by.html

Как сказал мой бывший коллега и ментор в твиттере про эту статью, “нумерология для руководителей”.

Некоторые цифры клевые и должны быть реальностью, а вот с некоторыми я бы поспорил.
Например, вопрос для обсуждения в комментариях: если вы на первом же собесе понимаете, что человек хороший и подходит, захотите вы “остальных посмотреть” или делаем оффер сразу?

@ohmydataengineer
https://www.intercom.com/blog/traits-of-exceptional-engineers/

Помните историю про 10х инженеров? Немного сатиристичная штука, но она вошла довольно плотно в обиход, как и разработчики-рокстары.
Хотя на деле, конечно, крутые и классные инженеры это совсем про другое. Например, мне очень понравился и откликулся пост по ссылке выше.

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

Такие простые правила, но сколько раз я видел, как инженер садился такой “Ну, я вот наткнулся на проблему, не знаю, как ее решить, написал пользователю, вот жду…”

@ohmydataengineer
Еще вам бабаяна в пятничный юмор 😂

@ohmydataengineer
https://architecturenotes.co/

Если есть примеры прекрасной подачи релевантной информации, так это вот эти ребята.
Генерируют очень клевый контент, картиночки очень хорошо заходят и дают хорошие фундаментальные знания про архитектуру.

Есть бесплатные посты, но большинство по подписке, $89 в год.

Из бесплатных и релевантных, например, про шардирование https://architecturenotes.co/database-sharding-explained/

@ohmydataengineer
https://www.youtube.com/watch?v=x1RVNGDSdw4

Мы вот тут строим Data Lake и DWH, меряемся объемами данных и у кого стриминг самый реалтайм.
А по ссылке выше - финал мирового чемпионата по Excel. Просто, совсем другой мир анализа данных.
И даже игры делают в Excel (одно из заданий) и всякий тулинг поверх него. Потыкайте в видос, там есть таймкоды.


@ohmydataengineer
Вот это я и моя команда 😂

@ohmydataengineer
Data Engineering в разных компаниях. Конкретно в этот раз в Ayden

https://medium.com/adyen/data-engineering-at-adyen-ccded12a6eb

Возможно, кто-то помнит, что какое-то время назад я выступал на конференции с докладом про то, насколько разные бывают задачи у Data Engineers и насколько разные это позиции. Проводя найм сейчас себе в команду, заметил закономерность: на рынке Израиля, например, DE это подавляющее количество задач на SQL и какой-то моделлинг данных, и при этом мало программирования на Python или любом другом языке.

Поэтому это очень важно смотреть и узнавать, а как работают DE в других компаниях, какие бывают задачи и требования, чтобы ваши знания и навыки оставались актуальными. Например, Ayden c болот, это финтех-конкурент Stripe. По ссылке выше - общее описание того, как они работают и мне в глаза бросилось 2 вещи

- data engineers are developers first -> 70% времени ребята все-таки пишут код
- we do not write ‘raw’ SQL in our day to day job -> почти все трансформации отданы на откуп PySpark
- we do not have to ensure there are enough airflow workers, or that we need to ingest raw data from event streams -> есть отдельная команда, которая поддерживает платформу (Airflow и все остальные тулзы) и вставку сырых данных

@ohmydataengineer
Рефакторинг по возможности

https://martinfowler.com/bliki/OpportunisticRefactoring.html

Статья - древняя (почти 12 лет), но до сих пор актуальная (как и большея часть книг Мартина Фаулера). Рефакторинг по возможности, это когда вы делали один тикет, заметили какую-то небольшую ерунду в коде, которую можно быстро поправить - взяли и прибрались. Как у скаутов: “Всегда оставляй место после себя чуть чище, чем оно было до тебя”.

Очень клевый подход, я его разделяю, но у него есть две проблемы, о которых автор упоминает

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


@ohmydataengineer
Классика бигдаты в пятничном юморе 😂

@ohmydataengineer
Что там с modern data stack?

https://mattpalmer.io/posts/hot-takes/

Ох уж сколько мне этих статей попадалось и продолжает попадаться! Кто-то продолжает восхвалять, а кто-то начинает ругать уже все подряд. Очередной взгляд на вещи, короткая выдержка оттуда

- у dbt нет некоторой функциональности, например column level lineage, которое ей не позволяет стать лучшим инструментом
- Редшифт скатился и больше не конкурент
- DWH все также сложно
- Airflow - окаменелое устарелое 💩. А Airbyte - еще хуже. Поэтому пользуйтесь Mage (https://www.mage.ai/). Его активно форсит пара известных блоггеров, якобы это замена Airflow. Кто-нибудь пробовал?

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

@ohmydataengineer
Please open Telegram to view this post
VIEW IN TELEGRAM
Про базовые концепции тестирования в данных

https://www.datafold.com/blog/the-state-of-data-testing

Если вы находитесь на начальной стадии принятия и внедрения тестирования ваших данных, самые базовые концепции и примеры - это то, что вам нужно: Data Accuracy, Data Completeness, Data Consistency, Data Integrity.

Это скорее базовый уровень, но для начала хватит. А еще можно тыкнуть в твиты автора и посмотреть, а что же другие делают для тестирования данных. Например, клевый ответ “Метод пристального взгляда” (мы так уравнения в 7 классе решали по математике: внимательно смотришь на пример и видишь ответ). Так и тут, скролишь всю табличку, видишь какую-нибудь фигню, значит что-то не то.

@ohmydataengineer
Ща мы dbt притащим в проект и все полетит! 😂

@ohmydataengineer
Шо там по зарплатам?

https://medium.com/@mikldd/europe-data-salary-benchmark-2023-b68cea57923d

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

В Германии платят в среднем меньше, например 75% перцентиль в Амстердаме, Лондоне и Дублине платит на 50% больше, чем в Германии. Правда, Амстердам и так большой хаб, Лондон просто жутко дорогой, а Дублин, кажется, сильно перекошен зарплатами Амазона.

Ну а так:

Junior: Медиана $70k и только в бигтехе переваливает за $100k
Mid: Медиана $86k и у 25% больше $100k
Senior: Медиана $113k и у 25% больше $150k

Единственное, не пойму, почему опрос про Европу, но з/п в долларах. Ну и, конечно, это gross.


@ohmydataengineer
ChatGPT прям в IDE

На деле, конечно, было уже пару десятков плагинов, которые встраивали функциональность ChatGPT в IDE, но я решил не пользоваться ими, довольствуясь лишь GitHub Copilot. Очень хорошо ускоряет разработку, особенно если ты понимаешь, что ты делаешь 🤪

Относительно недавно Github аннонсировали Copilot X с функцией подключения и общения с ChatGPT прямо в IDE. Прям в IDE тыкаешь в строчки кода и говоришь “Помоги мне поправить это дерьмо” и тебе рефактор предложат, сверху тестов накатят…

Осталось только ChatGPT для коммандной строки и все будет шикардос… oh, wait! Это уже тоже есть тут!

Короче, залезть в бету продвинутой версии - вот тут https://github.com/features/preview/copilot-x

P.S. Не пихайте никакую чувствительную информацию в чат-гопоту и гигачад. Только обезличенные кусочки кода. И в копайлоте можете поставить галочку что ваш код не должен учавствовать в улучшении модели, если пока внутри компании не решили, что с этим делать. Следуйте здравому смыслу.

@ohmydataengineer
Ох, сколько интересных вещей я через git blame нашел. И еще в эксельке 😂

@ohmydataengineer
Alerts Fatigue в качестве данных

https://www.youtube.com/watch?v=hxvVhmhWRJA&

Неплохое видео с последнего(?) Coalece: про то, что тестируют в данных. Assumption (предположение что мы ожидаем увидеть) или Assertion (что мы зафорсили в коде). Неплохой рассказ про то, как у людей устроено DQ и как они задолбались получать уведомления о плохом качестве данных.

Для себя подсмотрел интересную штуку, которая называется Elementary - OOS Data Observability поверх dbt.

@ohmydataengineer
Еще немного бубнежа про Modern Data Stack

https://www.rudderstack.com/assets/the-data-maturity-guide.pdf

Продолжая разговор про modern data stack, у ребят из Rudderstack (rudderstack.com, cloud data platrofm) на своем сайте рассказывают, насколько этот ваш MDS сложная концептуальная штука, ничего не понятно и очень много всяких иконок, в том числе их самих. Ключевая цитата там звучит вот так:

Let’s be honest. The modern data stack is an ambiguous concept. It’s confusing and impractical. What we need is a real-world roadmap to help us progressively build more mature data functions. So we developed a practical four-stage framework to guide you along your journey to data maturity.

Поэтому за емейл они предлагают свой гайд по тому, как оценивать свои хотелки и что вам действительно нужно в текущей ситуации из DE инструментов. Сам гайд на 80 страниц, если вам предстоит самим строить какое-то хранилище или вы на пороге того, что надо все нафиг переписать - довольно неплохо описаны всякие подходы и концепции. Ссылок на конкретные инструменты не заметил, а вот примеры типичных проблем и pain points описания - мне понравилось.

Вообще, Data Maturity - головная боль последних моих недель, ибо нужно решить вопросики по всяким стратегиям, подходам и инструментам, а это непросто дается.

@ohmydataengineer
Сокращения, что, опять?

https://www.getdbt.com/blog/dbt-labs-update-a-message-from-ceo-tristan-handy/

Я почти и не писал про сокращения, но это произошло в релевантной компании: в этот раз 15% сокращает dbt, задело всех, и инженеров тоже.
Из примечательного, в 2020 году компания была 20 человек, в 2021 - 50, а в 2023 - почти 400.


@ohmydataengineer
Про дальнейшее развитие

https://www.youtube.com/watch?v=wB0ulHmvU7E

Классический вопрос, который мне задавали нескольких последних карьерных консультациях: а что дальше то делать? Куда дальше идти? Куда движется индустрия?
Типичная проблема: IC (расти в техлиды, стаффы, принципалы) или менеджеры (тимлиды, ЕМ и вот это все).

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

Но вот касательно конкретно IC мне очень понравился доклад и статья с Coalesce “Excel at nothing”. Личное ощущение, что в целом, у generalist больше возможностей, влияния и $$$, чем у “специалистов”. В золотые времена компании могли себе позволить нанимать узкоспециализированных профессионалов для “fine-tuning JVM model at deminishig return levels”, а сейчас бОльшая часть компаний смотрит на финансы и на кадры, которые нанимает, поэтому если человек может больше и может это за пределами своего стека технологий (а это еще и софт-скиллы сюда), приоритет будет ему.

По крайней мере, по личному опыту вижу, что именно так и происходит.

(Самое забавное, что я помню как сам задавал этот же вопрос на консультации, правда она была за банкой пива и ребрышками 🤪)

@ohmydataengineer
А ты шо, теперь деврел?

Расходился я тут по подкастам, это второй за последний год и, скорее всего, не последний, но ребята из Подлодки пока реагируют как типичный работодатель: мое отклик, прочитали, но не ответили 🤪

С Евгением из @general_it_talks “Тимлид Очевидность” мы знакомы давно, поэтому когда он предложил пообщаться за интересную тему - с удовольствием пришел. Евгений и Виктор ведут подкаст “Кода кода” и мы говорили про “Плохой Код VS Чистая Архитектура”. Вышло очень хорошо.

Кстати, в эту же тему дров подкинул Кирил Мокенвин (создатель Hexlet.io) - https://habr.com/ru/articles/508876/ - Вероятно, хватит рекомендовать «Чистый код». Да, на Хабре, но большей РФ площадки для IT статей нет.

🎧 Слушайте подкаст «Кода кода» в Яндекс музыке, Apple podcasts, VK и много ещё где по ссылке https://kodakoda.mave.digital/ep-49


@ohmydataengineer