Инжиниринг Данных
21.4K subscribers
1.6K photos
38 videos
177 files
2.91K links
Делюсь новостями из мира аналитики и карьерными советами;)

15 лет в Аналитике и Инжиниринге Данных, 9 лет в FAANG, solo entrepreneur🏄‍♂️

Реклама:
https://almond-rule-130.notion.site/1199f595f76a8030ba1be1e607c9a8ce
Download Telegram
Amazon сказал, что собирается уволить еще 18т человек, это уже совсем печально. На картинке ноутбук, не хватает стикеров модненьких😎 Нет, я не про product managers, хотя… да и не только Амазон бомбит, другие компании продолжают и будут продолжать урезать бюджет за счет семьи гребцов галер и их надзирателей🤖

Вообще получается если раньше фаанги решали, то теперь может и безопасней работать на средненькую компанию у которой дела идут хорошо, с неба звезд не хватать, получать свою копеечку и учиться развиваться пока рынок болтает.
Через 2 недели начинается очередной сезон преподавания в университе University of Victoria про введение в Cloud Computing https://continuingstudies.uvic.ca/data-computing-and-technology/courses/cloud-computing-for-business/

Несмотря на партнерство с Microsoft Azure, он будет больше вендор agnostic и я буду уделять одинаковое внимание AWS и Azure.

Краткое содержание курса есть в модуль 5 datalearn на русском. И есть еще статья на Хабре https://habr.com/ru/post/585064/

Вообще каких-то серьезных преимуществ преподавания в университете я пока не открыл для себя, но стараюсь быть проактивным. Недавно пытался записать детей в более престижную школу не в своем районе, рассказывал им какой я молодец, но мне даже не ответили:)

Кстати про datalearn на английском, я уже склоняюсь, что он будет на китайском, у меня хороший друг в Канаде китаец и мы уже 7 лет знакомы, он очень топит за китайский рынок. А английскую версию предлагает разместить на udemy, у кого-нибудь есть опять размещения контента там?
Если ИТ – это ваш конек, то Тинькофф ждет вас 23 января на катке.

Ледовый ИТ-квест, нетворкинг, дискуссии со спикерами в теплом шатре и многое другое. Вечер точно будет насыщенным и приятным. За коньки не беспокойтесь — их выдадут бесплатно.

Не медлите, регистрируйтесь сами и зовите коллег — будет весело!

#реклама
Нашел хорошее видео, которее сделал в 2013 году в Lamoda, Что такое Business Intelligence на примере Lamoda

https://www.youtube.com/watch?v=xYExt37a9Qg&list=PLmUaI68_u1e1uZfyrxgROLPyhoO2ObIab
Вывез кабанчика в Мексику, правда уже скоро обратно увозить, зато прочитал💪
Как построить комплексную систему для аналитики данных в облаке

Когда: 26 января, 17:00 (мск)

📍 Регистрация

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

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

В программе:

🔹Подходы к построению аналитических решений, технологический стек и архитектурные схемы.

🔹Принципы и подходы к разработке решений для работы с данными в 2022 году: рассмотрим примеры построения систем и инструменты.

🔹Варианты построения комплексных дата-решений в облаке на базе Open-Source-инструментов и проприетарного ПО.

🔹Важные факторы при работе с данными в облаке.

🔹Q&A-сессия со спикерами.

Спикеры:

🔹Александр Белоцерковский, евангелист VK Cloud

🔹Ольга Свитнева, продуктовый менеджер Data Platform, VK Cloud

🔹 Алексей Бестужев, архитектор VK Cloud

Зарегистрироваться

#реклама
После поднятия цен на dbt labs (коммерческая версия dbt), пользователи нашли способ экономить, использую GitHub https://medium.com/@datajuls/why-i-moved-my-dbt-workloads-to-github-and-saved-over-65-000-759b37486001
Пост не про данные, хотя и так понятно, каждый 3й пост про что угодно, но не про данные=) Пока я загорал на пляже в Канкуне, я обнаружил, что в нашем отеле 90%, а то и больше из Аргентины, и в отеле мало кто говорит по английски.

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

До этого отпуска, про Аргентину ничего не знал, знал, что это где-то в Южной Америке, и что они выиграли кубок, мой сын и то больше про них знает, и попроси футболку с Месси в бело-голубую полоску, чтобы слиться с постояльцами нашего отеля)

Оказалась, что Аргентина🇦🇷 очень интересная страна, чем-то по описанию напомнило Черногорию, где нет сильной экономики, из еды только мясо, вино и фрукты, а люди позитивны и наслаждаются жизнью.
На хабре нашел статью - Аргентина — лучшая страна в мире. Почему сюда нужно ехать где расписаны преимущества страны, например визы, вид на жительство и тп. Если есть внешний источник дохода, то имеет смысл там жить и работать удаленно.

Посмотрел цены на Airbnb – 100т рублей месяц в большой квартире или даже домике в центре Буэнос Айэрес, в Ванкувере, это, например будет 360т рублей на Airbnb в лучшем случае.
Почему то, когда я думаю про иммиграцию всегда на слуху Канада, Австралия, Европа или Штаты, а вот Аргентина это какая-то загадка. Захотелось съездить туда на месяц пожить и поработать удаленно, у них зимой как раз лето, может уже следующей зимой.

Мне интересно, есть ли у вас опыт с Аргентиной?
Сегодня наступил тот день, когда Амазон грозился уволить 18т людей, и уволили. Среди них много моих бывших коллег, кто уже давно не инженер, а менеджер или даже старший менеджер. Некоторые инженеры имели патент на свое имя или другие регалии. То есть это уже не просто хорошо/плохо работаешь, а даже если очень хорошо работаешь последние лет 5, в один прекрасный день уволят. Вот как тут не иметь несколько работ, в таких непредсказуемых условиях😳 Но надо, чтобы одна ИТ, а другая не ИТ, junior construction engineer например.

Помимо, Amazon, я заметил, что и Microsoft, включая Xbox тоже увольняли людей, например (The Coalition - Gears of War, Zenimax - Doom, Fallout). Сатя вот что написал: "Today, we are making changes that will result in the reduction of our overall workforce by 10,000 jobs through the end of FY23 Q3. This represents less than 5 percent of our total employee base, with some notifications happening today."

Раньше приходишь в банк и говоришь, что работаешь в Амазон/Майкрософт и сразу к тебе другое отношения, ипотеки, кредиты, а теперь все будут в группе риска😂
Как я писал, я закончил читать Designing Data Intensive Applications by Martin Kleppman. И могу поделиться своим мнением, которое, конечно же, будет отличаться от вашего. Постараюсь ответить на вопрос, когда нужно ее читать, и что же там такого полезного для людей, кто работает с данными и аналитикой.

Почему я ее прочитал? Мне кажется, что только потому-то про нее не говорит только ленивый в нашей отрасли, особенно в русскоязычных сообществах. За 7 лет в Канаде/США ни один коллега не обмолвился про эту книгу. Возможно причина в другом, тут у людей не очень принято делиться опытом или вообще чем либо. У каждого personal space и все такое.

Другая причина, это название, когда мы его видим, нам кажется, что книга про построение аналитического решения для больших данных. И про это есть в книги, но книга не про аналитические решения, а про сами инструменты (продукты и подходы реализаций продуктов). То есть, на примере машины, вам, как пользователю автомобиля будут рассказывать как работает ДВС, коробка, и другие агрегаты. То есть расскажут принцип работы автомобиля. В контексте книги, 80 процентов посвящено распределённым базам данных (реляционным и нет), как они работают, какие + и – у разных реализаций, как они хранят данные, как эти базы данные эффективно находя данные у себя в хранилище, какие типы хранилищ бывают и алгоритмы для записи, хранения и чтения данных.

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

Многие «эксперты» могут не согласиться. Но каждый раз, когда я вижу действительно умного инженера, у меня всегда в голове один вопрос – «Если ты такой умный, то почему такой бедный?». Возможно главный контр аргумент будет, что они живут ради науки, им не нужны людские утехи, дорогие машины, рестораны, и другие атрибуты успешности нашего времени. Но чем тогда измерять успешность? Кол-во кеша в месяц, это хорошая метрика личной успешности для меня. Надо будет подкаст записать про успешность. Мне еще в 2010 году ответили на мою просьбу перевестись в аспирантуру с моего факультета на факультет ИТ, что мне это не нужно, потому что я и так уже «успешный», работая в банке за 50т рублей. Как говорится в Канаде – соррян, за отступление😊Для меня если не двигаться вперед, то это уже движение назад.

Давайте рассмотрим, главы книги.

Chapter 1. Reliable, Scalable, and Maintainable Applications – тут дается краткое описание этих и других характеристик качества распределенной дата системы. Можно прочитать вне зависимости от опыта.

Chapter 2. Data Models and Query Languages – автор рассказывает про основные типы базы данных, моделей данных (relational, documents, graph) и показывает примеры языков запроса.

Chapter 3. Storage and Retrieval – в этой главе рассматриваются способы хранения данных внутри баз данных, из инжиниринга данных мы уже знаем про 2 типа основных систем OLTP и Хранилище данных. Мы узнаем, как эти системы хранят данные, особенно много информации посвящено OLTP (да и вообще во всей книге).


Chapter 4. Encoding and Evolution – в этой главе на примере небольшого JSON, мы посмотрим как разные структуры данных конвертирует это все в байты, и в зависимости от способа и алгоритма, кол-во байт будет разным. Размер файлов имеет значение, потому что в таких системах мы часто двигаем, читаем, изменяем данные. Меньше объем – быстрее операции.

Chapter 5. Replication – интересная глава, которая детально раскрывает нам задачу репликации (зачем?), и способы реализации (как?).

Chapter 6. Partitioning – тоже самое, как в главе 5, но про партиционирование или как его еще называют sharding. То есть данные у нас равномерно (желательно) распределены по нодам. В главе рассказана как и зачем это нужно.
Chapter 7. Transactions – транзакции очень важны в системах OLTP, и часто вообще не используются в аналитических решения, мы, как бы, подразумеваем, что база данных (система источника) даст нам хорошие данные. А как, не наше дело. Вот тут и рассказывается про это как раз. В этой главе очень хорошо рассказали про ACID.

Chapter 8. The Trouble with Distributed Systems – в этой главе, вы узнаете про трудности, с которыми сталкиваются разработчики, когда создают продукты, которыми мы пользуемся для аналитических решений и не только.

Chapter 9. Consistency and Consensus – еще одна глава про основу основ работы баз данных, транзакций и тп. Мне показалась самой скучной. Зато Мартин дал понять в этой главе, что хваленная CAP теорема это 🍩(дырка от пончика). Так что больше не умничаем про CAP теорему!

Последняя часть книги, уже полезна безусловная.

Chapter 10. Batch Processing – все про классические batch процессы, в основном про MapReduce. Очень классно сравнивают MapReduce и Unix системы, MapReduce и MPP хранилища данных, и рассказывают про dataflow engines (Spark). Возможно, самая полезная глава для меня, заберу теорию для модуля 8 про Hadoop.

Chapter 11. Stream Processing – так же интересно и полезно как батч. Мне больше всего понравилось, что рассказывают про несколько основных принципов стриминговых систем, а то все привыкли слышать Kafka, Kinesis и тп, только путаница в вендорах, а тут наоборот, все четко и по делу. Так же надо бы в datalearn главу про стриминг.


Chapter 12. The Future of Data Systems – куча нудной инфы, или я уже подустал читать, но последняя часть про этику работы распределенных систем для аналитических решения прям очень понравилось, всем рекомендую, даже кто не работает с данными или не инженер.

То есть, отвечая на вопрос, нужно ли читать или нет, я могу сказать, что как ни крути – эта книга классика в нашей отрасли, даже несмотря, на большое кол-во сложного и не очень понятного контента, в ней много интересного и полезного. Для аналитики самое важное в главе 10 и 12. Главное, что я могу сказать, если у вас мало опыта или вы еще не начали серьезно работать, не нужно торопиться ее читать, чем позже в карьере вы ее прочитаете, тем больше поймете. Даже если вы никогда ее не прочитаете, то это не так уж страшно и врят ли отразиться на вашей зарплате. Лично я не жалею времени, хоть было не просто, но ощущаю приятное послевкусие от полученных знаний, могу теперь умничать среди коллег😉


PS вы можете найти на хабре статья и обзоры этой книги или же в на утубе в книжном клубе, ребята читали и обсуждали каждую главу. Кидайте ссылки в коменты ну ил делитесь своим мнением.
Open AI заключили эксклюзивное партнерство с Microsoft.

Open AI будет использовать Microsoft Azure для своей инфраструктуры. Основные продукты сейчас это GitHub Copilot, ChatGPT, Dalle2.

Так же Open AI развивает направление supercomputers - Microsoft announces new supercomputer, lays out vision for future AI work.

Ну и конечно Responsible AI, в главе 13 Designing Data Intensive Applications очень здорово написано, почему нужно делать responsible software.

PS Вчера мне снова помог ChatGPT. У меня есть CI/CD pipeline для Amazon Glue (Spark), который запускает в docker Glue Image и выполняет PyTest для каждого unit test. После добавления новой логике в код pytest стал падать в CI/CD pipeline. Вся команда билась целый день, как увеличить память контейнера внутри CI/CD gitlab runner, даже заменили инстанс с 8gb оперативки на 32gb оперативки, но все равно падало. Под вечер отчаявшись, я скопировал ошибку out of memory в chatgpt и товарищ выдал мне, что нужно для Spark добавить "—conf" с параметрами "executer" и "driver" memory. Ах, Семен Семеныч, целый день тыкали докер и gitlab, а оказалось надо добавить пару строк в Spark submit. (5 инженеров и DevOps не смогли додуматься, а AI сразу сказал, что делать).

Ссылки по теме:
1. Develop and test AWS Glue version 3.0 and 4.0 jobs locally using a Docker container
2. GitLab Runner

Вообще мне очень нравится мое решение на Glue, в котором я использую Git tags, terraform. Для каждой среды, у меня свой Glue job, созданный в terraform и использующий нужный python файл с правильным tag. Например,
glue_v1.5.0.py - production
glue_v1.5.1_3894hg.py - dev/stage

где v1.5.0 - git tag release после merge, а v1.5.1_3894hg tag, который еще не merge в моем branch, но имеет "3894hg" commit Id. Таким образом, каждое изменение я могу тестировать отдельно и финальную версию буду релизить через Terraform.

Было бы классно такой проектик для модуля 7.

Еще ссылки:
Git Basics - Tagging
Terraform Resource: aws_glue_job

PS Кстати поздравляю одну из читательниц, которую взяли в компанию, где внедрено такое решение Glue, AWS, Terraform, можешь уже начинать on-boarding;)

Так что, наше сообщество работает хорошо и помогает.

PPS Я использовал ChatGPT в Сиэтле, чтобы оспорить штраф за паркову, написал письмо и отправил им по почте, посмотрим как пойдет)
Автор резюме утверждает, что его резюме понравилось в Microsoft, Google, Amazon. Кто-то решил его детально проработать и выделить основные ключевые моменты:

Розовым - Action Verbs (глаголы действия) - с них начинают каждый bullet point

Желтым - hard skills для вакансии (ваша специализация)

Оранжевый - показатель понимание бизнес и реального опыта в индустрии

Зеленый - измеримый результат, самое ценное

Голубой - impact (но в данном пример, какая-то фигня)

Фиолетовый - ссылки на портфолио

Вот оригинальный пост

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

А вот совсем другой пример резюмешки

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

PS у меня вообще плохое резюме, с ошибками в датах, и ничего работает.
Хотите понять, как проводить A/B-тесты и интерпретировать их результаты? Тогда не пропустите бесплатный вебинар по предиктивной аналитике от MyTracker.

На вебинаре мы поговорим о том, что такое A/B-тесты, как их правильно провести, какими метриками и критериями оценивать результаты и многое другое. Дополнительно мы будем моделировать разные сценарии А/Б-тестов с помощью jupyter notebook и оценивать статистическую значимость результатов.

Вебинар проведёт Александр Смирнов, программист-исследователь команды предиктивной аналитики MyTracker.

https://vk.cc/cl2ezL

#реклама
Если вы только начинаете работать с Microsoft Azure, то вот вам отличная подборка про продукты Azure для аналитики:

Основной продукт это Synapse Analytics, внутри вы найдете все основные сервисы:
- Serverless SQL (аналог Amazon Athena)
- Dedicated SQL Pool (MPP SQL хранилище данных, аналог Redshift)
- Azure Data Explorer (возможно ближайший это ElasticSearch и Splunk)
- Power BI
- Spark Pool (аналог databricks) и замена Azure Databricks
- Synapse ML notebooks (аналог Spark MLlib) и как замена Azure ML
- Azure DevOps (аналог GitHub, Gitlab)
- Azure Data Factory (аналог Airflow, выполняет задачи оркестратора, есть UI или код)

Вот вводные видео:

Synapse Serverless и Synapse Dedicated:
🛵Synapse Espresso: Introduction into Synapse - Serverless SQL Pools
🛵
Synapse Espresso: Introduction to Dedicated SQL Pools
🛵Azure Synapse Serverless vs Dedicated SQL Pool
🛵Azure Synapse Analytics - Source Control with Git Integration

Delta Lake (Lakehouse):
🛵Delta Tables 101: What is a delta table? And how to build one?
🛵Synapse Espresso: Introduction to Delta Tables
🛵What is this delta lake thing?
🛵Explaining what a Lakehouse is!
🛵Get started with SPARK in Azure Synapse Analytics
🛵Talking DATA end to end with Buck Woody

Azure Data Explorer (Kusto):
🛵What is Azure Data Explorer (ADX, aka Kusto) ?
🛵FAST - Billions of rows with Azure Data Explorer (ADX)
🛵How to start with KQL?
🛵KQL - The Next Query Language You Need to Learn | Data Exposed: MVP Edition

Azure Data Factory (ELT)
🛵Introduction to Azure Data Factory

BI слой:
🛵What is Power BI?
🛵An introduction to Azure Analysis Services

ML:
🛵Machine Learning Experiences in Azure Synapse
🛵Machine learning with Apache Spark | Machine 🛵Learning Essentials
🛵Introduction To MLflow-An Open Source Platform for the Machine Learning Lifecycle
🛵Introduction to SynapseML


Задача Microsoft интегрировать все решения в единый интерфейс и возможно скоро мы узнаем про новый продукт🛺
Умеют люди в бухгалтерии настроение поднимать. Ездил в Сиэтл на недельку, как обычно все чеки в кучку и claim expenses. Набралось на 2.5 тысячи. У меня опыт большой работы в корпорации и мне всегда интересно "на авось" чеки подсовывать на разные суммы, так как в 99% работает.

В Амазоне, я покупал каждую неделю по книге O'Reilly, в течение нескольких месяцев и собрал хорошую коллекцию. Когда жил в Бостоне несколько месяцев, в день на еду тратил 250$ вместо 50$, и оказывается Амазон внедрил AI для проверки expenses и ему было вообще все равно. Так что не все AI плохие, есть и хорошие🍍

Но сегодня, я встретил самого внимательного бухгалтера, который написал мне:

Kindly amend the amount on this and deduct all the personal items (lotion). Please resubmit once done.

Причем шампунь и кондиционер оставили как есть. Да и 8 банок шампанского тоже не смутило.

Пришлось просить chat gpt писать ответ:

Dear [Accountant's Name],

I hope this email finds you well. I am writing to address your request regarding the removal of body lotion from the company expenses.

I understand your concerns about keeping company expenses within reasonable limits and I appreciate your efforts to maintain financial responsibility. However, I would like to clarify that body lotion is a necessary item for our employees who may have skin sensitivities or require it for health reasons.

Providing body lotion as part of our employee benefits package helps to demonstrate our commitment to their overall well-being and helps to improve morale and job satisfaction. Additionally, it is a relatively small expense compared to other benefits, and its removal could be perceived negatively by employees.

I appreciate your attention to this matter and I would like to propose that we find ways to reduce expenses in other areas instead of removing this employee benefit.

Thank you for your time and consideration. I look forward to hearing your thoughts on this matter.

Best regards,

[Your Name]

Отправил ответ.
Даниил поблагодарил за datalearn и community да и вообще поделился с вами как чего и почему нужно учить SQL:

В колледже учился по специальности администратор БД. Так случайно получилось) По факту администрированию не учили, но учили писать код на SQL. Был очень хороший преподаватель, с которым до сих пор общаюсь. Да и тема данных мне понравилась, так как она универсальна и очень интересна: может пригодиться как в бизнесе, так и в научной среде. Был еще веселый преподаватель, который говорил что дата саенс это самая лучшая профессия 21 века) Но меня не очень в математику тянуло, больше нравилось что-то инженерное делать.

Увлекался звукорежиссурой, записывал друзей, сводил, мастерил + кастомизировал программу для аудио, рипер называется. Потрясающая вещь. Вот и как-то это совпало, что наткнулся на твой канал примерно в это время. Узнал что есть дата инженеры. Так как инженерная тема мне нравится, данные тоже, то я подумал что это должно быть интересно, к тому же название роли круто звучит. Прикинул, что за год смогу нормально подучиться, устроиться на работу. Так и получилось.
Делал задания в колледже + смотрел твои видосы. Потом мне преподаватель сказал попробовать работу найти. Я создал совершенно дурацкое резюме, отправил его на несколько вакансий. Из банка пришло приглашение пройти собеседование, хотя я туда свое резюме не отправлял. Успешно прошел собеседования. Меня пригласили. В итоге, в конце 3 курса мне удалось найти работу, в 19 лет, без высшего образования) В банке был очень крутой человек, который тоже обучением занимался. Вот так мне повезло. Основная моя роль - поддержка хранилища данных (MS SQL Server), если задач поддержки нет, то занимаюсь доработкой хранилища. Если продолжу свой путь в банке, то скорее всего буду с Greenplum работать. Ещё занимаюсь практикой студентов, так как у меня был негативный опыт в колледже, поэтому пытаюсь хоть каким-то образом сделать практику полезной для других. Работаю уже почти 2 года) Даталерн на самом деле очень ценный ресурс, и я очень тебе благодарен за то что ты его сделал! Уверен, что еще не раз буду смотреть ваши видео. Ну и твой Телеграм канал тоже читаю, помогаешь быть в курсе событий, понимать в каком направлении можно двигаться и развиваться)