logo

Кто такой data engineer, сколько он зарабатывает и как им стать

Анна Ильяшенко
Автор полезных текстов, MC.today
Розкажіть про статтю:

Работа с данными делает нашу жизнь проще: мы можем строить маршруты на картах, получать рекомендованные фильмы и музыку от приложений, заказывать еду и одежду онлайн. Чтобы это было возможно, нужно обрабатывать много разных данных. Чаще всего такие данные хранятся в облачных хранилищах. Из-за спроса на такую обработку, появились новые профессии. Например, инженер данных – data engi­neer.

Редакция MC.today разобралась, кто такой data engi­neer, сколько он зарабатывает и что нужно знать, чтобы им стать.


Кто такой data engineer и что он делает

Большое количество разрозненных данных называют big data – большими данными. Это может быть что угодно: текст, изображения, координаты, цифры. Главная характеристика больших данных – их разрозненность, то есть разные форматы, и большие объемы информации.

Исследование Cloud Com­put­ing 2020 от IDG говорит, что 92% IT-компаний хранят свои данные в облачных хранилищах хотя бы частично. Значит, таким компаниям нужны специалисты по обработке облачных данных.

Data engi­neer – специалист, который собирает, хранит и обрабатывает такие данные. Часто big data используют для создания и обучения моделей искусственного интеллекта (ИИ). Если мы посмотрим на пирамиду потребностей ИИ, первые три этапа – то, что делает data engi­neer: сбор, перемещение/хранение, исследование/подготовка данных.

Data engi­neer может создать систему, в которой будут храниться отчеты по аналитике компании за какой-то период. То есть такая система будет собирать данные из разных источников, хранить их в нужном виде и обрабатывать так, чтобы конечный пользователь мог разобраться. Например, выводить в таблицу.

Так инженеры данных создали программу для Geisinger Health Sys­tem (медицинская клиника в США. – Прим. ред.). Geisinger Health Sys­tem одни из первых ввели электронные медкарты для своих пациентов. Но данные хранились разрозненно, и медикам было сложно «достать» хоть какую-то важную информацию. Инженеры данных разработали программу, которая обрабатывает все данные пациентов и клиники. Программа помогает находить болезни на ранних стадиях, а еще следит за поставками и расходами клиники.

Другой пример работы инженера данных – система для «умного» дома, которая будет сообщать о неполадках. В этом случае данные нужно собирать и обрабатывать «на ходу».

Инженеры данных и data sci­en­tist вошли в список самых востребованных профессий на LinkedIn. А согласно отчету Dice Tech Job за 2020 год, популярность профессии data engi­neer выросла на 50% за год.

Чем data engineer полезен бизнесу

Количество данных, которое мы производим каждый день, постоянно растет. Например, к 2025 году ожидают, что мы будем производить 463 эксабайта данных в день, это можно сравнить с 212 765 957 DVD в день. Часть этих данных нужно обработать, чтобы принять то или иное бизнес-решение. 

Поэтому инженер данных может работать в разных компаниях. Например, в туризме, финансах, безопасности, электронной коммерции. Подойдет любая сфера, где есть большие объемы информации разного вида. Глобально инженер данных помогает избавиться от «анархии в данных».

Data engi­neer делает для бизнеса следующее:

  • собирает информацию о продукте и/или клиентах из разных источников;
  • сортирует и обрабатывает информацию так, чтобы с ней можно было работать дальше;
  • организовывает безопасное хранение данных.

Все это инженер данных делает с помощью разных инструментов и языков программирования.

Чем data engineer отличается от data scientist и data analyst

Все три специальности – data engi­neer, data sci­en­tist и data ana­lyst – занимаются сбором, обработкой и анализом данных. У каждого специалиста есть свой набор задач. Обычно все три инженера работают вместе и дополняют друг друга.

Как мы уже разобрались, data engi­neer собирает данные из разных источников, обрабатывает и подготавливает их для дальнейшей работы. Если вернуться к пирамиде потребностей искусственного интеллекта, задачи инженера данных – это первые несколько ступеней. Следующие ступени – то, что делают data sci­en­tist и data ana­lyst.

Data sci­en­tist анализирует данные, которые собрал и подготовил data engi­neer. После анализа data sci­en­tist делает прогнозы, которые помогают в дальнейшей работе. Например, после такого анализа можно понять, как увеличить продажи или кому стоит выдавать кредит в банке, а кому – нет. То есть data sci­en­tist «превращает» данные в бизнес-решения или модели, которые можно использовать для машинного обучения.

Data ana­lyst – аналитик данных – тоже анализирует данные, но не составляет прогнозы и не обучает искусственный интеллект. Аналитик переводит данные, которые проанализировал, в понятный формат для клиента или пользователя. Например, в диаграммы или инфографику. После чего клиент может принимать решения для бизнеса или проекта.

Если посмотреть на диаграмму ниже, data sci­en­tist нужно знать математику, статистику, алгоритмы, программирование и способы передачи данных. Data engi­neer захватывает математику, статистику, алгоритмы и программирование. А data ana­lyst – передачу данных, математику, статистику и алгоритмы.

Среди всех троих только инженер данных работает с полностью «сырыми», то есть необработанными данными. Остальные два специалиста работают с тем, что для них предварительно подготовил инженер.

Какие обязанности у инженера данных

Одна из главных обязанностей data engi­neer – структурирование данных компании. Инженер данных может строить ETL/ELT pipelines (системы для извлечения, загрузки и преобразования данных. – Прим. ред.) и инфраструктуры данных.

Часто инженеры данных связаны почти со всем, что касается автоматизации процессов в компании. Например, инженер данных Николас Леонг в своем блоге рассказывает, как автоматизировал работу с данным от сервиса Gmail для своей компании.  

Что нужно, чтобы стать data engineer

Инженеру данных нужно уметь программировать, работать с алгоритмами и структурами данных. В другой своей статье Николас Леонг пишет, что инженер данных должен знать:

  • языки программирования – SQL и Python;
  • базы данных SQL и NoSQL;
  • технологии для работы с данными ETL/ELT – Apache Air­flow, Hadoop;
  • инструменты для передачи данных, например Apache Beam;
  • облачные инфраструктуры.

Теренс Шин, Data Sci­en­tist, провел собственный анализ на основе 17 тысяч вакансий и выделил 25 главных навыков для data engi­neer.

Среди них:

  • Python;
  • SQL;
  • AWS;
  • Spark;
  • Java.

Отдельно Теренс определил, знание каких языков программирования ждет работодатель от инженера данных.

Самыми популярными оказались:

  • Python;
  • SQL;
  • Java;
  • Scala;
  • R.

Где учиться, чтобы стать data engineer

Курсы

Инженеру данных нужно понимать, как работают алгоритмы и структуры данных. Можно начать изучение с бесплатных курсов. 

Например:

Книги

Видео, блоги и подкасты

Data engi­neer ближе всего к back­end-разработке. Это программно-аппаратная часть сервиса, которая отвечает за «внутреннюю» часть сайта или приложения. Если вы уже работаете в IT, проще всего перейти в инженерию данных именно из программирования. Об этом говорит Роксолана Дячук, Big Data Devel­op­er из Cap­ti­fy. Разработчица пишет, что на украинском рынке больше всего нужны специалисты, которые знают языки Python или Scala, третий популярный язык – Java. Она советует изучить вакансии и требования работодателей до того, как выбрать, какой язык учить. Еще очень важно иметь аналитические навыки и хорошо знать SQL.

Для развития в профессии Роксолана советует проходить курсы и стажировки. Но лучше всего, по мнению разработчицы, помогает менторинг. Ментором может стать ваш старший коллега на работе.

Что касается дальнейшего роста, из data engi­neer можно стать data sci­en­tist, data ana­lyst или немного сменить направление развития и перейти на специальность, которая относится к DevOps (специалисты, которые занимаются построением инфраструктур и синхронизацией всех процессов разработки. – Прим. ред).

Сейчас направление data engi­neer в Украине только развивается, поэтому есть много возможностей для тех, кто хочет освоить профессию.

Сколько зарабатывает data engineer

По статистике Glass­door, инженер данных в США получает в среднем $111 876 в год или $9323 в месяц.

Исследование зарплат портала DOU за зиму 2021 года показало, что big data engi­neer в среднем зарабатывают $3 тыс.

Начинающий инженер данных может зарабатывать $600 в месяц. Для этого нужно знать SQL на базовом уровне, ООП (объектно ориентированное программирование. – Прим. ред.), HTML/XML и иметь опыт работы с TableAU, Look­er или MicroS­trat­e­gy.

Если у вас есть сертификация Azure, можно работать в другой стране и зарабатывать $2,5–3 тыс. в месяц. Для подобной позиции в Словакии нужно иметь высшее образование в IT, хорошо знать SQL, Python, PyS­park, C#. Еще желательна сертификация и опыт работы с инструментами Azure.

Опытный специалист, у которого 3–5 лет и больше опыта работы, может зарабатывать $5–8 тыс. и работать удаленно.

Для такой позиции работодатель ждет 5+ лет опыта в программировании, 3+ года опыта в инженерии данных, 2+ года опыта работы с инструментами Cloud­era stack (Kaf­ka, Flume, Impala, Kudu), опыт работы с облачными технологиями (S3, par­quet, EMR, Air­Flow, Kine­sis, Big­Query), знание Python или Scala и понимание бизнес-процессов.