Size: a a a

Инжиниринг Данных

2022 January 07
Инжиниринг Данных
Интересная статья - The Great Immigrant Resignation: Fed Up Indian Tech Workers Ditch the American Dream, в которой рассказывают про иммигрантов, которые оставляют работу в Амазоне Сиэтле (как пример) и возвращаются обратно в Индию.

Все выглядит действительно так, когда работаешь в Амазоне и еще молодой, когда не болит голова про садики и школы:

They lived in an apartment in downtown Seattle with floor-to-ceiling windows that afforded a precious glimpse of an inlet that flowed out to the Pacific Ocean. On weekends, they went on hikes or gathered with friends on the rooftop deck of their high-rise, playing board games as they ate and drank on the ample terrace that was outfitted with large television screens and fireplaces that came alive at the touch of a button.

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

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

This is the main threat to America now,” said Sarah Cone, founder of Social Impact Capital, which provides seed funding to startups and counts among its limited partners Peter Thiel, Marc Andreessen and Rob Hayes. “We certainly don’t make all the smartest people in the world but for a long time the smartest people ended up in America.” Losing technically competent people, she said, “is terrible for American competitiveness.”

В целом тренд на возвращение иммигрантов подрывает инновации Северной Америки.

Kidding aside, “the loss of foreigners—the loss of Indians in particular—is very damaging,” said Giovanni Peri, professor of economics at the University of California, Davis, who has studied the impact of immigration on economies. “There is overwhelming evidence that more high-skilled immigration corresponds to more innovation.”

Интересно, что доля индийцев очень высока:

H-1B visas allow companies like Amazon to temporarily employ foreign workers in certain areas and can pave the way to sponsoring green cards for immigrants. About 75% of all H-1B visas approved in fiscal year 2020 went to Indians, according to Statista.

Почему же они возвращаются домой? На самом деле в статье уклон идет на стартапы, и многие индийцы возвращаются обратно потому что они так же могут делать стартап у себя на родине:

“Now they are saying, ‘I can have access to the same capital; why don’t I go back home?’”

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

Обычный вариант, pip install библиотеку и погнал не работает. Даже больше скажу, каждый раз когда я так делал я уничтожал вообще всю python среду на ноутбуке, программы переставали запускаться и теряли $PATH.

Вся эта история с pyenv, virtualenv, poetry, setup.py, requariments.txt оказалось для меня архимедовой пятой. Я слишком долго игноривал наличие этих инструментов и предпочитал грузить терабайты данных доступными средствами.

Настало время совсем этим разобраться, благо есть подписка O'Reilly и там можно много найти.  Вот кстати хорошие статьи по теме:
A non-magical introduction to Pip and Virtualenv for Python beginners
The Hitchhiker’s Guide to Packaging

Вообще ситуация забавная, все учат питон или учат других питону. Обычно все одинаково - типы данных, функции, классы. И как-то слабо рассказывают про настройку среды.

Поэтому у меня просьба к экспертам, давайте сделаем вебинар про эту тему, чтобы раз и навсегда закрыть этот вопрос с настройкой среды и использования этих мелких, но важных элементов экосистемы питона. Есть желающие?
источник
Инжиниринг Данных
источник
Инжиниринг Данных
источник
2022 January 09
Инжиниринг Данных
Я не помню шарил презентацию или нет с конференции DevGamm в 2021 про современный стек для гейминга. Видео я так и не дождался от них.
источник
Инжиниринг Данных
Всем привет! В последнее время у меня создается четкое ощущение, что людей пугает аббревиатура ТЗ, что суть этого документа сильно обесценивается. Воспринимается как что-то бюрократическое и излишнее. Но дело в том, что какие бы мы “открытые к изменениям и гибкие” не были - психология нашей памяти, вовлеченности и когнитивных ошибок восприятия не меняется. Более того, из-за постоянного состояния “онлайн”, навыки фокусировки снижаются. Ниже ссылка на статью, сейчас запишу аудиоверсию с небольшими отклонениями от текста.
ПС. Мне больше нравится читать подобные материалы, я стараюсь чтобы форматирование на сайте упрощало восприятие.
http://inoursky.com/helenlovedata/tz-eto-dialog-kotoryj-nuzhno-zapisat
источник
Инжиниринг Данных
Here is top 10 list for successful cloud computing:

10. The seat in front of you is far enough away so you can actually lower the tray and open your laptop

9.  The flight attendant doesn’t spill water on your keyboard

8.  You remembered to charge your laptop before leaving the office

7.  You didn’t forget the new password you set this morning

6.  The inflight WiFi connection actually works

5.  Your credit card has enough headroom to actually pay for inflight WiFi

4.  The person in the seat next to you stops talking long enough for you to do some actual computing

3.  The person in the seat next to you isn’t employed by your biggest competitor

2.  You don’t get motion sick while trying to focus on your spreadsheet during turbulence

1.  You resist the urge to give up and watch a movie instead
источник
Инжиниринг Данных
Начал читать книгу Terraform: Up & Running, 2nd Edition. Задача простая научиться использовать terraform, то есть попробовать перевести всю инфраструктуру в код - хранить шаблоны. Аналоги есть у AWS - Cloud Formation, у Azure - ARM.

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

Кстати, если кому интересен DevOps вот список книг:
🏌️‍♂️Infrastructure as Code: Managing Servers in the Cloud by Kief Morris (O’Reilly)
🏌️‍♂️Site Reliability Engineering: How Google Runs Production Systems by Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy (O’Reilly)
🏌️‍♂️The DevOps Handbook: How To Create World-Class Agility, Reliability, & Security in Technology Organizations by Gene Kim, Jez Humble, Patrick Debois, and John Willis (IT Revolution Press)
🏌️‍♂️Designing Data-Intensive Applications by Martin Kleppmann (O’Reilly)
🏌️‍♂️Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble and David Farley (Addison-Wesley Professional)
🏌️‍♂️Release It! Design and Deploy Production-Ready Software by Michael T. Nygard (The Pragmatic Bookshelf)
🏌️‍♂️Kubernetes In Action by Marko Luksa (Manning)
🏌️‍♂️Leading the Transformation: Applying Agile and DevOps Principles at Scale by Gary Gruver and Tommy Mouser (IT Revolution Press)
🏌️‍♂️Visible Ops Handbook by by Kevin Behr, Gene Kim, and George Spafford (Information Technology Process Institute)
🏌️‍♂️Effective DevOps by Jennifer Davis and Katherine Daniels (O’Reilly)
🏌️‍♂️Lean Enterprise by Jez Humble, Joanne Molesky, Barry O’Reilly (O’Reilly)
🏌️‍♂️Hello, Startup: A Programmer’s Guide to Building Products, Technologies, and Teams by Yevgeniy Brikman (O’Reilly)

Top Blogs:
High Scalability
Code as Craft
dev2ops
AWS blog
Kitchen Soap
Paul Hammant’s blog
Martin Fowler’s blog
Gruntwork blog
Yevgeniy Brikman blog

Самые зачетные выступления
“Reusable, composable, battle-tested Terraform modules” by Yevgeniy Brikman
5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code” by Yevgeniy Brikman
Infrastructure as code: running microservices on AWS using Docker, Terraform, and ECS” by Yevgeniy Brikman
Agility Requires Safety” by Yevgeniy Brikman
Adopting Continuous Delivery” by Jez Humble
Continuously Deploying Culture” by Michael Rembetsy and Patrick McDonnell
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr” by John Allspaw and Paul Hammond
“Why Google Stores Billions of Lines of Code in a Single Repository”” “The Language of the System” by Rich Hickey
Don’t Build a Distributed Monolith” by Ben Christensen
Real Software Engineering” by Glenn Vanderburg


PS  вся непонятная штука пойдет в модуль 12 datalearn=)
источник
Инжиниринг Данных
Для общего понимаю будет полезно поместить вместе элементы DevOps продуктов по категориям:
- сonfiguration management tools
- server templating tools
- orchestration tools
- provisioning tools


Chef, Puppet, Ansible, and SaltStack are all configuration management tools, which means that they are designed to install and manage software on existing servers.

An alternative to configuration management that has been growing in popularity recently are server templating tools such as Docker, Packer, and Vagrant. Instead of launching a bunch of servers and configuring them by running the same code on each one, the idea behind server templating tools is to create an image of a server that captures a fully self-contained “snapshot” of the operating system (OS), the software, the files, and all other relevant details.

Server templating tools are great for creating VMs and containers, but how do you actually manage them? Handling these tasks is the realm of orchestration tools such as Kubernetes, Marathon/Mesos, Amazon Elastic Container Service (Amazon ECS), Docker Swarm, and Nomad. For example, Kubernetes allows you to define how to manage your Docker containers as code. You first deploy a Kubernetes cluster, which is a group of servers that Kubernetes will manage and use to run your Docker containers. Most major cloud providers have native support for deploying managed Kubernetes clusters, such as Amazon Elastic Container Service for Kubernetes (Amazon EKS), Google Kubernetes Engine (GKE), and Azure Kubernetes Service (AKS).

Whereas configuration management, server templating, and orchestration tools define the code that runs on each server, provisioning tools such as Terraform, CloudFormation, and OpenStack Heat are responsible for creating the servers themselves. In fact, you can use provisioning tools to not only create servers, but also databases, caches, load balancers, queues, monitoring, subnet configurations, firewall settings, routing rules, Secure Sockets Layer (SSL) certificates, and almost every other aspect of your infrastructure
all configuration management tools, which means that they are designed to install and manage software on existing servers.

An alternative to configuration management that has been growing in popularity recently are server templating tools such as Docker, Packer, and Vagrant. Instead of launching a bunch of servers and configuring them by running the same code on each one, the idea behind server templating tools is to create an image of a server that captures a fully self-contained “snapshot” of the operating system (OS), the software, the files, and all other relevant details.

Server templating tools are great for creating VMs and containers, but how do you actually manage them? Handling these tasks is the realm of orchestration tools such as Kubernetes, Marathon/Mesos, Amazon Elastic Container Service (Amazon ECS), Docker Swarm, and Nomad. For example, Kubernetes allows you to define how to manage your Docker containers as code. You first deploy a Kubernetes cluster, which is a group of servers that Kubernetes will manage and use to run your Docker containers. Most major cloud providers have native support for deploying managed Kubernetes clusters, such as Amazon Elastic Container Service for Kubernetes (Amazon EKS), Google Kubernetes Engine (GKE), and Azure Kubernetes Service (AKS).

Whereas configuration management, server templating, and orchestration tools define the code that runs on each server, provisioning tools such as Terraform, CloudFormation, and OpenStack Heat are responsible for creating the servers themselves. In fact, you can use provisioning tools to not only create servers, but also databases, caches, load balancers, queues, monitoring, subnet configurations, firewall settings, routing rules, Secure Sockets Layer (SSL) certificates, and almost every other aspect of your infrastructure
источник
Инжиниринг Данных
Кратко и понятно про DAG. Вы наверно слышали про DAG в dbt tool, в Airflow и других workflow management tools. А если не слышали, то тем более не зря будет узнать.
источник
Инжиниринг Данных
Есть у кого опыт с Prefect? Нам бы вебинарчик=)

Вот есть небольшое видео про Prefect Prefect as a Data Engineering Project Workflow Tool, with Mary Clair Thompson (Duke) и про сравнение с Airflow. Все чаще слышу, что Airflow устарел и стал слишком сложный для своих задач.
источник
Инжиниринг Данных
источник
2022 January 10
Инжиниринг Данных
Закаказал себе такой девайс https://www.kickstarter.com/projects/deepernetworkpico/deeper-connect-pico/description

Deeper Connect Pico is the world’s thinnest, lightest, smallest, and yet the most unique and powerful cybersecurity hardware device, which integrates a 7-layer enterprise-grade firewall and the world’s one and only Decentralized VPN (DPN).

Кто-нибудь понимает разницу между VPN и DPN? И как вам идея устройства?
источник
Инжиниринг Данных
The cloud is here: embrace the transition.
How organizations can stop worrying and learn to “think cloud.

Статья от Deloitte про cloud computing.
источник
2022 January 11
Инжиниринг Данных
Spark часто используеют Ganglia Monitoring System. В Databricks она используется по умолчанию. Мой любимый блогер записал видео про Getting Started with Ganglia in Databricks, где рассказал и показал ganglia.
источник
Инжиниринг Данных
Еще один замечательный и главное подробный отзыв. Буквально недавно я думал про то, что при желание можно достичь абсолютно любой цели. Например, мечтаем быть ML инженером, но не знаем coding и математику, нет опыта, но при желании можно овладеть этими навыками и стать ML инженером в FAANG. Так устроен мир, что если мы чего-то очень сильно хотим, и мы к этому стремися (важно consistency), то обязательно получим.

Хочу выразить огромную благодарность команде data-learn! Сегодня произошел мой первый отказ на собеседовании на дата-инженера,
но я все равно полон оптимизма! Считаю сегодня первый день моего зарождения именно как дата-инженера, потому что я хотя бы побывал на двух этапах сс.
На data-learn уникальная информация, собранная в одном месте по многим технологиям. Это как современный лектор и учитель, который тебе говорит что к чему и почему.
Также лидер курса - просто угарный чел и приятно наблюдать за любыми его активностями.

Я начинал как SEO-шник, потом интернет-маркетолог, и даже проджект-менеджером удалось побывать. До сих пор веду Я.Директ/Google Ads для одного небольшого проекта. Долгое время работал маркетинг-аналитиком, использовал много лет BigQuery. Но при этом, совсем не знал правильной культуры работы с данными, потому что в компании не было таких процессов. С нас спрашивали отчеты в PowerBI, анализы и т.д.
Даже не знал что такое партицирование и кластеризация таблиц. Т.к. не было необходимости - платили на BQ немного.
Данные в BQ складывались хаотично, что-то написала какая-то команда разработки, что-то подключили через коннектор, что-то сами заколхозили, что-то тупо вручную через CSV грузили.
Самому автоматизировать на выходных? Нафиг надо, ведь за это не платят!

Ситуация сдвинулась в конце 2020 года, когда ушел оттуда и начал искать работу дата-инженера.
Во-первых хочется автоматизировать, во вторых маркетинговым аналитикам платят мало, в третьих их никто не перевозит на релокейт.
Понял что очень мало знаю, предлагали работу на небольшие деньги в неинтересные места (но я не искал тщательно). С двумя детьми не прожить. Поэтому я нашел работу типа "Analytics Engineer"
в небольшой компании. Платят нормально, т.к. я делаю полностью все один, и компании не нужно нанимать несколько разных специалистов.
Самостоятельно начал программировать ELT выгрузки на python. Настройка dbt, администрирование аналитического сервера, PowerBI, Google Analytics и т.д. - все один.
Параллельно фоном думаю про переезд за границу, больше как мечты. Потому что те, знакомые которые переезжали были совсем не похожи на меня:
часто очень молоды (мне 38 лет), совершенный английский (у меня считай школьная программа и сериальчики с субтитрами. курсы, занятия и тд всегда бесили и не шло),
наконец они все senior software engineers. А я не что не senior, а даже не software engineer.

В ноябре 2021 происходит событие которое меня жутко смотивировало: мой корефан, такой же как я, без английского, девопс, хороший (может и отличный), но даже не тимлид, в общем обычный чел.
получает случайно оффер на Кипр на 7000 евро грязными. Причем он даже не искал ничего, и резюме свое не вылизывал (как я, например) - рекрутер ему сам написал.
Английский не нужен! т.к. вся команда русскоязычная.

И у меня сразу шило в заднице. Давно знал про datalearn, но ничего не делал. Как засел на 2 месяца не вставая из-за компа! Обычно 2-3 дня работы по 14 часов в день (с паузами конечно, тк семья дети и тд),
потом 1-2 дня не вставая дата лерн. Иногда в смешанном режиме: типа 8 часов поработал, потом часа 3 посидел над курсом.
Очень много уложилось в голове. Оказывается я уже использовал решения, но даже не знал что у этого есть свои названия и т.д.
До этого нащупывал все как бы в темноте. А тут открывается единая картина что как и для чего. Считаю себя сейчас еле-еле миддлом, но миддлом, в первую очередь за счет своего бэкграунда до дата лерн.
Когда курс будет доделан и пройти несколько собесов, то будешь еле-еле сеньором. Еле еле - потому что все таки нужна практика в реальных проектах.
источник
Инжиниринг Данных
Также на курсе много ссылок на дополнительные материалы. Сейчас так много информации, не понятно что хорошо, а что плохо. На data learn именно то что нужно.

По программе курса: да все круто! Что бы отметил:
- looker вообще не оценил. потыкал пощупал, хрень какая-то.
- Spark / Databricks еще пока не изучал, жду пока Дима снимет 7 модуль.
- Redshift - Дима его сильно восхваляет, говорит что у них это было первое и т.д.
Но я много работал в BQ, и все штуки про которые говорил Дима появились там раньше. И сам BQ на год старше. И сам по себе проще, удобней, гибче и функциональней.
Redshift мне показался как Postgres на максималках. Единственный плюс - вроде как не платишь за трафик который гоняешь внутри одного региона.
Но за все остальное что-то AWS много денег у меня посписывал. Хз, даже биллинг у BQ намного понятней. Но хз, может вопрос привычки.
- Модуль 6.5 в лабораторной работе я бы еще добавил новый вариант "загрузить данные из лабы 6.3 TPC-H benchmark kit" и выполнить аналогичный запрос в Snowflake.
Лучше усваиваешь как снежинка сжимает данные, сравниваешь скорость работы и особенности SQL-синтаксиса.

Я попробовал первое собеседование на дата инженера в компанию Nabuminds с релокейтом в Эстонию. И о чудо! Они мне ответили!
Мое обычное еле-мидловское резюме их заинтересовало! Дальше я прошел первое интервью с рекрутером-британцев!
Что? Как я это сделал? Не знаю, бэ мэ, ну мы друг друга поняли. Меня позвали на тех. интервью с русскоязычными ребятами.
Тут случился облом, интервью опять на английском. Что-то ответил, что-то нет. Тут уже истина вскрылась, ребятам нужен реальный дата инженер,
а не чел который что-то умеет, а тут подучит в течение полгодика. В общем понятно нам чем работать, и понятно что нужно улучшить чтобы найти работу, и я знаю как это сделать.
Приятно, что на меня, почти новичка обратили внимание.

По финансам Европа все-таки грустновато, так прикидываю, наверно, я могу найти что-то вроде
5000 евро гроссом. Это на руки примерно 3500 евро. И цены на жилье и прочее в 2-3 раза дороже. Понятно дело, на все необходимое хватит.
Но как бы, не знаю, привычно, например, половину зп откладывать. Кароч в Европу чтобы ехать нужно в России перед этим заработать))
Но корефан мой нашел на 7000 евро гроссом. Значит и я наверное смогу через год-два. Так что выходит просто засунуть свои амбиции подальше на 1-2 года?
Но блин сколько можно, скоро 40 лет, а все жизнь не устроена. Ладно.

Ближайшие планы:
- изучить теорические вопросы, которые мне задали на себесе.
- интегрировать на работе Apache Airflow (это будет интеграция ради интеграции, в небольшом проекте все работает и так (дергается cgi-bin shell-скрипт, когда прогеры выгрузят данные из продакш-базы, остальное по cron)).
хотя интуитивно я хочу dragster - кто-то писал что он проще. а я именно хочу попроще, хардкор я в принципе не люблю) но во всех вакухах Apache Airflow. Может еще помониторю вакухи.
- хорошо усвоить докер. Я устанавливал самостоятельно Redash, Metabase и Apache Superset, но это было супер-больно; по итогу мне корефан помог.
- внедрить на работе всякие улучшения, которые увидел на курсе
- ждать новые модули на курсе и смотреть все вебинары
- если будет свободное время получить сертификаты Snowflake, Google Cloud, может и другие
- откликаться на все буржуйские вакансии, где теоретически прохожу по стеку. Чехия? Отлично! Южная Африка? давно хотел на юг! Канада? Люблю снег, и не нужен третий язык!
Собеседования ради собеседований! По английски это будет позор конечно, но ничего, немного унижения потерпеть.
Думаю к лету что-нибудь найду, раз были шансы без подготовки и практики в сегодняшнем сс. Если к лету на найду, куда деваться, пойду в российскую компанию качать хард скилы. А потом по новой за бугор.

Еще есть вариант фриланс-визы, но это не во всех странах есть. Для Чехии, например, нужно показать официальный доход минимум 4350 евро гроссом.
И я так понимаю по такой визе у тебя больше ограничений, чем по рабочей визе? Не изучал подробно. Тут в общем устроит любая высокоплачивамая работа, без релокейта.
источник
Инжиниринг Данных
Спасибо Дмитрию Аношину, Роману Пономареву, Николаю Голову, Денису Соловьеву, Артемию Козырю, Анастасие Дробышевой и остальным ребятам!
источник
2022 January 13
Инжиниринг Данных
Мы уже слышали про Lake House архитектуру и open source решения в этой области:
- delta lake for spark
- apache hudi
- apache iceberg

Не все используют Databricks, поэтому интересно смотреть как другие компании строят ACID friendly data lake.

https://blogs.halodoc.io/lake-house-architecture-halodoc-data-platform-2-0/amp/
источник
2022 January 17
Инжиниринг Данных
Data Engineering Zoомcamp - бесплатный тренинг. Уже есть первая неделя на ютубе
источник