Data Engineer – популярная и востребованная специальность. В последние годы спрос на таких специалистов только растет. Но чем они занимаются? Что входит в их обязанности и чем они выделяются на фоне остальных профессий? Сегодня попробуем разобраться с профессией и ответим на все главные вопросы, расскажем о зарплатах и важных аспектах индустрии. Кто знает, может быть это профессия идеально вам подойдет?
Кто такой Data Engineer
Data Engineer или Дата-инженер – специалисты, которые занимается построением и обслуживанием инфраструктуры для работы с данными. Также Data Engineer занимается их предварительной обработкой. Специалист не принимает участие в анализе собранных данных, а лишь обеспечивает аналитиков всеми необходимыми для этого инструментами и мощностями. Таких специалистов называют еще и Big Data Engineer из-за того, что им приходится работать с большими объемами информации.
Работа с данными имеет четкую структуру, которая называется ETL.
Extract (извлекает) данные из сырых источников;
Transform (трансформирует) трансформирует и организовывает их;
Load (загружает).
Чем занимается и за что отвечает Data Engineer
Вот, что входит в базовый перечень задач Data Engineer:
Разработка системы для работы с данными: разные инструменты, сервисы, хранилища для данных;
Сбор данных. Источников может быть очень много, и они могут сильно отличаться. Кто-то собирает записи с камер видеонаблюдения, а кто-то сверяет накладные по отправкам, но вся необходимая информация должна попадать в единое хранилище и быть структурирована;
Очистка данных. Массивы данных должны не должны быть необработанными. После извлечения их проверяют и чистят. Данные должны быть без дублей, лишней информации, ошибок или поврежденных файлов;
Структурирование данных. Когда Data Engineer достал все данные, проверил их на наличие ошибок/мусора и так далее, дальше он их систематизирует, отталкиваясь от нужд компании;
Создание пайплайнов. Пайплайн – процесс перемещения данных от источника к месту назначения. В качестве финальной точки данных выступают инструменты для работы с ними;
Иметь навыки работы с инструментами. Он регулярно занимается обновлением и улучшением инструментов для работы с данными, чтобы процессы были быстрее, сотрудникам было проще работать.
Для наглядности системы работы Data Engineer, возьмем за основу пример крупной торговой компании.
«Руководство решило, что компании необходима смарт система закупок. Ее главная задача – расчет и заказ товаров у поставщиков. Система должна сама рассчитывать сколько и какого товара заказать, отталкиваясь от его наличия на полках и складах. Что для этого нужно? Собрать данные, которые помогут реализовать данный проект. В их числе будут:
Данные из мобильного приложения, данные с сайта, данные из кассовых аппаратов, CRM- системы и так далее. И после того, как у Data Engineer будет весь необходимы набор данных, он будет их структурировать и чистить».
Чем отличается профессия Data Engineer от Data Scientist
Сразу обозначим то, что специальности смежные и Data Engineer с Data Scientist являются коллегами.
Дата-инженер занимается сбором данных, проверяет их, сохраняет и готовит к отправке. Потом, весь материал, что он подготовил, он передает в работу дата сайентисту.
Data Scientist уже использует полученную информацию, анализирует ее и создает модели машинного обучения.
Получается так, что два специалиста должны работать сообща. Инженер предоставляет данные, а Data Scientist после доставки, анализирует и применяет их.
Есть вакансии, которые совмещают в себе две профессии. Это редкость и часто встречаются у мелких компаний и бизнеса, который только начинает расти. В крупных компаниях такие специальности всегда разделены и нанимаются отдельные сотрудники.
Плюсы и минусы профессии
Плюсы профессии:
Высокий уровень зарплаты;
Востребованная профессия, которая становится все популярнее;
Нехватка специалистов. Да, работников много, но профессионалов еще не хватает. Это касается, как рынка РФ, так и Европы;
Большое число вариантов карьерного роста и личного развития, как специалиста.
Минусы:
Сложно попасть в индустрию из-за выского уровня конкуренции;
Огромное количество разных инструментов для работы. Какие-то компании используют один набор, другие – другой. Нужно либо учить все и сразу, либо ориентироваться под рост и развитие в одной конкретной компании. Во втором случае, сменить работу будет очень сложно;
Нет четких требований и критериев. Профессия не так давно на рынке, поэтому работодатели иногда путаются или просто не понимает, что находится в пуле обязанностей Data Engineer. Вы встретите на своем пути ситуации, с вакансией «Data Engineer», а на собеседовании узнаете, что нужен аналитик. Вас могут принять на работу по специальности «Data Engineer», а заниматься вы будете совсем другими вещами.
Обязательные навыки и знания для профессии
Знать и уметь нужно много, если хочется хорошую должность. Даже новичкам нужны базовые знания во всех следующих сферах, которые мы будем описывать. Начнем.
Облачные технологии. Мы знаем, что Data Engineer работает с большими объемами информации. Компании просто покупают/берут в аренду места на cloud services. Это и выгоднее, и дешевле, чем покупать все для обустройства собственной серверной. Поэтому, Data Engineer обязан изучить данную систему и уметь создавать инфраструктуру на базе облака.
Структура данных и алгоритмы. Понимать математику и информатику – большой плюс. В комбинации со знанием алгоритмов это поможет Data Engineer коммуницировать с Data Scientist. Коннект между этими двумя специалистами поможет оптимизировать и упростить множество процессов во время работы. А понимание о данных (их формате, сохранении и так далее) помогут для грамотной работы с ними.
SQL. Умение работать с классическими базами данных и извлекать информацию, при помощи SQL-запросов является обязательным. Вот ряд самых популярных и востребованных инсутрментов для профессии: Apache Spark, Apache Kafka, Apache Hadoop (HDFS, HBase, Hive), Apache Cassandra.
SQL поддерживается всеми современными хранилищами: Amazon Redshift, HP Vertica, Oracle, SQL Server.
Владеть языками программирования. Основа для каждого Data Engineer – Python. Без него не написать ни один алгоритм для обработки данных. Java и Scala – важное дополнение к Питону. Они нужны для написания и создания инструментов для работы с данными.
Инструменты для работы с большими объемами данных.
Инструментов, которые необходимы специалисту для работы большое количество, но есть ряд обязательных, которые точно пригодятся. В ряд обязательных включены: Hadoop, Spark, Kafka.
Сколько зарабатывают специалисты Data Engineer
Профессия входит в тренды рынка. Согласно статистике и порталу Работа.ру средняя зарплата специалиста в сфере Data Engineer составляет от 158 00 рублей до 230 000 рублей. Максимальный показатель, который есть среди предложений составляет 338 000 рублей.
Новичков готовы взять, начиная с 50 000 – 80 000 рублей. Рост зарплаты в зависимости от уровня навыков заметен невооруженным взглядом. Есть куда стремиться.
Что касается формата работы, то есть, как варианты на удаленной основе, так и работа в офисе. Кто-то может предложить смешанные ил альтернативные форматы. Все зависит о работодателя.
Где нужен Data Engineer? Куда идти работать?
Data Engineer может пригодиться в разных сферах, где есть необходимость работы с большими объемами данных и информации. Это может быть, как сектор туризма, отельного бизнеса, сети магазинов, заправок, банковская система, сектор электронной коммерции. Продолжать можно список бесконечно. И тенденция на востребованность таких специалистов только растет. Прогнозы таковы, что специальность не выйдет из топа трендов рынка в ближайшие годы.
Насколько востребована профессия?
Несмотря на мировые потрясения и события, компании растут, бизнес развивается и не останавливается. Каждый день открываются новые проекты, а значит, общее число данных в мире увеличивается. И компании это понимают, они ищут профессионалов, которые не просто смогут работать с данными, а искать новые пути оптимизации, упрощения работы с информацией.
Сегодня в 2023 году, на сайте Headhunter активны более 1 500 вакансий для Data Engineer.
А если посмотреть на статистику и вакансии в США или Европе на портале Indeed, то можно увидеть вакансии с зарплатой в 300 000 долларов США в год. Потребность в специалистах есть во всем мире.
Как стать Data Engineer и с чего начать?
Профессия не самая легкая в освоении, но все возможно, если есть желание и упорство. Инженер должен понимать принципы работы баз данных и структур, которые лежат в их основе. Например:
«B-tree SQL базы данных основаны на структуре данных B-Tree, а также, в современных распределенных репозиториях, LSM-Tree и других модификациях хеш-таблиц».
Первое, что придется освоить – базовые навыки специалиста. Он должен знать:
Структура данных;
Языки программирования;
SQL;
Хранилища (облачные, в том числе).
В индустрию проще попасть не с нуля. Удобно если есть хоть небольшой опыт работы в ИТ, навыки программиста или разработчиков.
Например, программисту, который работает по своему профилю и параллельно учится на дата-инженера.
Второе, что очень важно – опыт. Желательно иметь реальный опыт в работе над проектами, даже небольшими, как участие в стартапе. Это может стать хорошим дополнением вашего портфолио и подарить бесценные знания. Работодатели обращают внимание на реальный опыт и работу над проектами по специальности (с большими объемами данных). Ищите такую возможность и старайтесь получить больше опыта в процессе учебы. Если вы будете учиться на курсах, то там будут практические занятия и возможные стажировки. Старайтесь попасть на вакантные места, неважно как – главное получить результат.
Третье. Работа и рост. Первое время попасть на работу будет нелегко: конкуренция, нехватка опыта, не такое обширное резюме. Главное – не сдаваться и устроиться на работу и регулярно совершенствовать навыки.
Советы от экспертов и полезные ссылки на ресурсы
Первое, что стоит сделать – выбрать формат обучения. Высшее образование иметь необязательно. Это может быть самообразование онлайн или полноценная учеба на курсах. Курсов и образовательных площадок очень много. Выбирайте те варианты, где предлагают большое количество часов практики, помощь с трудоустройством или стажировку.
Многие площадки предлагают бесплатный курс или лекцию. Не игнорируйте. Такие видео помогают выбрать подходящую платформу.
Самообразование может подойти для тех, кто уже работает в смежной сфере. Будущий инженер может так или иначе поучаствовать в проектах, связанных внутри компании, где он уже работает или поговорить с начальников о смене специализации.
Но, никогда не бросайте развиваться, обновлять и повышать свои скилы. Хорошее качество профессионала – гибкость и готовность использовать новые инструменты, отказываясь от старых.
Что касается ресурсов и литературы, которая популярна и проверена специалистами из разных стран:
Литература
Learning Spark;
Designing Data-Intensive Applications; https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/
Introduction to Algorithms. https://www.amazon.com/gp/product/0262033844/
Онлайн-курсы по Data Engineering https://eddu.pro/analytics/data-engineering/
И несколько полезных блогов, которые можно посмотреть, в том числе и на YouTube:
Введение в базы данных от CMU Database Group – Intro to Database Systems;
Цикл видео о работе с базами данных от CMU Database Group – Advanced Database Systems;
Подкаст для инженеров данных – Data Engineering Podcast;
Блог Towards Data Science.