Последние восемь лет я работаю руководителем проектов (не пишу код на работе), что естественно негативно влияет на мой технологический бекэнд. Я решил сократить своё технологическое отставание и получить профессию Data engineer. Основной навык Data engineer — способность разрабатывать, строить и поддерживать хранилища данных.
Составил план обучения, думаю он будет полезен не только для меня. План ориентирован на самостоятельное изучение курсов. Приоритет отдается бесплатным курсам на русском языке.
Разделы:
В свой план я включил изучение Python, повторение основ математики и алгоритмизации.
Темы связанные с построением хранилищ данных, ETL, OLAP-кубов сильно зависят от инструментов, поэтому в этом документе не даю ссылок на курсы. Целесообразно изучать такие системы при работе над конкретным проектом в конкретной компании. Для знакомство с ETL можно попробовать Talend или Airflow.
На мой взгляд, важно изучать современную методологию проектирования хранилищ данных Data Vault ссылка 1, ссылка 2. И лучший способ изучить его — взять и реализовать на простом примере. На GitHub есть несколько примеров реализации Data Vault ссылка. Современная книга по хранилищам данных: Modeling the Agile Data Warehouse with Data Vault by Hans Hultgren.
Для знакомства с инструментами Business Intelligence для конечных пользователей можно использовать бесплатный конструктор отчетов, дашбордов, мини хранилищ данных Power BI Desktop. Обучающие материалы: ссылка 1, ссылка 2.
Не всё из того что изучаешь получается применять на работе. Поэтому необходим дипломный проект, в котором ты попробуешь применить новые знания.
В плане нет тем связанных с анализом данных и Machine Learning, т.к. это больше относится к профессии Data Scientist. Также нет тем связанных с облаками AWS, Azure т.к. эти темы сильно зависят от выбора платформы.
Вопросы к сообществу:
Насколько адекватен мой план прокачки? Что убрать или добавить?
Какой проект посоветуете в качестве дипломной работы?
Составил план обучения, думаю он будет полезен не только для меня. План ориентирован на самостоятельное изучение курсов. Приоритет отдается бесплатным курсам на русском языке.
Разделы:
- Алгоритмы и структуры данных. Ключевой раздел. Изучишь его — всё остальное тоже получится. Важно набить руку в написании кода и использовании основных структур и алгоритмов.
- Базы и хранилища данных, Business Intelligence. От алгоритмов переходим в хранению и обработке данных.
- Hadoop and Big Data. Когда база не входит на винчестер, или когда данные нужно анализировать, но Excel уже не может их загрузить начинаются большие данные. На мой взгляд, переходить к этому разделу нужно только после глубокого изучения двух предыдущих.
Алгоритмы и структуры данных
В свой план я включил изучение Python, повторение основ математики и алгоритмизации.
- Программирование на Python
- Python: основы и применение
- Линейная алгебра
- Ликбез по дискретной математике
- Алгоритмы: теория и практика. Методы
- Алгоритмы: теория и практика. Структуры данных
Базы и хранилища данных, Business Intelligence
- Книга: Мартин Клеппман — Высоконагруженные приложения. Программирование, масштабирование, поддержка. Книга описывает как работают разные модели данных, их реализацию изнутри, ограничения и выбор в зависимости от задачи.
- Введение в базы данных
- Погружение в СУБД
- Введение в нереляционные базы данных
Темы связанные с построением хранилищ данных, ETL, OLAP-кубов сильно зависят от инструментов, поэтому в этом документе не даю ссылок на курсы. Целесообразно изучать такие системы при работе над конкретным проектом в конкретной компании. Для знакомство с ETL можно попробовать Talend или Airflow.
На мой взгляд, важно изучать современную методологию проектирования хранилищ данных Data Vault ссылка 1, ссылка 2. И лучший способ изучить его — взять и реализовать на простом примере. На GitHub есть несколько примеров реализации Data Vault ссылка. Современная книга по хранилищам данных: Modeling the Agile Data Warehouse with Data Vault by Hans Hultgren.
Для знакомства с инструментами Business Intelligence для конечных пользователей можно использовать бесплатный конструктор отчетов, дашбордов, мини хранилищ данных Power BI Desktop. Обучающие материалы: ссылка 1, ссылка 2.
Hadoop and Big Data
- Начать нужно с самостоятельной реализации MapReduce без сторонних библиотек. Это позволит в будущем лучше понимать многопоточные реализации. Отличный пример на Python описан тут.
- Hadoop. Система для обработки больших объемов данных.
- Введение в инженерию больших данных
Заключение
Не всё из того что изучаешь получается применять на работе. Поэтому необходим дипломный проект, в котором ты попробуешь применить новые знания.
В плане нет тем связанных с анализом данных и Machine Learning, т.к. это больше относится к профессии Data Scientist. Также нет тем связанных с облаками AWS, Azure т.к. эти темы сильно зависят от выбора платформы.
Вопросы к сообществу:
Насколько адекватен мой план прокачки? Что убрать или добавить?
Какой проект посоветуете в качестве дипломной работы?