Чем занимаются инженеры данных

Инженеры данных, или Data Engineers, создают и обслуживают инфраструктуру для работы с данными

А именно:
• Разрабатывают витрины и хранилища
• Собирают и очищают данные
• Структурируют и готовят данные к анализу

Всему этому и не только вы научитесь на нашем курсе, даже если никогда раньше не работали с данными.

Главное о профессии

Насколько востребованы инженеры данных

Сейчас на HeadHunter больше 1 500 вакансий, и с каждым годом всё выше спрос на этих специалистов

Какие инструменты и технологии нужно знать

Всё это вы освоите на нашем курсе — даже если у вас нет технического образования и опыта в IT

Python
SQL
Airflow
PostgreSQL
Docker
Redis
Yandex Cloud
Kafka
Hadoop
Apache Spark
Spark Streaming
NoSQL

Для специалистов с опытом есть отдельный курс

Если вы уже знакомы с Python и SQL, присмотритесь к курсу «Инженер данных». Там вы сразу перейдёте к особенностям передачи данных и настройке их хранилищ.

Посмотреть курс «Инженер данных»

Чему вы научитесь

Работать с данными с помощью Python и SQL
Python — это популярный язык программирования, а SQL — язык запросов, с их помощью можно обрабатывать данные
Создавать витрины и хранилища данных
Это инфраструктура, которую разрабатывают инженеры для сбора, хранения и структурирования данных
Проектировать пайплайны
Это документы, которые визуализируют процесс разработки инфраструктуры
Использовать разные инструменты
И благодаря этому выполнять разные задачи — например, работать с большими или потоковыми данными

Как проходит курс

YandexGPT помогает проходить курс

Когда в теории что-то непонятно, нейросеть объяснит это другими словами. А в конце каждого модуля подготовит краткий пересказ о самом главном.

Программа курса

Рассчитана на 12 месяцев, курсу нужно уделять ~12 часов в неделю
1
6 тем・3 недели
Основы Python
  • Python
  • Переменные
  • Циклы и ветвления
  • Функции
  • Словари и множества
Знакомство с Python
Философия Python, переменные и значения, константы функции
Простые типы данных
Числовые типы, значение None, логический тип данных и операторы сравнения
Ветвления
Ветвления, множественные ветвления, логические операторы
Импортируемые типы данных
Модуль Decimal, дата и время
Коллекции
Коллекции, последовательности: список, кортеж, строки, словарь, изменяемые и неизменяемые типы данных
Итерации и циклы
Циклы For и While, управление циклами
Разработаете приложение «Холодильник», чтобы регистрировать продукты и следить за ними
2
4 темы・1 неделя
Инструменты разработчика
  • Git
  • Github
Настройка рабочего окружения
Терминал, консоль и командная строка, выбор и настройка редактора кода, виртуальное окружение
Система контроля и управления версиями
Знакомство с Git и Github и их настройка: создание и клонирование репозиториев, отслеживание файлов проекта
Требования к коду
Оформление кода, линтеры и форматеры, аннотация типов
Отладка программ
Ошибки и баги, дебаггинг VS Code
Выполните итоговое задание, чтобы закрепить знания на практике
3
4 темы・1 проект・3 недели
Углублённый Python
  • Python
  • ООП
Объекты и классы
Изучите объекты и классы, их атрибуты и методы объекта
Объектно ориентированное программирование
Познакомитесь с основами объектно ориентированного программирования (ООП), узнаете, что такое наследование, полиморфизм, инкапсуляция
Python: новый уровень
Пользовательские модули и пакеты, документирование кода, исключения, контекстные менеджеры
Сетевые запросы и HTTP
URL, исходный код веб-страницы, HTML и роль браузера, структура HTTP‑сообщений, HTTP‑заголовки, обработка ошибок при HTTP‑запросах, аутентификация и авторизация, анализ запросов
Разработаете программу, чтобы скачивать данные о персонажах и планетах из вселенной «Звёздных войн». Подготовите эти данные для работы в Excel
4
3 темы・6 недель
Алгоритмы и структуры данных
  • Алгоритмы
Основы алгоритмов
Понятие алгоритма, линейный и бинарный поиск, время исполнения, ввод-вывод
Представление данных в памяти
Оперативная память и представление данных, пространственная сложность алгоритма, массивы постоянного размера, сложность вставки и удаления в динамических массивах, реаллокация в динамических массивах, связные списки, структура данных: стек, очередь и дек
Рекурсия и сортировки
Задачи на рекурсию, рекурсивный и базовый случаи, реализация бинарного поиска с помощью рекурсии, рекурсивный перебор вариантов, алгоритмы сортировки и их выбор, сортировка вставками, сортировка по ключу, сравнение элементов
Познакомитесь с алгоритмами и структурами данных, которые необходимы в инженерии
5
6 тем・1 проект・4 недели
Основы SQL и баз данных
  • SQL
  • PostgreSQL
Устройство PostgreSQL
PostgreSQL, работа с интерактивным терминалом psql
Основы SQL и DDL
Команды CREATE, DROP, ALTER, создание таблиц и работа с ограничениями
Основы SQL и DML
Команда INSERT, выборка и фильтрация данных из таблиц, оператор CASE
Нормализация и взаимоотношение
Нормализация таблиц, взаимоотношения между таблицами
Объединение таблиц
Соединение таблиц, типы JOIN, сочетание запросов
Функции
Математические, агрегирующие, группировка данных
Отработаете навыки на датасете в тренажёре платформы
6
5 тем・1 проект・4 недели
Продвинутый SQL для работы с данными
  • SQL
  • Оконные функции
  • Представления
  • PostGIS
  • Транзакции и блокировки
Подзапросы и общие табличные выражения
Подзапросы, общие табличные выражения (СТЕ), основы рекурсии
Оконные функции
Как они устроены
Представления
Введение в представления, операции с ними, материализованные представления
Продвинутые типы данных
Как с ними работать, тип данных UUID, массивы
Транзакции и блокировки
Транзакции, ACID-требования к транзакциям, запросы с транзакциями, изоляции транзакций, уровни и синтаксис, зачем нужны блокировки, виды блокировок
Снова поработаете в SQL-тренажёре на платформе, чтобы закрепить навыки
1 неделя
Перерыв
7
5 тем・1 проект・2 недели
Как построить аналитическое хранилище данных
  • Python
  • PostgreSQL
  • DBeaver
  • DWH
  • SCD
PostgreSQL и DBeaver
Виды данных по степени строгости организации, различия и назначение баз данных SQL и NoSQL, характеристики PostgreSQL, интерфейс и возможности DBeaver
Нормальные формы
Понятие нормализации, нормальные формы
Знакомство с DWH
Минусы нормализации, хранилище данных, OLTP и OLAP, денормализованные модели
Погружение в DWH
Сбор требований, подходы Инмона и Кимбалла, современные модели DWH, выбор подхода для DWH, создание процессов миграции данных
SCD и его типы
Понятие и типы
Построите витрину с инкрементальной загрузкой для аналитики аудитории интернет-магазина
8
2 темы・1 проект・3 недели
Работа с данными в хранилище
  • PostgreSQL
  • VIEW
  • Витрина данных
Витрина данных и VIEW
Понятие витрины данных, транзакции, инкрементальная загрузка данных, понятие VIEW, визуализация данных
Оптимизация запросов
План запроса, как исследовать запрос, типы индексов и способы их создания
Приведёте в порядок модель данных и осуществите миграцию в текущем хранилище
9
4 темы・1 проект・3 недели
ETL: автоматизация подготовки данных
  • Python
  • PostgreSQL
  • Airflow
Анализ вводных по задаче
ETL-процесс и его пайплайн, требования к ETL-процессу, источники данных, разложение данных по слоям, подключение к API и базам данных, схемы источника, перенос данных в хранилище, автоматизация
Проектирование ETL-процесса
Виды загрузок, слои хранения, как разложить данные по готовым слоям, порядок загрузки объектов, проектирование системы восстановления
Ликбез по Airflow
Понятие, для каких задач используется Airflow, основные концепции, архитектура, первый взгляд на UI, структура кода DAG, статусная модель задач, механики шаблонов, особенности работы со временем, продвинутые механики и альтернативы Airflow для ETL-процессов
Реализация ETL в Airflow
Планирование процесса, как сделать запрос на генерацию файла через API, подключение к хранилищу и получение файла, переведение файла в табличный вид, SCD, добавление технических полей, обновление слоя витрин, постановка процесса на регламент
Построите пайплайн автоматизированного получения, обработки и загрузки данных от источников до витрины
10
2 темы・1 неделя
Проверка качества данных
Требования к качеству данных
Технические и бизнес-качества, как собрать требования к данным, система контроля качества
Проектирование и разработка проверки
Выбор места проверки в пайплайне, разработка проверок, результаты и отслеживание проверок, runbook процесса
Научитесь оценивать качество данных
1 неделя
Перерыв
11
4 темы・1 проект・2 недели
DWH для нескольких источников
  • NoSQL
  • MongoDB
  • PostgreSQL
Сбор требований и исследование источников
Сбор требований для DWH, модель данных в PostgreSQL, MongoDB как NoSQL-СУБД, подключение к MongoDB, данные в MongoDB, как связаны данные в источниках
Проектирование DWH
Проектирование хранилища по слоям, выбор модели данных, проектирование слоёв CDM и STG, хранение исторических данных, проектирование слоя DDS, проектирование ETL между слоями
Реализация DWH
Транзакции и их свойства, изоляция транзакций, паттерн Transactional Outbox, сбор данных из PostgreSQL и MongoDB, перенос данных из STG в DDS, заполнение витрины в слое CDM
Тестирование, интеграция и документация
Тестирование DWH, интеграция с BI-решением, как писать документацию к DWH
Спроектируете и реализуете DWH для стартапа
12
2 темы・1 проект・2 недели
Аналитические базы данных
  • S3
  • Vertica
  • Airflow
  • PostgreSQL
Аналитические СУБД и Vertica
Знакомство с аналитическими СУБД и Vertica, типы данных в Vertica (строковые и числовые, временные и специальные), запись данных в Vertica, проекции, параметры сегментации и сортировки, удаление и обновление данных в Vertica, партиционирование таблиц, операции с партициями
Разработка аналитической базы данных
Исходные данные, staging-слой, проверка качества данных, выбор модели для аналитического хранилища, разработка аналитического хранилища
Построите DWH для высоконагруженной системы данных с использованием Vertica
13
3 темы・1 проект・4 недели
Организация Data Lake
  • HDFS
  • Hadoop
  • MapReduce
  • Apache Spark
Проектирование Data Lake
Знакомство с Data Lake, сбор требований, знакомство с Hadoop, архитектура HDFS, репликация данных и блоки в HDFS, управление HDFS из консоли, проектирование хранения данных в HDFS
Знакомство со Spark
Парадигма MapReduce, знакомство со Spark, вычисления в Spark, знакомство с YARN, подключение к Spark
PySpark для инженера данных
Знакомство с PySpark, структуры данных в Spark, создание DataFrame и базовые операции: преобразования и действия, JOIN и UNION, кеширование и контрольные точки; встроенные стандартные функции, оконные функции в PySpark, как собрать, запустить и автоматизировать джобу
Построите Data Lake и автоматизируете загрузку и обработку данных в нём
1 неделя
Перерыв
14
2 темы・1 проект・3 недели
Потоковая обработка данных
  • Kafka
  • Spark Streaming
Потоковая обработка с Kafka и Spark Streaming
Что такое потоковая обработка, брокеры сообщений, Kafka, работа с Kafka через kcat, знакомство со Spark Structured Streaming — базовые операции, как создать Spark Streaming Application
Настройка потока данных
Сбор требований к стримингу, проектирование стриминговой системы, изучение данных в Kafka, преобразование потоковых данных, дедупликация, подключение к PostgreSQL и изучение данных, проектирование выходного сообщения, отправка сообщения в Kafka
Разработаете систему для обработки данных в режиме реального времени
15
5 тем・1 проект・3 недели
Облачные технологии
  • Redis
  • NoSQL
  • Kubectl
  • Kubernetes
  • PostgreSQL
  • Yandex Cloud
Облачные технологии Yandex Cloud
Что такое облачные технологии, подключение к Yandex Cloud, внутри Yandex Cloud, сбор требований к DWH
Подготовка и изучение источников
Redis — key-value хранилище, как его поднять в Yandex Cloud, изучение данных в Redis, как поднять Kafka в Yandex Cloud, изучение данных в Kafka
Создание окружения сервисов
Микросервисная архитектура, контейнеризация в Docker, создание образов контейнеров, репозиторий для образов, знакомство с Kubernetes, возможности утилиты kubectl, подготовка манифестов, пакетный менеджер Helm, разбор шаблона сервиса
Написание первого сервиса
Как поднять PostgreSQL в Yandex Cloud, структура баз данных, подготовка контейнера, планирование и написание логики первого сервиса
Знакомство с DataLens
Подключение источников данных, создание диаграмм, создание дашборда
Разработаете инфраструктуру для хранения и обработки данных в облаке
16
Самостоятельно・2 недели
Итоговый проект или пет-проект
В конце курса у вас будет выбор: выполнить ещё один тренировочный проект или реализовать пет-проект. В первом случае нужно выбрать бизнес-задачу и разработать архитектуру данных с использованием всех изученных инструментов. Во втором случае вы сможете воплотить в жизнь и защитить личный проект. Идея для пет-проекта может быть любой, главное — чтобы она была связана с инженерией данных и при её реализации использовались все изученные инструменты. Что бы вы ни выбрали, вас поддержат наставники и ревьюеры, а получившийся кейс украсит ваше портфолио.
Карьерный центр・1 месяц
Карьерный трек: подготовка к трудоустройству
Составите резюме, которое привлечёт внимание рекрутеров, и напишете сопроводительное письмо для откликов на вакансии. Узнаете, как правильно оформлять портфолио, и построите стратегию поиска работы.
Карьерный центр・До 6 месяцев
Акселерация: активный поиск работы с поддержкой HR-экспертов
Будете откликаться на вакансии, делать тестовые и ходить на собеседования, а мы вас поддержим. Например, расскажем о типичных ошибках в общении с работодателями и как их избежать. Акселерация может продолжаться до 6 месяцев — обычно этого достаточно, чтобы получить первую работу в IT.

10 000+ пользователей Практикума уже нашли новую работу

90% трудоустроились в первые полгода

Это данные исследования ВШЭ — они основаны на опыте пользователей Яндекс Практикума на российском рынке труда

Отвечаем на вопросы

Каким требованиям нужно соответствовать?
Вам не понадобятся специальные навыки или опыт — будете проходить всё с нуля. Главное — иметь компьютер и достаточно времени. Выше можно посмотреть программу, чтобы оценить количество материала и свои возможности.
Кто будет помогать мне проходить курс?
Все наставники — практикующие специалисты: сотрудники Яндекса и других крупных компаний. Программу составляют опытные методисты, а ещё действующие специалисты Яндекса, Школы анализа данных и других лидеров технологической индустрии.
Смогу ли я найти работу после курса?
Гарантий нет, но мы верим, что сможете. Работодателям важно, чтобы вы справлялись с реальными задачами, а не просто обладали набором знаний. После курса вы сможете применять знания на практике, а также мы предлагаем помощь HR-специалистов из нашего карьерного центра. Но вам точно придётся приложить усилия, чтобы найти работу: активно откликаться на вакансии, проходить собеседования, показывать свои проекты и делать тестовые задания.

По данным исследования* Высшей школы экономики, 69% пользователей Яндекс Практикума среди тех, кто хотел сменить профессию, начинают новую карьеру после курса. Больше половины из них — во время курса и в первые 2 месяца после его окончания.

* Данные исследования ВШЭ основаны на опыте пользователей Яндекс Практикума на российском рынке труда.
А если я хочу работать в Яндексе?
Некоторые участники наших курсов работают в сервисах Яндекса, в том числе и в Практикуме. Но с нашей стороны было бы нечестно что‑либо гарантировать и завышать ваши ожидания.

Без опыта попасть в крупную IT-компанию возможно, хотя и сложно. Программа составлена так, чтобы вы могли начать карьеру после курса и набраться первого опыта. С ним вам будет значительно проще претендовать на позицию в крупных компаниях.
Хорошо, а вы можете помочь с поиском работы?
Да. Вы сможете пройти программу трудоустройства, которая состоит из 2 частей:
  • Карьерный трек: участники курса при поддержке наших HR-экспертов составляют резюме или оформляют портфолио, пишут сопроводительные письма.
  • Акселерация: участники курса начинают активный поиск работы, а мы им помогаем — отвечаем на вопросы, проводим тренировочные собеседования, предлагаем вакансии от партнёров.
Важно помнить, что мы не ищем работу за вас, а помогаем её найти.
Что делать, если я не справлюсь с нагрузкой?
В программе предусмотрен перерыв, во время которого можно отдохнуть или повторить сложные темы.

Если случилось непредвиденное или понадобилось больше времени на закрепление материала, напишите своему куратору. Он поможет перенести дедлайн сдачи проекта или перевестись в более позднюю когорту. На общую стоимость курса это не повлияет.
Если не понравится, я могу вернуть деньги?
Конечно. Если курс ещё не начался, вернём всю сумму. Если уже начался, придётся оплатить прошедшие дни со старта вашей первой когорты — но мы вернём деньги за остаток курса. Более подробно рассказываем об этом в 7 пункте оферты.
Получу ли я какой-то документ после курса?
Да, вы получите сертификат о завершении курса.
Как можно оплатить?
Банковской картой: внести всю сумму сразу или платить ежемесячно.

Ежемесячные платежи работают так: вы вносите первую оплату, и в этот момент привязывается карта. С этой карты автоматически будут списываться следующие платежи каждые 30 календарных дней. Например, оплатили 25 марта — следующий платёж пройдёт 24 апреля. Курс будет стоить меньше, если оплатить его сразу целиком.

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

Чтобы вам было проще сориентироваться, мы указываем примерную стоимость в долларах США, но списание будет в казахстанских тенге, а конвертация — по курсу вашего банка.

Давайте поможем

Напишите, как вас зовут и по какому номеру можно связываться — позвоним и расскажем всё про курсы