meggerry 06 июня 2021

📊 Кто такой дата-инженер, чем он занимается и что должен знать?

Работа с большими объёмами данных – удел инженеров. Они помогают бизнесу собирать, хранить и обрабатывать информацию, чтобы можно было извлечь из нее новые знания.
📊 Кто такой дата-инженер, чем он занимается и что должен знать?


*Слово “дата” используется нами в значении английского термина data – информация (данные).

Причём здесь дата и почему ею должен заниматься целый инженер?

Учёный может открыть новую звезду, но не сможет её создать. Ему придётся просить инженера сделать это.
Гордон Линдсей Глегг

Информация может быть разной: от статистических данных потребителей зубной пасты до списка переменных и их значений в условиях некой формулы. Как раз благодаря возможностям сбора, накапливания и последующей обработки данных получилось создать все концепции и технологии “умных” городов, “интеллектуальных” алгоритмов рекомендаций и прочие новомодные взаимодействия с информацией.

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

Накопленная информация сама по себе ничего не даёт: для получения выгоды её нужно обработать. Тут в дело вступает дата-инженер.

Чем дата-инженер отличается от аналитика?

📊 Кто такой дата-инженер, чем он занимается и что должен знать?
Дата-инженер (от англ. data engineer), как можно понять по названию профессии, напрямую занимается доставкой, хранением и обработкой информации. Он выстраивает рабочие процессы, конвейеры обработки данных и ETL-процессы (обработка/преобразование информации).

Термин дата-сайентист (от англ. data scientist) у всех на слуху и обозначает коллегу дата-инженера. С учётом современных трендов на объединение или работу в команде, штатные единицы сайентиста (ученого, аналитика) и инженера представлены либо в одном лице, либо эти специалисты тесно сотрудничают друг с другом.

Итак, инженер выстраивает все каналы связи – от процесса сбора информации до её преобразования в нужный формат. Как в каком-нибудь промышленном симуляторе Factorio или Satisfactory: он находит источник данных, выстраивает конвейер для их передачи, а также создаёт инфраструктуру для обрабоки и преобразования информации.

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

Что нужно знать дата-инженеру?

Так как наша задача – собрать данные, сохранить их, преобразовать и отдать дальше, то основными языками для инженера являются Python и SQL. С учётом популярности облачных технологий – ещё и Java (вкупе с её универсальностью). Нужно также разбираться в облачных платформах.

Для первичной обработки информации и организации её хранения инженеру понадобятся знания бекенда и в области разработки ПО. В качестве основного и самого популярного хранилища выступают СУБД (SQL и noSQL), поэтому в начале пути можно сфокусироваться на них.

Базовые требования

📊 Кто такой дата-инженер, чем он занимается и что должен знать?

Дата-инженер работает с данными, а значит ему нужно знать о данных всё:

  • Алгоритмы и структуры данных. Здесь важна не теоретическая подготовка с вызубренными определениями, а понимание всех рабочих процессов. К примеру, на Udemy есть курс, полностью посвящённый данным, их типам и структурам.
  • SQL – язык структурированных запросов. Почти каждая реляционная СУБД поддерживает этот язык организации запросов для получения или обработки данных. Он не слишком сложен, к тому же есть хороший учебник, водящий “за руку” по всем понятиями и возможностям SQL.
  • Python, Java/Scala. Python считается одним из лучших языков для работы с данными (и, определенно, самым популярным), а Java/Scala следует знать, поскольку на них написаны почти все инструменты для работы с информацией.
  • Инструменты для работы с большими данными (Hadoop, Spark, Kafka).
  • Облачные платформы (MS Azure или Amazon Web Services).
  • Распределённые системы. Большие объёмы данных предполагают, что работать с ними придётся в кластерах. Новичкам стоит прочесть книгу Эндрю Таненбаума “Распределённые системы”. Для начала она может показаться сложной, но потом это пройдет.
  • Конвейеры данных. Выстраивание путей сбора, обработки и хранения информации занимают большую часть рабочего времени дата-инженера.

Заключение

От дата-инженера напрямую зависит возможность компании получать развиваться, получая ценность из генерируемой ею информации. Тренд на обработку данных, особенно в больших объёмах, только усиливается – в обозримом будущем представители этой профессии не будут иметь проблем с трудоустройством.

Порог входа в профессию довольно высок, причём даже от новичка требуется понимание технологий, а не простое заучивание методов работы с инструментами, но в итоге потраченные усилия окупятся.

***

Хочу подтянуть знания по математике, но не знаю, с чего начать. Что делать?

Если базовые концепции языка программирования можно достаточно быстро освоить самостоятельно, то с математикой могут возникнуть сложности. Чтобы помочь освоить математический инструментарий, «Библиотека программиста» совместно с преподавателями ВМК МГУ разработала курс по математике для Data Science, на котором вы:

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

Курс подойдет как начинающим специалистам, так и действующим программистам и аналитикам, которые хотят повысить свой уровень или перейти в новую область.

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ