Data Engineer: как освоить профессию и какие у неё преимущества
ИТ ИТ

Data Engineer: как освоить профессию и какие у неё преимущества


Васильев Никита, Senior Data Engineer "Дататех" (ВТБ).

Когда освещают такую область, как искусственный интеллект, машинное обучение, моделирование данных, очень часто говорят о таких профессиях, как дата сайнтист, чуть реже аналитик данных (eng - Data Scientist, Data Analyst), но очень редко упоминается инженер данных (eng - Data Engineer). На самом же деле, профессия дата инженера является фундаментальной для этих областей, она отвечает в первую очередь за структкрирование, обработку и передачу данных.

Если вы пытаетесь построить модель на плохих данных, какой бы идеальных у вас алгоритм не был, в этом смысла не будет. Именно поэтому на первом этапе всегда пытаются улучшить данные, это основной вклад в модель.

Приведем пример немного более приближенный к жизни. Представим, что дата сайнтист это повар, который готовит борщ. Абсолютно естественно, что для приготовления борща ему требуются продукты, которые сами собой не появляются в холодильнике. Давайте же представим, что мы инвестируем в процесс, где повар сам должен добывать продукты - часами ходить по разным продуктовым магазинам и рынкам в поисках качественных и нужных ингредиентов. Появляется вопрос - а когда же повар будет успевать готовить? Ведь зарабатываем мы именно с продажи борща. Так и в области искусственного интеллекта, то, из чего готовит дата сайнтист, это данные. Их они, конечно же, по всей компании не ходят и не ищут. Дата инженеры подготавливают данные и складывают их туда, откуда датасайнтист может их с легкостью забрать.

Основные зоны ответственности DE:

  • разбираться в источниках данных и их наполнении

  • предобработка данных

  • транспортировка и сбор данных в конечном, для пользователя, месте

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

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

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

Данные нужны, как для бухгалтерского учета, так и для различной продуктовой или управленческой отчетности. Специалистов очень не хватает и зачастую можно увидеть, что дата сайнтистам приходится 60% времени тратить на работу дата инженера.

А что же по зарплатам, спросите вы. Дата сайнтисты специалисты «высшей лиги», владеют глубокими знаниями не только в предметной области, инструментах, но и в математике. Что же остается инженеру данных? В нашем примере с кухней, сложно представить, что сборщики продуктов, получают больше профессиональных поваров.

В реальности из-за острой нехватки специалистов в этой области, зарплаты на рынке у даты инженеров ничуть не отстают от дата сайнтиста, а порой даже уходят далеко вперед.

 

Какие же шаги нужны для освоения этой профессии

Тут стоит отметить, что требования от компании к компании могут отличаться, но мы всё-таки попробуем вывести формулу, по которой можно стать востребованным в этой профессии.

Первый пункт это SQL - язык для написания запросов в базу данных. Это некий базис, на который накладывается все остальное — это умение манипулировать данными. Если компания небольшая и у нас все данные хранятся в одной базе, то даже этого навыка может хватить. Интересный нюанс, что этот язык еще и легкий для освоения, и на моей практике, людям, не владеющим навыками программирования, зачастую хватало пары недель для базового понимания.

Если же всё-таки источники у нас лежат не в одной базе, то появляется необходимость во втором пункте, это python. Сейчас это один и самых распространенных языков программирования, и он тоже славится своим низким порогом входа. С помощью него уже можно реализовывать подключение в разным базам данных и собирать необходимые витрины (таблицы с данными).

Когда же данных становится совсем много и их объемы уже не помещаются в память рабочего пространства, то время переходить на следующий пункт - распределение вычисления. Один из самых популярных на сегодня это спарк (Spark). Он удачно сочетает в себе скорость работы и обработку больших объемов данных.

И четвертый пункт - advanced. Когда мы разобрались с работой со спарком, могут появиться узкие моменты с тем, что спарк написан на языке scala. И для дальнейшей оптимизации лучше воспользоваться нативным языком программирования Scala.

 

Где можно изучать

Сейчас есть множество открытых источников для изучения. Один из них — это, конечно же, книги. Но если они кажутся вам перегруженные терминологией и отсутствие наглядной информации погружает в ступор, то есть альтернативные варианты с легковесными курсами на разных платформах, в том числе YouTube. Такие курсы дают общее представление и уже с ним гораздо легче начинает восприниматься информация в тех же книгах. Хотя и дальше изучение можно продолжать по видео урокам и тренировать практику написания кода на сайтах с заданиями по языку.

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

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


Не менее интересные публикации