Инжиниринг Данных
23.5K subscribers
1.98K photos
56 videos
192 files
3.2K links
Делюсь новостями из мира аналитики и карьерными советами.

15 лет в Аналитике и Инжиниринге Данных, 10 лет в MAANG

🛠️ dataengineer.ru | 🏄‍♂️ Surfalytics.com

№5017813306

Реклама:
https://almond-rule-130.notion.site/1199f595f76a8030ba1be1e607c9a8ce
Download Telegram
Достаточно большой список англоязычных материалов, которые подходят для инженеров уровня middle+.

Если вы новичок, лучше не тратить на это время, пока что, и разобраться с простыми вещами. А по SQL использовать другие ресурсы.

Алгоритмы это вообще отдельный зверь, который не каждому понадобится. Но всем рекомендую изучить самые основа, чтобы понимать, что такое O(N), time complexity и space complexity.

По структурам данных я никогда не получал вопросов на собеседованиях, но иногда полезно понимать, какие бывают, чтобы лучше выбрать для своей задачи (если у вас есть кодинг в реальной задаче)
👍68🏆6👏1🙏1
Так как я сам когда-то "варился" в консалтинге, делал сайты для своих проектов, то всегда очень интересно смотреть на дизайн сайта схожей сферы. Раньше мне нравился сайт Slalom и Quantum Black. Но я нашел абсолютного фаворита в этой области - Montreal Analytics. Обычный бутик по BI и Data Engineering, но с очень креативным дизайнером.

Если говорить про мой опыт, то сайт это вообще последнее, что влияет на эффективность консалтинга и привлечение клиентов, но если он есть, да еще такой красивый, то почему бы и нет.

А вот история про мой консалтинг. Отчасти сайт еще делает свою работу, часто люди в Канаде пишут, что там работают, и я, как директор даты, подтверждаю их работодателю, когда мне звонят или пишут. Работает безотказно.
🔥18👍61
Давно, я скидывал список книг, которые рекомендуются к прочтению в Амазон для топов. Надеюсь нет корреляции в книгах для топов и ценой акции и массовыми увольнениями в Амазон☺️

Я только читал “Черный лебедь” из этого списка и одна часть мне особенно понравилась:

Жирный Тони — это приятель Ниро, который жутко раздражает Евгению Краснову. Пожалуй, ему больше подошло бы прозвище Нескладный Тони, поскольку он не столько толст, сколько до того непропорционален, что никакая одежда на нем не сидит. Тони носит только вещи, которые специально для него кроятся в Риме и шьются на заказ, но все они смотрятся на нем так, будто он покупал их через интернет, без примерки. У него толстые руки, волосатые пальцы, золотой браслет, и от него вечно пахнет лакричными конфетками, которые он поглощает в промышленных количествах с тех пор, как бросил курить. Он не против наименования Жирный Тони, но предпочитает, разумеется, чтобы его называли просто Тони. Ниро же окрестил его Бруклинцем Тони за его акцент и бруклинский образ мышления, хотя Тони — один из тех процветающих дельцов, что перебрались в Нью-Джерси уже двадцать лет назад.
Тони — преуспевающий не-«ботаник» с веселым характером. У него куча друзей и приятелей. Кажется, что у него вообще нет проблем, кроме лишнего веса и вызванных этим подтруниваний семьи, дальних родственников и друзей, которые то и дело напоминают ему об опасности раннего инфаркта. Все средства тут бессильны: часто Тони отправляется в Аризону, в клинику для похудения, чтобы не есть, и даже теряет несколько фунтов, но снова набирает их уже по пути домой, в самолете, в кресле салона первого класса. Удивительно, что всегдашний строгий самоконтроль и самодисциплина изменяют Тони, когда дело касается обхвата его талии.

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

У Тони есть замечательное обыкновение делать деньги без усилий, забавы ради, без напряжения, без офисной рутины, без совещаний, мешая сделки с частной жизнью. Девиз Тони: «Найти лоха». Ясно, что таковыми часто оказываются банки: «клеркам ни до чего нет дела». Найти лоха Тони умеет играючи: у него на них особый нюх. Пройдите с ним пару кварталов, болтая обо всем и ни о чем, и почувствуете, что узнали много нового о том, как устроен мир.

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

А вот пример абсолютного антибруклинца, я назову его Доктор Джон. Он бывший инженер, а ныне работает статистиком в страховой компании. Это худой, жилистый человек, он ходит в очках и носит темный костюм. Живет он в Нью-Джерси, недалеко от Жирного Тони, но они, разумеется, почти никогда не встречаются. Тони не ездит на электричке (он водит «кадиллак», а иногда итальянский кабриолет жены — при этом шутит, что за ним не сразу разглядишь машину) и вообще не ездит на работу к определенному времени. Доктор Джон живет по графику, он предсказуем, как часы. По пути на Манхэттен он вдумчиво читает в вагоне газету, затем аккуратно складывает ее, чтобы продолжить чтение в обеденный перерыв. Если Тони обогащает владельцев ресторанов (не удивительно, что те встречают его лучезарной улыбкой и шумными
👍10🤮1🍾1
объятиями), то Джон каждое утро педантично заворачивает свой сэндвич и упаковывает фруктовый салат в пластиковый контейнер. На нем тоже плохо сидит костюм, только Джон действительно заказал его по интернету.

Доктор Джон — ответственный, рассудительный и мягкий человек. Он серьезно относится к своей работе, настолько серьезно, что в отличие от Тони строго разграничивает рабочее время и частную жизнь. У него докторская степень по электротехнике и электронике, полученная в Техасском университете в Остине. Так как он разбирается в компьютерах и знает статистику, его пригласили на работу в страховую компанию, где он занимается компьютерным моделированием, пользуясь в основном программами для «управления рисками», и эта работа ему очень нравится.
Представьте, что я встретил Джона и Тони в баре. Понятно, что Джон и Тони вряд ли дышат одним и тем же воздухом, не говоря уж о том, чтобы зайти в один бар. Поэтому считайте все нижеописанное чистым мысленным экспериментом. Я задам каждому из них вопрос и сравню их ответы.
Н.Н.Т.: Предположим, у нас имеется абсолютно «честная» (идеальной формы) монета, то есть вероятность выпадения орла или решки для нее одинакова. Я подбросил ее девяносто девять раз подряд, и каждый раз у меня выпадал орел. Какова вероятность того, что на сотый раз выпадет решка?
Доктор Джон: Тривиальный вопрос. Разумеется, пятьдесят процентов, если мы исходим из абсолютного равенства шансов и независимости отдельно взятого броска от всех прочих.
Н.Н.Т.: А ты что скажешь, Тони?
Жирный Тони: А я скажу, что не больше одного процента.
Н.Н.Т.: Но почему? Я же сказал, что монета абсолютно «честная», то есть распределение шансов — пятьдесят на пятьдесят.
Жирный Тони: Ты, блин, или пургу гонишь, или сам лох, если купился на эти «пятьдесят пра-ацентов». Монета утя порченая. Честной игрой тут и не пахнет. (Перевод: я скорее усомнюсь в идеальной форме монеты, чем поверю в то, что «честная» монета, подброшенная девяносто девять раз, ни разу не упала вверх решкой.)
Н.Н.Т.: А вот Доктор Джон говорит, пятьдесят процентов.
Жирный Тони (мне на ухо): Насмотрелся я еще в банке на этих ботанов. Медленно са-абражают, вот что. Слишком уж запрограммованные. Их обуть — как нечего делать.
А теперь вопрос: кого из этих двоих вы бы выбрали мэром Нью-Йорка (или города Улан-Батора в Монголии)? Доктор Джон всегда мыслит по схеме, причем уже заданной схеме; Жирный Тони почти всегда — не по схеме, то есть творчески.
Определимся с терминами: те, кого я называю «ботаниками», — это вовсе не обязательно неряшливые, нелепые очкарики, у которых на поясе постоянно болтается КПК, как у копа — его пушка. «Ботаник» — это любой человек, чье мышление донельзя стиснуто рамками.
👍11
Вы никогда не задумывались, почему так много круглых отличников ничего не добиваются в жизни, а те, кто в школе плелся в хвосте, гребут денежки, скупают бриллианты и ни в чем не знают отказа? А некоторые даже получают Нобелевскую премию в какой-нибудь прикладной области (например, в медицине). Конечно, здесь не обходится без удачи, но отчасти дело в выхолощенности и отвлеченности школьных знаний, которые мешают отличникам понимать, что происходит в реальной жизни. В тесте на коэффициент интеллекта (IQ) и в любых других академических играх (включая спортивное соревнование) Доктор Джон оставит далеко позади Жирного Тони. Но в любой «природной», житейской ситуации Жирный Тони обскачет Джона. Суть в том, что Тони, несмотря на его неотесанность, обладает двумя качествами: искренним интересом к тому, как устроена жизнь, и своеобразной эрудицией; на мой взгляд, он в большей степени человек науки (в истинном, а не общепринятом смысле этого слова), чем Доктор Джон.
Нам нужно глубоко, очень глубоко вникнуть в различие между ответами Тони и Джона: они отражают принципиальнейшее, на мой взгляд, расхождение между двумя разновидностями знания, которые мы назовем «платоническим» и «неплатоническим». Если коротко: люди, подобные Доктору Джону, могут спровоцировать появление Черного лебедя за пределами Среднестана, потому что их разум «закупорен». Это глобальная проблема, и одно из неприятнейших ее проявлений (я называю его игровой ошибкой) заключается в том, что неопределенность в реальной жизни имеет мало общего со стерильной неопределенностью, которую мы привыкли встречать в играх и на экзаменах.
👍25🤔7
Амазон наверно был последним кто уволил множество SDE. По linkedin я заметил, что увольняют обычно простых инженеров, менеджеров меньше трогают. Интересно почему так происходит?

Классная статья - Why Everything in Tech Seems to Be Collapsing at OnceThe industry is having a midlife crisis.
👍4
Сейчас делаю презентация для 5го класса по программированию, правду пишу туда про азбуку морза, расшарю потом презенташку.

А вчера пол дня делал workshop по AWS Glue (Spark). Делюсь презентацией, это будет потом урок в 7м модуле, когда буду показывать AWS Glue и Synapse Spark Pool.

Внутри презентации:
- обзор Apache Spark
- примеры внедрения
- задачи для AWS Glue

В workshop я сделал:
- создание notebook in Glue Studio
- создание notebook in AWS Glue Jupyter Notebook with PySpark
- создал локальный инстанс jupyter notebook и подключил его к AWS Glue Interactive Session (можно локально выполнять код и подключатся к Athena, Spectrum)
- показал пример AWS CLI для Glue (создание джобы, выполнения и отслеживание статуса)
- CI/CD процесс через Docker c AWS Glue и PyTest (была теория)
- Использование Terraform для создания AWS Glue job, и несколько сред разработки dev,stage,prod + релиз кода через git tag (каждая среда может иметь свой джоб с нужной версией Pyspark кода)

Обязательно потом запишу видео и добавлю код в репо, пока так.

А как вы используете Glue?
👍50🔥932👎1🌚1
А вот детская презентаций. Еще получилось договорится с Microsoft и свозить класс в лаборатории Microsoft Garage (в его Ванкуверское отделение). Во многих канадских библиотеках есть 3Д принтера, и я хочу туда тоже сходить с классом, чтобы ученики могли на компе нарисовать модель и там распечатать и узнать про 3д принтер и моделирование.

Кстати начиная с 5 класса все ученики обычной школы носят каждый день свой компьютер. Мой сын носит Mac Air 2011 года, который еще работает и был привезен Всеволодом из Америки, который сейчас возглавляет яндекс дата платформу, за что ему спасибо😃

А с января начинается новый курс по Cloud Computing в University of Victoria. Получается, что у меня хобби главное это кого-то учить, может быть когда-нибудь это станет основным моим занятием.

Есть еще крутые детские ресурсы по кодингу и технологиям?
👍433
Расскажу про один кейс на картинке. Условно назовем его Embedded BI.

Задача простая, у нас есть хранилище данных, которые наполняется данными об использовании нашего продукта. Теперь, мы хотим для наших клиентов показывать метрики внутри их личного кабинета. Не можем же мы, для каждого клиента купить лицензию Tableau/Looker. Точнее можем, и вам с удовольствием продадут))

В нашем случае, мы лучше найдем open source продукт, который позволит настроить графики и аналитику и легко интегрируется в web framework. И это headless BI (тоже новый термин для меня) - Cube.js. Штука крутая и можно создавать очень красивые графики. Вообще можно использовать как инструмент красивых управленческих дашбордов.

Следующий этап это каким образом данные подгружать в дашборды. Можно в лоб, подключиться к Snowflake напрямую и потом офигеть от цены. Поэтому лучше выгружать данные из снежинки в S3. Как? Берем dbt, создаем новую модель (таблицу) в которой будут все данные и метрики (условно датамарт) и дальше создаем dbt macro, который будет выгружать данные, в случае снежинки использовать команду COPY (я узнал что у этой команды много ограничений в снежинке при использовании PARTITION BY, прям даже неожиданно), но тем неменее работает. Потом эти данные мы загружаем в RDS Postgres и подключаем BI.

Остается только мониторить, чтобы ничего не упало и не сломалось. Цена снежинки на COPY (Unload) копеешная, RDS тоже не дорого. Это для Enterprise клиентов.

Следующий этап будет рассылка письма дашборда тысячям клиентов, кто не Enterprise еще, используя cube.js для отрисовки дашборда в формате красивого письма. Очень классный кейс, прям Customer Obsession, как говаривали в Амазоне.
🔥34👍12🌭1
Всем привет! Несколько новостей! 🦆

1️⃣ Роман @rspon завел чат по datalearn https://t.me/datalearn_chat (присоединяйтесь, инфа там в закрепе) в замен слака, так как:
1) слак все равно удаляет всю историю
2) часто нужен VPN
В целом Slack хороший, так как это небольшая строчка в резюме, мелкая, но полезная. Так что опционально вы можете попробовать туда пробиться через чатик, но для учебы главное это гит учебник.

В чате можно домашку кидать

2️⃣ Я заметил, что уже много людей из нашего сообщества обитают в Ванкувере, а значит можно сделать митап. Я долго думал как это сделать бесплатно и хорошо, и придумал. Я же лид по Табло группе местной, и офис SalesForce в Ванкувере в моем распоряжении для митапа по табло, даже еще 250 баксов на пицце дадут. Поэтому, давайте замутим встречу на митапе табло в Ванкувере в декабре. С меня пицца, с вам пиво, сидр, вино или чего там еще есть:) Только надо бы спикера найти, я могу быть спикером по какой-нибудь теме, но нужен второй доброволец, кто выступит в Ванкувере с докладом. Пишите в комментах, если хотите затусить так и вы можете приехать в Ванкувер.

Update: Сделали группу для "своих" в Ванкувере, пишите @sergeykham он вас добавит. Цель нетворкинг, митапы, и в будущем может сходим в поход, хайк, пляжный воллейбол или еще чего.

3️⃣ Вы так же можете провести подобные сходки на Кипре, например, там Рома уже с кем-то делал.у
👍36🔥20🥰21🍾1
А вы еще ждете?🦧
😢29😁16🌚4
Несколько графиков "пирожков" рассказывают нам об опасности визы H1B. FAANG компании имеют самую большую квоту на рабочие визы и соответственно при увольнении людей, специалисты на рабочей визе находятся в группе риска.

При массовых сокращения компании нам не сообщают о проценте уволенных с H1B.

Для меня всегда был важный вопрос иммиграции. В лоб обычно существуют 2 варианта:
1) Быстро и не предсказуемо - рабочая виза, которая вас ограничивает и может ничего не гарантировать
2) Долго - классическая иммиграция как в Канаде и Австралии. Вы получаете вид на жительство, бенефиты и уже на месте думаете, что делать.

Кроме этих 2 вариантов существует еще много разных вариантов, например по учебной визе, виза О1 в штаты (для "гениев"), по тур визе или вообще нелегалом на стройку. Но все эти варианты имеют риски, зато быстро.

Какие пути миграция вы бы предпочли или уже использовали?
👍21👎8🥴2
Еще одна статья и визуализация - на это раз тема касается Performance Review. Я думаю каждый через это проходил.

10,000 Google Employees Could Be Rated as Low Performers, то есть bigdata посчитает кому уйти, а кому нет. Обычно performance review очень сильно зависит от отзывов ваших коллег и менеджеров, и менеджеров вашего менеджера, если вы знаете как их сделать "счастливыми", то врят ли вы попадете в low performers, а если вы любите показывать характер, спорить, то тут уже как повезет☺️ Опять же как и все ранее в канале, это моя точка зрения, у вас может быть другая, поэтому welcome в комменты.

Я тут понял в чем самая большая проблема всех этих увольнений - это то, что у людей зарплата больше чем 2 средние по рынку. То есть вам платят 400к зеленых в год и выгоняют. А вы такой крутой спец, как же вы будете работать за 120к зеленых в год?! Придется снижать планку. Сейчас отличная возможность какой-нибудь страховой набрать себе ребят из Амазона и Мета и платить им обычную зп, раньше они о таком и мечтать не могли.

Мне лично за 12 лет работы ни разу это дело (performance review) не помогло. Рецепт всегда был одинаковый - "хочешь больше денег, выше должность" - меняй работу. Для меня performance review - там самая морковка перед носом осла, которую вам еще потом куда-нибудь могут засунуть😱 Я записал подкаст на тему карьерного роста и отношения с работодателем. Но это я, возможно это не самый лучший пример. Я просто для себя расставил приоритеты и снял розовые очки.

А как у вас проходит performance review? Как влияют результаты на вас и вашу работу? Есть что добавить?
👍38😁31🔥1🥴1🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
Конец года близок, успели все запланированное?
🥴407🌚7😢4💩4
Расскажу еще про один кейс.

Задача: Создать аналитическое решение, точнее модернизировать существующее с использованием Azure облака. Основной источник данных телеметрия (логи JSON), которые скапливаются в Azure Storage Account в формате year/month/day/hour.

Было: Был HDInsights + Hive (традиционный hadoop), это полный аналог AWS EMR + Hive, только в Azure. Hive читал JSON, преобразовывал его в плоскую таблицу и сохранял данные в формате Parquet. Все трансформации выполнялись с помощью Hive SQL. Это был так называемый Staging.

Далее, на On-premise SQL Server создавались External Tables, что давало возможность использовать on-premise SSIS (ETL инструмент Microsoft) и грузить инкрементально данные в таблицы фактов. А потом, использую Power BI Service, подключались из облако в собственный дана центр через Gateway Service. Ну такое для 2021 года.

Так же сам HDinsights плохо справлялся с пиковой нагрузкой, так как там был единственный compute cluster, который обслуживал все запросы.

Решение: Все консолидировать в облаке в едином инструменте. Было 2 опции Azure Databricks и Synapse. Несмотря на то, что Microsoft заставил всех перейти на Synapse, нам удалось получить разрешение использовать Databricks вместе с Minecraft и Zenimax (Fallout, Skyrim, Quake).

При использовании Databricks не нужно изобретать велосипед, не нужны всякие примочки типа dbt, fivetran, можно все делать внутри самой платформы с помощью кода. Сам databricks - это прежде всего processing/computing данных. Данные хранятся в Azure Storage в формате Delta (Parquet + delta log).

Вся разработка происходит в notebooks, можно писать на PySpark, Scala, R и тп. Достаточно много времени заняло переписание кода из SQL на PySpark, но при желании можно было оставить все как есть и использовать HiveSQL.

Одно из преимуществ это создание нескольких кластеров - для BI, ETL, Data Science, каждый кластер со своими настройками. ETL кластер может автомасштабироваться. Так же, за счет дополнительных мощностей ETL запускался каждый час, а было раз в сутки.

Другое преимущество, что в databricks практически отсутствует vendor lock. Данные хранятся отдельно, metastore живет в отдельной базе (в моем случае было Azure SQL Server). В качестве orchestration tool использовался Azure Data Factory (ADF pipelines создавалась с помощью C# в Visual Studio). Таким образом, можно очень легко поменять Databricks на другой Spark продукт.

Доступ к данным осуществлялся через SQL Analytics (Redash, который был куплен Databricks) и Spark JDBC драйвер для Power BI. Так же аналитики использовали PySpark шаблоны-ноутбуки для анализа и deep dive.

Весь код хранился в Azure DevOps Repo (git система), там же были создан CI/CD процесс на Azure DevOps Pipelines.

Инфраструктура создавалась с помощью Azure Bicep (аналог Terraform).

Data Observability в части Alerts был использован Azure Log Analytics, который умеет собирать данные для каждого сервиса и можно настраивать алерты при ошибках. По умолчанию придет письмо о сбоях.

Следующим сообщением я добавил слайд архитектуры. У меня есть весь код Databricks и Sample данные. То есть в модуле 9, про озеро данных, я расскажу как делать delta lake и data lake и будем использовать этот кейс. Но это будет не скоро, как я понимаю.

PS Если вы хотите рассказать о своих проектах также, пишите в личку, пришлите картинку архитектуры и описание, и я опубликую.

PPS
Я работал 2 года с Databricks и сейчас работаю с Snowflake. Оба продукта мне нравятся, но мне кажется философия databricks более честная и прозрачная, но порог вхождения выше, так как SQL там есть, но больше как complimentary.

Примерно напоминает Looker vs Tableau. Оба продукта интересны, но достаточно разные. Я скоро буду делать Workshop по теме Looker vs Tableau для одной из команд и потом расшарю слайды.
👍58🔥7🐳3
🔥8👍3
Допустим вы уже более-менее опытный и у вас есть работы с данными, и самое время углубляться дальше.

Я составил список книг, который помогут вам перейти на следующий уровень. Практически все книги у меня в ToDo листе.

Теория:
- Designing Data-Intensive Applications - классика жанра
- The Missing README - небольшой набор полезных советов от бывалых
- Database Internals - ну а как же без баз данных
- Fundamentals of Software Architecture - не самое приятное чтение,
- The Staff Engineer's Path - если вам интересно развиваться в этом направлении

Менеджемент:
- The Manager's Path
- The First 90 Days, Updated and Expanded

Практика (эти книги не достаточно прочитать, с этим надо работать каждый день, чтобы была весомая польза):
- Docker: Up & Running, 2nd Edition - контейнеры везде, возможно стоит еще и в Kubernetes разобраться
- How Linux Works, 3rd Edition - чтобы меньше тупить в командной строке и вообще понимать как устроена операционная система
- Terraform: Up and Running, 3rd Edition - инфраструктура как код это уже обязательный атрибут любой компании
- Snowflake: The Definitive Guide - достаточно популярный DWH, поэтому знать его полезно
- Kafka: The Definitive Guide, 2nd Edition - классика стриминговых решений, сложно без реальных кейсов
- Learning Spark, 2nd Edition - узнать все необходимое про Spark и попробовать на практике

Программирование:
- Clean Code: A Handbook of Agile Software Craftsmanship - классика жанра
- The Pragmatic Programmer: your journey to mastery - классика жанра
- Python Crash Course, 2nd Edition - 2-ая часть книги, где вы будете делать несколько реальных проектов (я сейчас игру делаю)
- Grokking Algorithms - чтобы понимать, что такое O(n), O(1), time & space complexity

Ну или можно просто прочитать одну книгу - I Will Teach You to Be Rich, Second Edition: No Guilt. No Excuses. слушая эту песню get rich or die tryin 😂

Докиньте рекомендаций
🔥85👍23🐳4🤮32🥴2🌭2🌚1
Приятная визуализация от Financial Times, если это действительно так. Напоминает фразу "Как сделать человеку хорошо - сделать плохо а потом как было". Как было уже не будет, но хоть так🫣
👻7🌚4🌭3🍌2👨‍💻1