Created by Daniil Dzheparov - @data_study
Приветствую! Изучение анализа данных - довольно непростой процесс. Технологий и навыков для изучения довольно много, а что и зачем изучать может быть непонятно начинающему специалисту. Эта дорожная карта поможет вам следовать плану изучения блоков навыков и проверять себя по списку требуемых компетенций, чтобы дорасти от уровня junior до middle позиции.
Для начала небольшое описание чем отличается уровень middle от junior специалиста
Junior (Начинающий) |
Переходный период |
Middle (Опытный) |
- Начальные знания и представления об инструментах, достаточные для выполнения несложных задач |
|
|
- Выполнение уже заранее поставленных и структурированных задач
- Требуется постоянная поддержка наставника или руководителя
- Низкий уровень насмотренности, например сложность решить одну и ту же задачу разными способами или выбрать наиболее эффективный |
- прокачать hard-skills
- прокачать soft-skills
- набраться рабочего опыта | - Более глубокое понимание навыков и инструментов для решения комплексных задач
- Самостоятельная постановка задач или их структуризация для выполнения, инициативность в самостоятельной генерации задач
- Может самостоятельно решать комплексные задачи и брать ответственность за их результат, также помогать более младшим коллегам
- Более высокий уровень насмотренности, который позволяет видеть вклад задачи на уровне проекта/бизнес-процесса |
| К обязательным Soft-skills относится
- Умение обучаться
- Умение правильно формулировать мысли и задавать вопросы
- Умение принимать обратную связь
- Умение работать в команде и делиться своими проблемами/вопросами/достижениями | | К обязательным soft-skils добавляются следующие навыки:
- Инициативность в предложении решений/улучшений/постановке задач
- Структуризация, планирование и оценка комплексных задач и работ
- Умение давать обратную связь
- Менторство и способность помогать младшим коллегам, делиться знаниями и опытом
- Решение конфликтных ситуаций |
<aside>
💡
Опыт приходит со временем, soft-навыки также нарабатываются со временем, либо отрабатываются с помощью прочтения полезных книг. А вот hadr-навыки можно прокачивать с помощью дорожной карты, которая описана ниже.
P.S. Набор навыков и компетенций собран с учетом моего личного опыта и опыта работы с коллегами над разными проектами в роли аналитиков данных. Навыки по больше части являются базовыми для всех, но углубление в ту или иную область может быть разное в зависимости от компаний или конкретных проектов, помните об этом)
</aside>
Блок навыков (Направление) |
Базы данных. SQL. Хранение и обмен данными |
Аналитические хранилища данных |
Python |
BI и визуализация данных |
ETL/ELT |
Cloud Computing, CI/CD |
Статистические исследования |
Компетенции |
- Знаю какие виды БД есть. |
|
|
|
|
|
|
- Умею подключаться к базам данных.
- Знаю основные блоки СУБД.
- Знаю принцип работы транзакций в БД (ACID).
- Владею SQL на уверенном уровне написания запросов для чтения и преобразования данных (SELECT запросы, виды JOIN, UNION, подзапросы, CTE, оконные функции, создание/удаление таблиц и представлений).
- Знаю как базы данных работают в cloud и on-premise.
- Знаю различия между Реляционными и Нереляционными базами данных.
- Уверено работаю с данными в базе, пишу запросы на чтение данных.
- Знаю конструкции INSERT, UPDATE по добавлению данных в БД
Дополнительно:
- Имею представление как работает резервное копирование данных, репликация, шардирование | - Знаю что такое хранилище данных.
- Знаю раздичия между OLTP и OLAP системами.
- Знаю различия между DWH и Data Lake.
- Умею описывать верхнеуровневую архитектуру хранилищ данных.
- Знаю разные подходы к моделированию хранилищ данных (Кимбалл, Инмон, Data Vault, Anchor Modelling).
- Знаю различия между файловыми хранилищами и реляционными.
- Знаю основные продукты для построения хранилищ данных и их принципы работы.
- Представляю как работают хранилища данных в cloud и on-premise | - Знаю общий синтаксис языка.
- Знаю основные структуры данных (строки, списки и массивы, картежи, словари, вложенные конструкции).
- Знаю синтаксис написания циклов, условий.
- Умею работать с регулярными выражениями.
- Умею писать функции, умею применять лямбда-функции.
- Умею работать с библиотекой pandas (Series, Dataframes).
- Знаю как считывать данные разных форматов с помощью pandas, обрабатывать и преобразовывать таблицы, делать первичный профайлинг данных и EDA.
- Умею обрабатывать сложные JSON файлы и парсить их в плоскую таблицу.
- Умею писать API запросы и получать ответы с помощью библиотеки requests.
- Умею парсить html страницы и применять библиотеку BeautifulSoup.
- Умею подключаться к базам данных, создавать в них таблицы с помощью python и его библиотек, загружать данные в базу и читать данные из нее.
- Умею применять библиотек sqlalchemy для работы с базами данных в python | - Понимаю принципы визуального восприятия и дизайна
- Знаю основные типы графиков для визуализации данных (линейные графики, столбчатые диаграммы, таблицы и т.д.) и умею правильно подбирать тип графика в зависимости от данных и задач анализа
- Умею навыки разработки и верстки интерактивных дашбордов, знаю основные этапы разработки и умею согласовывать работу с бизнес-заказчиками
- Умею подготавливать данные для визуализации
- Умею и соблюдаю принципы эффективной визуализации и верстки дашбордов
- Умею настраивать графики (подписи осей, легенды, методы выделения главных метрик и т.д.)
- Умею настраивать фильтры, кросс-фильтрацию drill up/down
- Умею интерпретировать результаты анализа и переводить их на понятный для бизнеса язык
- Уверенно владею 1-3 BI инструментами для визуализации и анализа данных | - Знаю что такое ETL/ELT процессы и из каких шагов они состоят.
- Знаю различия между ETL и ELT и умею их объяснить.
- Знаю 10 разных инструментов для ETL/ELT процессов, принципы их работы и различия.
- Знаю разницу между batch/streaming загрузками данных.
- Понимаю понятие очередей данных и умею объяснить значем они нужны (синхронные и асинхронные очереди).
- Понимаю процесс оркестрации инструментов ETL/ELT.
- Умею писать ETL/ELT процессы по извлечению, трансформации и загрузки данных с оркестрацией всех процессов.
- Знаю основные способы подключения к источникам данных.
- Умею извлекать данные из внешних источников через API.
- Умею писать скрипты преобразования данных на Pyspark и SparkSQL.
- Знаю принципы партиционирования и обновления данных (дельта данных или full-reload) | - Знаю что такое Cloud и какой принцип его работы.
- Знаю основные плюсы и минусы работы с cloud решениями.
- Знаю как работает виртуализация, в чем ее преимущества и основные аспекты решения.
- Умею запускать виртуальные машины. - Знаю что такое контейнеризация, в чем ее преимущества и основные аспекты решения.
- Знаю различия между уровнями сервисов IaaS, PaaS, SaaS.
- Умею работать с Managed сервисами
- Умею настраивать БД в облаке, аналитическое хранилище данных, запускать ETL инструменты.
- Умею работать с кластером Kubernetes и настривать его под разные сервисы.
- Умею работать с Github/Gitlab: push/pull, commit, versioning.
- Умею работать с командной строкой (CLI) (Linux, Windows/Mac).
- Умею настраивать ролевую модель доступов к сервисам cloud.
Умею рассчитвать billing за сервисы cloud.
- Умею настраивать инструменты мониторинга и алертинга | - Знаю основы статистики (распределения, медиана, среднее, квантили)
- Знаю методы реализации статистических тестов (A/B тестирование)
- Знаю что такое гипотеза и умею их выдвигать
- Знаю что такое выборка и размер выборки
- Умею интерпретировать результаты статистических тестов |
| Инструменты | SQL, Dbeaver (либо другие IDE для БД). Базы данных: PostgreSQL, Clickhouse | Greenplum, Vertica, Object Storage, Snowflake, Hadoop | библиотеки pandas, ydata-profiling, numpy, requests, sqlalchemy, BeautifulSoup | Apache Superset, Datalens, Tableau, Power BI | Airflow, dbt, Kafka, NiFi, Spark | Yandex Cloud, AWS, Google Cloud, Linux, Virtualization, Docker, Kubernetes | библиотеки python: scipy, statistics, statsmodels |
| Полезные ресурсы | Книги и статьи:
- Алан Бьюли / Изучаем SQL Оконные функции
- https://habr.com/ru/post/664000/
- Учебник по языку SQL https://habr.com/ru/post/255361/
- Тренажер по SQL https://stepik.org/course/63054/promo
https://sql-ex.ru/learn_exercises.php https://sql-academy.org/ru/trainer?sort=byId
Курсы и видео:
Курсы и видео:
Курсы и видео:
Курсы и видео:
Основы статистики часть 1
https://stepik.org/course/76/promo?search=882606884
Основы статистики часть 2 https://stepik.org/course/524/promo?search=882606885
Конспект по основам статистики https://nbviewer.org/github/KlukvaMors/basic_stat/blob/main/конспект.ipynb
Курс по вероятности, статистике и A/B тестированию
https://youtube.com/playlist?list=PLQJ7ptkRY-xbHLLI66KdscKp_FJt0FsIi
|