Дата-инженеры работают с большими данными. Они занимаются созданием систем для сбора, очистки и последующей загрузки данных в базы, разрабатывают инфраструктуру хранения, подготавливают их для дальнейшего анализа. В этой статье постараемся сделать максимально подробный обзор профессии. Разберемся, где нужны инженеры данных и чего от них ожидают работодатели, какие зарплаты и перспективы в этой карьере.
Содержание
Кто такой Data Engineer, чем он занимается?
Все больше компаний понимают, насколько важны объективные данные, статистика, и что для успешного ведения бизнеса нужно принимать решения, основываясь не на интуиции, а именно на них. Информация с сайтов или приложений, камер видеонаблюдения, производственных датчиков дает возможность изучить поведение, потребности пользователей, спрогнозировать спрос или реакцию на определенные продукты, обеспечить лучший сервис для клиентов, эффективно планировать маркетинговые кампании.
Например, сбор и анализ информации о просмотренных фильмах позволит кино-сервису лучше понять предпочтения клиента и рекомендовать ему новые фильмы, которые с большей вероятностью его заинтересуют.
Анализом данных занимаются аналитики или дата-сайентисты. Но чтобы начать их анализировать, нужно сначала собрать данные, правильно их структурировать и сохранить в месте, доступном для аналитика. Именно этим занимаются дата-инженеры, используя профессиональную инфраструктуру: серверные мощности, хранилища, профильные инструменты для сбора, очистки информации.
Если говорить в профессиональных терминах, задача инженера – организация, осуществление и контроль ETL процессов. Что означает эта аббревиатура? E – Extract, то есть извлечение или сбор информации, T – Transform – трансформация, L – Load — это загрузка.
Основные обязанности специалиста:
- Создает инфраструктуру, систему для работы с большими данными, разрабатывает, настраивает ETL-процессы.
- Собирает необработанную, сырую информацию из разных источников, загружает в общее хранилище.
- Очищает, проверяет информацию: убирает дубли, ошибки.
- Занимается структурированием данных, делает их пригодными для дальнейшей аналитики, трансформирует и передает.
- Разрабатывает пайплайны – настроенные процессы для движения данных между разными инструментами.
- Работает над оптимизацией рабочих процессов, ищет новые инструменты и обновляет старые, автоматизирует, масштабирует процессы написанием скриптов, совершенствованием архитектуры.
Data Engineer, Data Scientist, Data Analyst – чем отличаются?
Data Engineering, Data Science, Data Analysis – очень близкие специальности, которые традиционно работают в тесном сотрудничестве, но имеют существенные отличия. Все эти профессии связаны с Big Data, но отвечают за разные аспекты взаимодействия с информацией. Дата-инженеры отвечают за сбор, хранение, подготовку и передачу данных дата-сайентисту. Этот специалист обрабатывает большие массивы данных. Его задача – искать закономерности, создавать прогнозы, прогнозные модели, рекомендательные алгоритмы с технологиями искусственного интеллекта, нейросети, выдвигать гипотезы. Аналитики используют данные для поиска инсайтов, ответов на запросы бизнеса. Они должны разбираться в математике, статистике, системах мониторинга и аналитики, маркетинговых метриках. При этом очень важные навыки визуализации данных на компьютере, создания понятных графиков и отчётов.
Без инженера аналитикам и сайентистам просто неоткуда было бы взять данные, они бы оставались лежать в разрозненных источниках без какой-либо структуры. С другой стороны, без дата-сайентиста или аналитика все эти массивы информации не несут никакой пользы, они не проанализированы и не могут стать основой для улучшения деятельности компании. Это равнозначные по важности специалисты, которые работают сообща.
Знания и навыки инженера данных
Теперь поговорим о том, что должен знать и уметь специалист по дата-инженерии в 2023 году, чтобы быть востребованным у работодателей. Разные вакансии могут существенно отличаться требуемым стеком технологий, мы постараемся разобрать универсальные компетенции.
- Знание математических алгоритмов, структур данных. Знания о структурах данных помогут грамотно их извлекать, выполнять преобразование, а понимание алгоритмов обеспечит эффективное взаимодействие с дата-сайентистами – вы сможете предоставлять им информацию в понятном, удобном формате.
- Классические БД, SQL, NoSQL. Инженер непременно должен уметь писать запросы для работы с классическими дата-базами. Язык SQL поддерживается самыми популярными хранилищами (Amazon Redshift, HP Vertica, Oracle, SQL Server). Также будет полезно изучить механизмы SQL (такие как Apache Hive, Impala) для работы с данными в распределенных системах, в частности HDFS.
- Программирование. В работе вам также пригодится владение языками программирования. Начинают обычно с изучения Python, который подходит для обработки дата, написания алгоритмов, работы с ML. Со временем полезно будет также изучить Java, Scala. Эти языки применялись в разработке инструментов для работы с данными, поэтому их знание помогает дорабатывать эти самые инструменты, более эффективно их применять.
- Профильный инструментарий. Список профильных технологий очень обширен, при этом разные компании могут использовать свой специфический набор для решения конкретных задач. Среди наиболее универсальных инструментов можно выделить колоночные БД, экосистему Hadoop, а также Apache Spark, Kafka, Apache Cassandra.
- Облачные технологии. Большинство компаний предпочитают хранить информацию в облачных сервисах, поэтому инженер должен уметь выстраивать свою инфраструктуру на основе Cloud Services (Amazon Web Services, Google, Microsoft Azure).
- Полезным скиллом также станет умение работать с инструментом контейнеризации Docker. С его помощью вы сможете упаковывать сервисы, созданные на локальном компьютере, а затем разворачивать их на любом другом устройстве.
- Навыки визуализации данных, умение создавать понятные отчеты, дашборды. Полезно изучить инструменты Tableau, ElasticSearch.
- Владеть навыками работы с конвейерами данных.
Зарплата и востребованность
Теперь давайте разберемся, сколько зарабатывает Data Engineer, какие есть перспективы в этой профессии?
По данным Хабра в России зарплаты начинающих инженеров стартуют от 50 тыс. руб. в регионах. В Москве уровень дохода традиционно выше – от 80 тыс. рублей. При этом на такие вакансии работодатели готовы брать даже новичков, которые только закончили обучение на профильных курсах. Уже спустя 1-2 года работы по специальности инженер сможет претендовать на заработную плату около 120 тыс. Сильные middle специалисты вполне могут рассчитывать на зарплаты в рамках 150-250 тыс. рублей.
Если вы хотите более подробно ознакомиться с зарплатами и реалиями по найму сотрудников в этой карьерной нише, рекомендуем изучить этот материал на Хабре.
На момент написания статьи только на платформе HH.ru было представлено около 1200 вакансий для Data Engineer по России. При этом наибольшее количество вакансий с предложениями зарплаты от 120 тыс. рублей.
Профессия Data Engineer открыла новую декаду в топе наиболее перспективных профессий современности. Глобальные исследования в 2020, 2021 годах прогнозируют большой рост спроса на таких специалистов. В частности, в 2020-м году эта профессия заняла первую строчку в рейтинге самых быстрорастущих карьер по версии Dice Job Report.
О высокой востребованности и отличных перспективах профессии говорят и специалисты из Linkedin. Можно с уверенностью говорить, что в ближайшие годы эта тенденция не изменится. Большие данные становятся основой для принятия решений и развития крупного бизнеса. Такие профессионалы особенно востребованы в сферах ИТ, ритейла, телекома, банкинга, маркетинга, транспорта.
Как стать дата-инженером
Data Engineer – это современная профессия, которую не изучают в традиционном формате вуза. Хотя высшее образование по программированию, инженерии, безусловно, станет большим преимуществом на старте карьеры. Если же вы решили освоить профессию с нуля, лучше рассмотреть варианты платных или бесплатных курсов в формате онлайн. У каждого из них есть плюсы и минусы.
- Самообучение. Вы можете смотреть познавательные видео на YouTube, читать книги, блоги, профессиональные сайты и самоучители. Такой формат отлично подходит, чтобы получить базовые знания, но не всем удается выйти на профессиональный уровень без предварительного опыта в смежных профессиональных сферах. Бесплатные курсы часто являются несистемными или дают устаревшую информацию. Кроме того, самостоятельное обучение требует хорошей самодисциплины.
- Обучение на платных курсах. Сегодня новичок может найти десятки платных программ обучения в разной ценовой категории. Курсы действительно могут быть эффективными и готовить студента к реалиям рынка труда, давать актуальные знания, практические навыки. Главное, внимательно выбирать курс, знакомиться с учебной программой, преподавателями.
Чтобы упростить поиск подходящего онлайн-курса, мы собрали огромную подборку учебных программ от лучших площадок – Geekbrains, Skillfactory, Skillbox, Coursera, Яндекс Практикум, Нетология и другие:
Лучшие курсы по Data Engineering
Здесь вы сможете быстро ознакомиться с программой, правилами, форматом обучения, требованиями к уровню знаний студентов и выбрать курс, который вам нужен. Уверены, с помощью подобранных курсов вы научитесь профессионально работать с данными, организовывать процесс их хранения и передачи, автоматизировать рутинные задачи.
Выдающиеся личности в профессии
Дуг Каттинг
Сделал огромный вклад в развитие дата инженерии. Вместе с Майком Кафареллой он основал Apache Hadoop. Этот инструмент состоит из множества утилит с открытым исходным кодом и открывает обширные возможности для работы с большими объемами данных, сложными вычислениями.
Клиффорд Линч
Сегодня занимает должность директора Коалиции за сетевую информацию (CNI), но его главная заслуга – введение в широкие профессиональные круги термина «big data». В 2008 году он подготовил для журнала Nature спецвыпуск «Как могут повлиять на будущее науки технологии, открывающие возможности работы с большими объёмами данных?». В нем он раскрыл важные темы взрывного роста объемов и разнообразия обрабатываемых данных, технологические перспективы этой тенденции и предсказал скачок «от количества к качеству».
Эдгар Кодд
Британский ученый, научные работы которого стали основой для теории реляционных БД. Он начал изучать эту тему еще в 60-х годах прошлого века, в 70-х опубликовал работу «A Relational Model of Data for Large Shared Data Banks». Работая в компании IBM, он создал первую реляционную базу данных. В начале 80-х получил премию Тьюринга.
Полезные ссылки
Книги:
- Грофф Джеймс Р., Вайнберг Пол Н. «SQL. Полное руководство».
- Лэм Чак «Hadoop в действии».
- Карау Холден, Конвински Энди «Изучаем Spark. Молниеносный анализ данных».
- Tom White «Hadoop «The Definitive Guide».
- Брендан Бернс «Распределенные системы. Паттерны проектирования».
YouTube:
- CMU Database Group
- Data School
- Курс по машинному обучению Юрия Кашницкого.
- Data Science Guy
Телеграм-каналы:
- JustDataScience
- Small Data Science for Russian Adventurers
- Power of Data
- Data Place
- This is Data
- DataEng Chat
Блог на reddit.com:
- Data Engineering Subreddit
Инструменты:
- Apache Airflow платформа позволяет планировать и контролировать рабочие процессы в Python
- Apache Spark унифицированный аналитический механизм для обработки крупномасштабных данных
- Apache Kafka распределенная потоковая платформа
- Luigi пакет Python, который помогает создавать сложные конвейеры пакетных заданий.
- Dagster.io система для создания современных приложений для работы с данными.
- Prefect включает все необходимое для создания и запуска приложений для работы с данными.
- Metaflow с легкостью создавайте реальные проекты в области науки о данных и управляйте ими
- lakeFS создавайте повторяющиеся, атомарные и версионные операции с озером данных – от сложных заданий ETL до науки о данных и аналитики
Кто такой Data Engineer
Андрей Павлов, Data Engineer. Работает с большими массивами данных в Сбере, в департаменте SberData
FAQ (Часто задаваемы вопросы)
С появлением глобального интернета, развитием онлайн-коммерции, социальных сетей количество сохраняемых человечеством данных начало расти с небывалой ранее скоростью. Желание освоить, обработать и использовать эту информацию для пользы своей компании / организации – становится главным трендом этого десятилетия. Но давайте посмотрим, какие конкретные задачи решает Data Engineering.
1. Поиск и упорядочивание огромных объемов сведений. Информация о профилях клиентов компании в соцсетях, их списке покупок, поведенческих сценариях в приложении – вся эта информация может быть очень полезной для бизнеса. Но без инженера, компании придется потратить невероятное количество времени и сил, чтобы собрать и посмотреть ее. Его профильные знания позволяют гораздо быстрее и проще собрать и сгруппировать ее по категориям, сделать удобной для анализа.
2. Увеличение скорости доставки информации целевому пользователю. Spark, Hadoop MapReduce – в арсенале инженера есть достаточный выбор программных продуктов, позволяющих обеспечить оптимальную для данного проекта скорость и формат обработки данных с выгрузкой на локальный сервер или облако.
Дата-инжиниринг – это достаточно сложная специальность, в которой нужный навыки из разных областей ИТ. Поэтому нередко ее осваивают не с нуля, а переходят из других профессий. Популярный вариант перемещения – это аналитика. ИТ-аналитики переходят, когда им хочется прокачать свои технические скиллы и научиться программировать, обычные аналитики – когда хочется работать с более сложными задачами, освоить автоматизацию, прокачаться в работе с таблицами.
Также может происходить переход с должности программистов, разработчиков. Интересно, что существует и обратный процесс, нередко инженеры со временем переходят в сайентисты, аналитики или сферу DevOps. Это зависит от личных особенностей, от того, в какую сторону хочется развиваться.
Высокая востребованность и сравнительная новизна профессии приводят к снижению требований работодателей в вопросах практического опыта. Чтобы устроиться работать в компанию или стартап на позиции начального уровня, иметь его желательно, но не обязательно. Главное на собеседовании продемонстрировать хорошее владение теоретической базой, желание развиваться, внимательность и скрупулезность.