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 часов "прокрастинации" вы как выжитый лимон. Важно понять, что дает вам энергию, что вас заряжает и драйвит. Делать упор на это, а что мешает убирать.
Как только будет четкое понимание, вы сможете заправляться правильной энергией. 🎢
Совершенна другой угол обзора на насущную проблему - мы работаем много часов и устаем. Мы считаем часы. Но редко задумываемся про энергию. Возможно у вас есть моменты в истории, когда вы делали интересную работу 12 часов, а потом еще пошли вечером в барчик и утром с удовольствием брались за работу полны сил.
А может быть наоборот, после 6-8 часов "прокрастинации" вы как выжитый лимон. Важно понять, что дает вам энергию, что вас заряжает и драйвит. Делать упор на это, а что мешает убирать.
Как только будет четкое понимание, вы сможете заправляться правильной энергией. 🎢
Harvard Business Review
Manage Your Energy, Not Your Time
As the demands of the workplace keep rising, many people respond by putting in ever longer hours, which inevitably leads to burnout that costs both the organization and the employee. Meanwhile, people take for granted what fuels their capacity to work—their…
👍30❤4🔥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.
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.
O’Reilly Online Learning
The Staff Engineer's Path
For years, companies have rewarded their most effective engineers with management positions. But treating management as the default path for an engineer with leadership ability... - Selection from The Staff Engineer's Path [Book]
👏31👍23❤2
Люди пришли к пониманию, что ценник за облачную аналитику все-таки имеет значение. Изначально казалось, что можно не заморачиваться с моделями данных, использовать большие таблицы, в которых было все сразу, и если возникали проблемы, то просто увеличивали размер и кол-во кластеров. Как результат - дорого и не эффективно.
Вот и товарищ говорит, что dba на самом деле все еще существуют и важно решать проблемы производительности.
Вот и товарищ говорит, что dba на самом деле все еще существуют и важно решать проблемы производительности.
👍29❤2
Новости из мира аналитики:
Несколько статей про 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
Несколько статей про 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
👍21❤3
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?
🟢 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/Инфраструктурных вещей.
Я общался с некоторыми инженерами, кто использует командную строку (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/Инфраструктурных вещей.
Stack Overflow
How do I exit Vim?
I am stuck and cannot escape. It says:
type :quit<Enter> to quit VIM
But when I type that it simply appears in the object body.
type :quit<Enter> to quit VIM
But when I type that it simply appears in the object body.
👍26🔥7❤3😁3
Отличная картинка, все что нужно знать и понимать, про решения аналитики данных в современной организации
👍42
Материалы по Spark
Установка Spark
Java Download
Spark Download
Основы Spark
Spark Starter Kit
Apache Spark Fundamentals
Spark Full Course | Spark Tutorial For Beginners
Scala and Spark 2 - Getting Started
Spark and Python for Big Data with PySpark
Best PySpark Tutorial for Beginners
Примеры проектов на Spark
Real-Time Spark Project
Spark Kafka Cassandra
PySpark Realtime Use Case Explained
End to End Project using Spark/Hadoop
Spark End to End Project : Sentiment analysis Twitter : Kafka and Spark Structured Streaming
В коменты присылайте свои материалы и книги
Установка Spark
Java Download
Spark Download
Основы Spark
Spark Starter Kit
Apache Spark Fundamentals
Spark Full Course | Spark Tutorial For Beginners
Scala and Spark 2 - Getting Started
Spark and Python for Big Data with PySpark
Best PySpark Tutorial for Beginners
Примеры проектов на Spark
Real-Time Spark Project
Spark Kafka Cassandra
PySpark Realtime Use Case Explained
End to End Project using Spark/Hadoop
Spark End to End Project : Sentiment analysis Twitter : Kafka and Spark Structured Streaming
В коменты присылайте свои материалы и книги
👍42🔥10🤩5👏1🐳1
Очень хороший пост про повышение в Амазон. Оплачивают за результат, а повышают за ваше отношение к работе. То есть, допустим вы много работаете и закрываете задачи и проекты, за это вам платят и дают бонус условный, а чтобы перейти на следующий уровень вам необходимо уже фокусироваться на behaviour, взаимоотношениях с коллегами, engineering best practices. Часто человек может делать одно, но неочень делать второе (как я например), но стараюсь исправиться в будущем😇
👍50
Один в один мое первое рабочее место в Канаде в Виннипеге. Environment была там совсем не fast-paced. Но я этого не знал. После черногорского FinTech я бегал как ужаленный по этажам, полон идей и желанием все улучшить.
В один прекрасный зимний день, меня вызвал начальник и отправил домой, так как я был в пиджаке с темными джинсами, а в джинсах нельзя. Получилось, как в том анекдоте - "и плачу и смеюсь". В -40 пришлось на 2х автобусах сгонять домой переодеть штаны и обновить резюме.
Как говориться, "нет худа без добра". В итоге устроился в Амазон и переехал в British Columbia, где вообще нет зимы.
В один прекрасный зимний день, меня вызвал начальник и отправил домой, так как я был в пиджаке с темными джинсами, а в джинсах нельзя. Получилось, как в том анекдоте - "и плачу и смеюсь". В -40 пришлось на 2х автобусах сгонять домой переодеть штаны и обновить резюме.
Как говориться, "нет худа без добра". В итоге устроился в Амазон и переехал в British Columbia, где вообще нет зимы.
👍61😁11🔥3
Если вы работаете с AWS, то обычно все данные хранятся в S3 (cloud storage). Часто для локальной разработки или процесса CI/CD нам нужно проверять наш код, например Spark Jobs Unit Tests. Возможно без доступа к облаку, так как для доступа вам нужно использовать credentials.
Попалось очень хорошее решение для такой задачи - How to mock AWS services in local development?
То есть запускается сервис, который имитирует
Попалось очень хорошее решение для такой задачи - How to mock AWS services in local development?
То есть запускается сервис, который имитирует
s3://Medium
How to mock AWS services in local development?
AWS provides many products that are very much an integral part in our application development. It provides many products like analytics…
👍22
Кто-то собрал список data influencers в Linkedin https://docs.google.com/spreadsheets/d/1OALYhi-7wlGxX4MYr_GACunVqhqDejN3OokTN7ITshY/edit#gid=0
Google Docs
Data Content Creators On LinkedIn [External]
👍26🔥8
Новый игрок в BI был замечен на рынке после недавних инвестиций в 12млн от знающих толк в data людей
Most BI tools are thin applications with no г engine of their own, and only as fast as the database they sit atop. Rill, on the other hand, is a thick application that comes with its own embedded in-memory OLAP engine (DuckDB in Rill Developer, and Apache Druid in Rill Cloud). This is the not-so-secret reason why our dashboards offer incredibly high performance,” the company wrote in a blog post announcing the funding.
https://techcrunch-com.cdn.ampproject.org/c/s/techcrunch.com/2022/08/04/rill-wants-to-rethink-bi-dashboards-with-embedded-database-and-instant-ux/amp/
Посмотрим как пойдёт у них
Most BI tools are thin applications with no г engine of their own, and only as fast as the database they sit atop. Rill, on the other hand, is a thick application that comes with its own embedded in-memory OLAP engine (DuckDB in Rill Developer, and Apache Druid in Rill Cloud). This is the not-so-secret reason why our dashboards offer incredibly high performance,” the company wrote in a blog post announcing the funding.
https://techcrunch-com.cdn.ampproject.org/c/s/techcrunch.com/2022/08/04/rill-wants-to-rethink-bi-dashboards-with-embedded-database-and-instant-ux/amp/
Посмотрим как пойдёт у них
DuckDB
An in-process SQL OLAP database management system
DuckDB is an in-process SQL OLAP database management system. Simple, feature-rich, fast & open source.
👍9🔥2
Databricks VSCode Extension https://blog.gbrueckl.at/2022/08/databricks-vscode-extension-release-v1-0/
👍5❤1
FAANG компании отслеживают интересные метрики - Revenue per employee и Free cash flow per employee.
Согласно статье Why Mark Zuckerberg and Sundar Pichai Are Worried About Productivity эффективность труда падает, и как говорит Цукенберг Realistically, there are probably a bunch of people at the company who shouldn’t be here.
Как вам такой подход? Я знаю, что такой подход хорошо работает на уровень зарплаты (total compensation), и поэтому там такие высокие зарплаты, а вот наоборот, искать взаимосвязь между производительностью конкретного инженера и доходом компании это может обернуться "охотой на ведьм". Возможно причины в неудачных long term решениях.
А так то, кому сейчас легко?😆
Согласно статье Why Mark Zuckerberg and Sundar Pichai Are Worried About Productivity эффективность труда падает, и как говорит Цукенберг Realistically, there are probably a bunch of people at the company who shouldn’t be here.
Как вам такой подход? Я знаю, что такой подход хорошо работает на уровень зарплаты (total compensation), и поэтому там такие высокие зарплаты, а вот наоборот, искать взаимосвязь между производительностью конкретного инженера и доходом компании это может обернуться "охотой на ведьм". Возможно причины в неудачных long term решениях.
А так то, кому сейчас легко?😆
🔥23👍8🤔4😁1
Пока вы учите Python, SQL, Airflow и другие полезные ништячки на работе, я прохожу sexual harassment тренинг с элементами сериала 90х.
Вот один из вопросов:
(google сделал перевод для вас)
Несколько сотрудниц офиса являются друзьями на Facebook. Однажды ночью дома одна из женщин публикует рейтинг «Лучших мужских задниц в моем офисе», зная, что она дружит на Facebook только с сотрудницами, которые не обидятся. Когда это видит друг друга друга, он чувствует себя униженным, потому что он занял последнее место. Он сообщает об этом как о сексуальных домогательствах.
Это сексуальные домогательства?
Вопрос конечно серьезный и даже очень полезный для некоторых, но в Канаде тут с этим не шутят, за неудачный комплимент могут вызвать полицию или уволить с работы одним днем. Поэтому тут лучше молчать и глаза не поднимать. 🙈
У меня был еще другой тренинг, но он мне оказался не по силам, я запутался в терминологии и цветах радуги.
Вот один из вопросов:
(google сделал перевод для вас)
Несколько сотрудниц офиса являются друзьями на Facebook. Однажды ночью дома одна из женщин публикует рейтинг «Лучших мужских задниц в моем офисе», зная, что она дружит на Facebook только с сотрудницами, которые не обидятся. Когда это видит друг друга друга, он чувствует себя униженным, потому что он занял последнее место. Он сообщает об этом как о сексуальных домогательствах.
Это сексуальные домогательства?
Вопрос конечно серьезный и даже очень полезный для некоторых, но в Канаде тут с этим не шутят, за неудачный комплимент могут вызвать полицию или уволить с работы одним днем. Поэтому тут лучше молчать и глаза не поднимать. 🙈
У меня был еще другой тренинг, но он мне оказался не по силам, я запутался в терминологии и цветах радуги.
😁85🤔24🤬14👍13😢3🔥1