iTechArt logo

Кто такие Data Engineers и чем они занимаются

Development & QA

Сложно представить современный мир без Big Data: с обработанными и «большими данными» мы встречаемся ежедневно. На основе их генерируются рекомендации на стриминговом сервисе, любимые еженедельные плейлисты Spotify. Но кто обеспечивает функционирование Big Data, структурирует огромные объемы данных, чтобы они приносили пользу?

Data Engineer — относительно новая, но очень востребованная профессия. Об обязанностях специалиста, специфике работы и необходимых знаниях рассказал Software Engineer iTechArt Денис Сокол.

Наш собеседник
Денис Сокол.jpg

Денис Сокол

Software Engineer iTechArt

Обращает внимание, что для Data Engineer критически важно уметь работать с большим технологическим стеком.

Чем занимается Data Engineer?

  • Выбором наиболее подходящей архитектуры, использующейся для хранения информации;
  • Созданием инфраструктуры, обрабатывающей данные, и поддержкой ее функционирования;
  • Устранением в полученной системе ошибок и багов;
  • Структурированием данных, очисткой от «шумов» — невалидной информации, — приведением их к единому формату;
  • Постоянным совершенствованием системы хранения и обработки данных, улучшением ее характеристик (например, увеличением скорости извлечения данных) и расширением возможностей для более быстрой и точной работы с Big Data;
  • Настройкой кластера на десятки или сотни серверов для хранения и обработки данных;
  • Контролем и поддержкой различных потоков данных и связанных с ними систем (мониторинг алертов, уведомляющих об изменениях, произошедших в системе, что позволяет вовремя среагировать на проблему).

Какими навыками должен обладать Data Engineer?

Data Engineer должен понимать, как работают данные, иметь хорошие аналитические способности и уметь работать с большим технологическим стеком, а именно:

  • С языками программирования. Наиболее распространенный — Python, часто сталкиваюсь и со Scala. Некоторые фреймворки поддерживают только этот язык, поэтому знание Scala точно не будет лишним. Гораздо реже мне встречается Java, но забывать про него не стоит.
  • Важно понимать, какие бывают хранилища, какой формат будет наиболее эффективен в разрезе конкретного случая и т.д.
  • С базами данных: SQL & NoSQL: PostgreSQL, Oracle, MongoDB, Cassandra.
  • С операционными системами UNIX — Windows в работе встречается крайне редко.
  • С облачными системами: AWS, Google, Azure.
  • С BI tools: Tableau, PowerBI, QlikView, ELK. Верно, Data Engineer тоже должен уметь работать с визуализацией данных. Обладая подобным навыком, Data Engineer сможет самостоятельно подготовить черновой вариант графиков, диаграмм и таблиц на основе Big Data, который будет представлен PM и клиенту на согласование. Это позволит на более ранних этапах разработки системы хранения и обработки данных определить корректность выбранных инженером по информации решений, структур и сортировочных характеристик.
  • Необходимо владение техническим стеком Big Data: Hadoop, Hive, Spark, Kafka. А еще знание ETL tools & frameworks: Informatica, Pentaho, Talend, Apache Camel, Spring Batch/Integration.

Data Engineer и взаимосвязь с другими специалистами

В рамках проектных задач Data Engineer больше всего контактирует с Data Scientist. Этот специалист на основе данных, полученных от Data Engineer, проводит аналитическую работу, выделяет информацию, несущую для компании business value, составляет итоговую визуализацию проекта для клиента. Существует также специалист, который может работать на проекте на позици Data Scientist: Data Analyst.

Сравним обязанности каждого из них:

  • Data Engineer — тот, кто разрабатывает, тестирует и поддерживает инфраструктуру системы с данными. Также в его обязанности входит обработка данных, их очистка и структурирование. Готовая, подогнанная к единому виду информация передается для работы Data Scientist или Data Analyst. Инструменты, с которыми работают Data Analyst и Data Engineer, похожи, так же, как и обязанности специалистов: оба применяют в работе Tableau, SQL и даже Python, однако с их помощью достигают разных целей.
  • Data Analyst анализирует полученную информацию, извлекая ту, что несет Business Value, визуализирует данные и переводит в формат, понятный заказчику. В основном, аналитики коммуницируют со стейкхолдерами компании, предоставляют им ежедневные и еженедельные отчеты с результатами работы. 
  • Что касается Data Scientist, это специалист, обладающий большим набором технических навыков, знаниями Big Data, в равной степени как и прокачанными soft skills. Наряду с Data Analyst занимается анализом информации, A/B-тестированием, визуализацией. Но, в отличие от первого, может создавать на проекте модели данных с помощью алгоритмов машинного обучения и нейросетей, чем помогает клиенту раскрывать новые закономерности бизнес-процессов и получать расширенные прогнозы.

Подробнее о работе Data Scientist расскажем в блоге совсем скоро! Следи за обновлениями в наших социальных сетях, чтобы не пропустить выход новой статьи.