Инжиниринг Данных – Telegram
Инжиниринг Данных
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
Хорошая статья, которая рассматривает стоимость современных аналитических решений в облаке, на первый взгляд все стоит дёшево,а по факту может получиться кругленькая сумма. https://blog.dataminded.com/why-rising-cloud-costs-are-the-silent-killers-of-data-platforms-52a98b371f28
🔥4🤬1
Сегодня услышал интересный statement в Microsoft. Тот случай когда и смешно и грустно одновременно. Я пообщался с другой командой про internal transfer, и все вроде бы хорошо, только есть одно маленькое НО. Для senior инженеров сначала должны рассматриваться кандидаты отвечающие требованиям diversity&inclusion, поэтому предложили подождать лучших времен😁

Зато когда общался с обычной SaaS компанией про позицию Data Engineer, меня собеседовало 5 мужиков (инженеры и менеджеры). Про D&I там пока не заморачиваются. И я ответил им на вопрос про Time&Space Complexity алгоритма! Вот это повод собой годиться😂
😁28👍14🤬6🔥3🤔3😢2
Forwarded from Aleksandr Talipov
Всем привет.

Поделюсь своей историей и статистикой откликов по мотивам Алексея.

На datalearn наткнулся в мае прошлого года. За спиной был пройденный обрезанный бесплатный курс от Я.Практикума и отсутствие глобального плана действий. В итоге не очень расторопно прошел 1, 2 и 4 модули. Также прошёл курс от Анатолия. Потом были разные курсы и тренажёры SQL. Постепенно пришло понимание, куда двигаться и на что опираться в дальнейшем.

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

По статистике:
~250 откликов (значительная часть которых так и не были просмотрены)
3 скрининга
5 тестовых
4 собеседования (одно из которых составное)
1 оффер

Сейчас на испытательном сроке.

Откликался разными резюме, на примерно одинаковые вакансии (все по классике). В основном SQL/BI.
Из опыта только курсы/петпроекты.

В общем хотел сказать спасибо @dimoobraznii за курс, ну и за возникновение такого сообщества👍
👍87🔥14👏8🤔1
Вот еще один отзыв:
Так получилось, что когда я начала проходить курс “SQL for beginners” на DataLearn, я уже не была новичком в SQL. До этого у меня был модуль по SQL в курсе от Яндекс.Практикума, плюс на работе была развёрнута база MySQL, к которой я довольно бодро писала SELECT-запросы. Очень хотелось использовать в работе оконные функции и конструкции с WITH (тогда я ещё не знала, что они правильно называются CTE), но текущая версия нашей базы MySQL это не поддерживала, а ради моих аналитических «хотелок», естественно, никто не собирался её поднимать.

Также мне очень хотелось узнать больше про базы данных и, помимо DML-, писать также DDL-запросы. Но на работе на это мне было наложено табу. И я пошла искать курс в Интернете. И как раз мой куратор из Яндекс.Практикума и посоветовал мне “SQL for beginners” на DataLearn на основе большого числа положительных отзывов от студентов.

Я просмотрела этот курс «от корки до корки». Большое спасибо Анатолию за такое полное и систематическое изложение материала по классическому SQL, за большое количество практических заданий, каждое из которых детально рассмотрено и объяснено! Помимо DML и DDL-операций, подробно излагается теория по CTE, оконным функциям, а также преподаватель заглядывает «под капот» СУБД и рассказывает про планы выполнения запросов, физические соединения таблиц и производительность.

И в заключение хотела рассказать про смешной случай. Как я уже упоминала, у меня на работе не поддерживались оконные функции. При прохождении технического интервью на новую работу запросы с использованием оконных функций я писала только на основе знаний, полученных на лекциях Анатолия. И написала ведь! Но когда вышла на новое место, то оказалось, что оконные функции и у них не поддерживаются по причине нехватки ресурсов. Я смеялась )))
Дмитрий, я стала смотреть Ваш курс по DE. Вообще-то в плане были другие курсы и пара книг, но я очень хотела Ваш курс, поэтому повысила ему приоритет.

Я пока смотрю первый модуль. Мне нравится - тем, что даётся целостная картина. Мне как раз этого не хватает. Сейчас у меня осколки знаний, хочется сложить их.


#testimmonial
👍61🔥8😁4
🔥57👍16👏2😁2🤔1
Нас часто спрашивают на собеседование какие у нас есть вопросы. Сегодня я подглядел прикольные вопросы, которые можно спросить, которые имеют глубокий смысл.

1. Объяснить как они пришли к тому, что им нужен еще один человек?
2. Как вы будете оценивать мою работу?
3. Как вы поймете, что я вырос и мне нужно дать больше денег и полномочий?
4. Как они понимают, что у них плохой код и что они с этим делают?
5. Что делать если человек хорошо работал, а потом вдруг стал плохо работать?
6. Как они понимают, что инженерам нравиться их стиль руководства?
7. Как они увольняют? Как решают, что надо уволить?
8. Как ты лично сможешь повлиять на их бизнес и атмосферу, какие рычаги будут, чтобы улучшить среду, в которой окажешься? Какие возможности расти самому и растить компанию?
9. Используете ли вы Agile? Почему именно Agile?
👍103🔥40👏1
Forwarded from Nikolay Golov
Привет :) . Выложили видео с митапа: https://www.youtube.com/watch?v=FnfNnn-EZok :) ... Весьма близко к моей второй лекции про Data Vault/Anchor Modeling, но по английски, в полтора раза больше материала, и в конце есть упоминания нашего нового продукта, youta.app
👍19🔥1
😁4217👏5🤔1
The core problem with working longer hours is that time is a finite resource. Energy is a different story. - цитата из статья HBR Manage Your Energy, Not Your Time

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

А может быть наоборот, после 6-8 часов "прокрастинации" вы как выжитый лимон. Важно понять, что дает вам энергию, что вас заряжает и драйвит. Делать упор на это, а что мешает убирать.

Как только будет четкое понимание, вы сможете заправляться правильной энергией. 🎢
👍304🔥2👏2
Если посмотреть ну путь развития инженера, то традиционно это путь в менеджера. Но если вам нравится "работать руками" (individual contributor). то для вас есть возможность расти в строну Staff/Principal Engineer. Своего рода team lead (устаревшее название позиции). Есть даже книга у O'Reilly - The Staff Engineer's Path.

For years, companies have rewarded their most effective engineers by suggesting they move to a management position. But treating management as the default (or only) path for an engineer with leadership ability doesn't serve the industry well. The staff engineer path allows you to contribute at a high level, with more free time to drive big projects, determine tech strategy, and raise everyone's skills.

With this in-depth book, author Tanya Reilly shows you ways to master strategic thinking, manage difficult projects, and set the standard for technical work. You'll learn how to be a leader without direct authority, how to plan ahead so that you're making the right technical decisions, and how to make everyone around you better, all while still leaving you time to grow as an expert in your domain.

In three parts, you'll explore the three pillars of an engineer's job:

- Big picture thinking: learn how to take a broad, strategic view when thinking about your work
- Project execution: dive into tactics and explore the practicalities of making projects succeed
- Being a positive influence: determine the standards for what "good engineering" means in your organization

PS Где-то в мае у меня был performance review в Microsoft, и там у нас разошлись мнения, мягко говоря. Как результат, моя "энергия" (как в посте выше) достаточно сильно иссякала. Приходилось ходить на собеседования внутри MS и снаружи, в итоге получил приглашение на того самого Staff DE, хотя просил Senior. Это публичная SaaS компания, не самая большая. Стек как я и хотел AWS+dbt+snowflake+airflow.
👏31👍232
Люди пришли к пониманию, что ценник за облачную аналитику все-таки имеет значение. Изначально казалось, что можно не заморачиваться с моделями данных, использовать большие таблицы, в которых было все сразу, и если возникали проблемы, то просто увеличивали размер и кол-во кластеров. Как результат - дорого и не эффективно.

Вот и товарищ говорит, что dba на самом деле все еще существуют и важно решать проблемы производительности.
👍292
Ооо пошли вопросы интересные по дата аналитике))

PS у меня давно идея была написать статью на хабре "Дресс код для ИТишника" но боюсь там у всех бомбить будет😱😅
😁106🔥21👍5🤬3
Новости из мира аналитики:

Несколько статей про Metrics Store:
How Airbnb Achieved Metric Consistency at Scale part 1
How Airbnb Standardized Metric Computation at Scale part 2
Metrics Layer & Metadata | Drew Banin (dbt Labs), Nick Handel (Transform) & Prukalpa Sankar (Atlan)
DBT: The Metrics System

Другие новости:
Measuring downstream impact on social networks by using an attribution framework - вообще Donwstream Impact - это очень мощная штука, мы учимся понимать какое влияние окажет конкретный канал или действие на весь путь клиенты, это уже серьезный анализ. Такой подход очень популярен в Амазон, действительно важная задача для серьезного Аналитика, который анализирует бизнес и принимает важные решения.

Про инструменты оркестарции:
Should You Use Apache Airflow?

Судя по отзывам неплохие и недорогие курсы на русском:
Apache Airflow 2.2: практический курс
Введение в Data Engineering: дата-пайплайны (про Luigi)


Про ML:
A Chat with Andrew on MLOps: From Model-centric to Data-centric AI

Инструменты:
Soda - CLI утилита для проверки данных
DataBathing - библиотека которая трансформирует SQL в Dataframe
SQL Fluff - linting для SQL, популярен для DBT
👍213
Financial times продолжают радовать нас красивой инфографикой
😁64🤔16👍3🎉1
Cheat sheet for data engineering ramp up in 2022.

🟢 SQL/data modeling

Install Postgres. Load dummy data with \copy
Understand ACID
Different consistency levels: Strict, Linearizable, Serializable, Eventual, Casual
Aggs with GROUP BY.
Joins: INNER, LEFT.
Filter records with WHERE. Filter groups with HAVING.
Aggs persisted to summary tables.
ORDER BY foo LIMIT n --> top n by foo.
Organize queries with CTEs and temp tables. Subselect sparingly
Window functions to look at trends within arbitrary partitions.
Unique constraints. Foreign key constraints.
Dimensions vs Fact tables. Star, snowflake schemas.
EXPLAIN <query>. Read the plan.
Add an index. How does the EXPLAIN change?
 
🟢 CompSci concepts you must know

Uniformly distributed hash functions.
Tuples vs Arrays.
Iterator design pattern. 
External Merge sort.
Bit vectors, HashMap. Sets.
Directed graphs.
Serialization 

🟢 Time representation

 ISO 8601 strings
 Prefer native date and timestamp objects.
 UTC.
  
🟢 Fundamentals of distributed data processing
Cap theorem.
Replication.
Horizontal vs Vertical scaling.
Sharding vs clustering.
Share-nothing principle.
Partitioning data at-rest.
Planning for fault tolerance and failure. 
Exponential back off retries.
Latency vs bandwidth.
How to code to iterators without the input fully buffered in memory. 

🟢 Spark

Dataframe and Dataset batch API.
Shuffle challenges. When to repartition().
Runtime partitioning by key.
Tuning: executors num, memory, cores. Num shuffle partitions.
Dataframe ops split up into composable driver functions.
Construct fixture Dataframes for unit tests.
Create temporary views as staging tables.
Data quality checks over staging views. Lots of logging.
Fail driver if checks fail.
Block any downstream dependencies until the checks pass.
Hive metastore for data lake catalog.

🟢 Common structured data formats

TSV, Tar, Zip, XLSX, Avro, Parquet, Protobufs, Delta
Splittable file format? 
Compression: Bz2. Gzip, Snappy, LZO.
Hadoop mergeUtils to help small files problem.

🟢 Cloud providers

Top players for distributed computing: AWS, GCP, Azure
S3/GCS object stores
Managed Airflow = pipelining
EMR/Dataproc = processing
Container registries. EKS/GKE for container execution
IAM access controls. As-needed access. No shared service creds.

🟢 Languages (1 - 10 goal proficiency)

SQL (10)
Python (8)
Java (7)
Scala (4)
Bash (4)

🟢 Metrics/monitoring/alerting

Statsd, Prometheus.
HTTP vs. UDP
Gauge vs increment vs histogram.
Measurement vs tag.
Visualize measurement time series: Grafana, Datadog.
Observe what normal is. Alert on abnormal thresholds.
Alert messaging clarity.
Runbooks for on-call.

🟢 Linux familiarity

tail -f
tmux
ps -ef, kill -9
vim
ssh, scp
cat, less, more, grep, find, echo, xargs, |, >, >>, <
sudo
 .bash_profile, EXPORT, unset,
$PATH

🟢 Containers

Linux cgroups.
Dockerfile. Docker Desktop.
docker-compose
Basic understanding of Kubernetes. Kubectl

Anything I leave out that's important?
👍48🔥18
Командная строка это важный инструмент для инженера и разработчика.

Я общался с некоторыми инженерами, кто использует командную строку (CLI) абсолютно для всего, включая редактирование текста и создания заметок, написание и выполнение SQL запросов, само собой разумеется любого другого кода. Даже вместо Excel они используют CLI и IPython/Pandas чтобы сделать CNTR+C в командную строку и создать Data Frame.

Вот такое вот искусство. Я тоже пытаюсь не отставать и делать больше задач в CLI, чем UI.

Обычно всех пугает VIM, ведь недаром это один из самых популярных вопросов - How do I exit Vim?

Аналог VIM это nano редактор, он проще, но и команд там меньше. Поэтому есть отличный tutorial для Vim - OpenVim.

Еще один важный элемент - внешний вид CLI. По умолчанию это просто черно/белый экран. Поэтому всем рекомендую использовать Oh-My-Shell плагин.

После азов командной строки, можно уже переходить к более интересным вещам, например создание шаблонов Terraform для инфраструктуры и выполнение команд в Makefile.

И потом все эти знанию пригодятся для создания CI/CD pipelines и других DevOps/Инфраструктурных вещей.
👍26🔥73😁3
Отличная картинка, все что нужно знать и понимать, про решения аналитики данных в современной организации
👍42