🔋 Труба данных – Telegram
🔋 Труба данных
3.99K subscribers
330 photos
5 videos
9 files
449 links
Авторский канал обо всем, что происходит в мире работы с данными: хранение, обработка, визуализация, как мы принимаем решения и как мы становимся профессионалами в работе с данными.

Автора канала - @SimonOsipov
Download Telegram
https://www.intercom.com/blog/traits-of-exceptional-engineers/

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

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

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

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

@ohmydataengineer
🔥18👍91
https://architecturenotes.co/

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

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

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

@ohmydataengineer
🔥8💩1
https://www.youtube.com/watch?v=x1RVNGDSdw4

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


@ohmydataengineer
7👍6🔥2💩1
Вот это я и моя команда 😂

@ohmydataengineer
🔥18👍4💩2
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
👍81
Рефакторинг по возможности

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

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

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

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


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

@ohmydataengineer
👍18🔥3
Что там с 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
👍3
Про базовые концепции тестирования в данных

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

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

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

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

@ohmydataengineer
🔥16👍1
Шо там по зарплатам?

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
👍13
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
🔥17👍21
Ох, сколько интересных вещей я через git blame нашел. И еще в эксельке 😂

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

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

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

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

@ohmydataengineer
👍4🔥1
Еще немного бубнежа про 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
👍13
Сокращения, что, опять?

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

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


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

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

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

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

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

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

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

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

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

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

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

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


@ohmydataengineer
👍11💩4
Передаю привет Viz команде, которую очень люблю 😂

@ohmydataengineer
🔥26👍32
https://github.com/modularml/mojo

Говорят, тут у Rust и Python случился ребенок в виде нового, хайпового языка программирования под названием Mojo. То есть там концепции и скорость Rust, а еще можно спокойно притаскивать модули Python:

You can import and write normal Python modules/packages and code.
It looks and feels like Python.
Mojo wants to bring “systems programming” to Python.
Mojo adds `let` and `var` function declarations to give immutability, or not.
Mojo adds those famous `structs`.
The ability to have static typing/checks at compile is available.
Addition of `fn`s instead of `def`s for more immutable, static, and generally stricter methods.
Mojo brings the concepts of borrowing and ownership to immutable `fn`s, in a Rustacian sort of twist into Python.


Мгновенно ютуб начал подсовывать видосы про то, что это будущее DE, сразу вспомнил Хрыча, который всех хотел на Rust пересадить. Но посмотрев на документацию и на примеры - не, не судьба. Все очень жиденько, все так себе, а проблемы, которые пытается решить язык - в Python решаются сторонними модулями и культурой программирования.
Ну а про “Python” медленный уже столько копий сломано….

Короче, не стоит тратить свое время, обычный hype train

@ohmydataengineer
👍74