Написать пост

Знать Scala — желательно, Spark — обязательно. Что нужно уметь начинающим и опытным дата-инженерам: исследование Яндекс Практикума

Аватарка пользователя Русана Талыбова

Яндекс Практикум изучил самые востребованные навыки для junior, middle и senior дата-инженеров. Разбираемся, где и как себя прокачивать, чтобы войти в профессию и расти в ней.

Инженер данных — направление, которое подразумевает владение множеством инструментов. Поэтому один из главных вопросов — какие из них осваивать прежде всего. Продуктовый исследователь Русана Талыбова вместе с командой Яндекс Практикума изучила около тысячи вакансий для начинающих и опытных дата-инженеров на hh.ru, провела серию интервью с нанимающими менеджерами и специалистами разных грейдов и составила список самых востребованных навыков в этом направлении. Разбираемся, где и как себя прокачивать, чтобы войти в профессию и расти в ней.

Потребность в дата-инженерах ежегодно растёт: согласно данным Indeed, число вакансий для них увеличилось на 400% за пять лет. Компании собирают больше данных, чем когда-либо прежде, оттого им нужны специалисты, способные управлять этой растущей махиной: разрабатывать хранилища и витрины, проектировать пайплайны, заниматься сбором, очисткой и структурированием данных и так далее.

В IT-сообществе справедливо вырос интерес к профессии. Сегодня в дата-инженеры чаще всего переходят разработчики и дата-аналитики. Если вы рассматриваете для себя это направление, то вам будут полезны выводы исследования.

Главные навыки начинающего дата-инженера

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

Именно с Python и SQL мы в первую очередь знакомим студентов, которые приходят в Яндекс Практикум осваивать профессию инженера данных с нуля. А более опытным – помогаем систематизировать и углубить знания.

На третьем месте по востребованности — английский язык (встречается в 24% вакансий для кандидатов без опыта). В крупных компаниях с международными командами обязательно знание письменного и разговорного английского.

Знать Scala — желательно, Spark — обязательно. Что нужно уметь начинающим и опытным дата-инженерам: исследование Яндекс Практикума 1
Навыки, которые часто упоминаются в вакансиях на hh.ru для позиций для дата-инженеров без опыта работы.

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

— Apache Hadoop

— Apache Spark

— Apache Airflow

— Greenplum

— HDFS

— ETL/ELT инструменты в целом

— DWH

Что добавляется к джунам+/мидлам

Зачастую рост в грейде не связан с увеличением технологий в стеке. Через серию интервью с дата-инженерами и анализ разницы позиций в вакансиях не обнаружено чётких отличий в инструментарии и спектре задач для джунов, мидлов, сеньоров — они универсальны для всех инженеров данных. По мере того как специалист начинает выполнять всё более сложные и многоступенчатые задачи, в его стеке могут появляться новые инструменты, но это сильно зависит от сферы, в которой он работает. В компаниях, где основной упор не на диджитал-продуктах и нет IT-специфики, что-то могут начать использовать позднее.

Знать Scala — желательно, Spark — обязательно. Что нужно уметь начинающим и опытным дата-инженерам: исследование Яндекс Практикума 2
Навыки, которые часто упоминаются в вакансиях на hh.ru для позиций для дата-инженеров с опытом 1–3 года.

Среди новых востребованных навыков для джунов+ и мидлов — это язык программирования Scala и фреймворк Spark, нужные для работы с большими данными, которых сейчас много в разных компаниях. Умение работать со Scala существенно повышает шансы на трудоустройство. Scala пока ещё нечасто встречается в описаниях вакансий, но уже на слуху в индустрии. Даже если язык не упомянут в требованиях к кандидату, вопрос о нём может возникнуть на собеседовании и стать веским преимуществом для работодателя. А Spark часто называют необходимым для дата-инженера начальных грейдов.

Главные навыки дата-инженера уровня мидл

В список навыков для опытных мидлов добавляются два навыка:

  • Автоматизация и Python
  • MongoDB как новый источник данных. 
Знать Scala — желательно, Spark — обязательно. Что нужно уметь начинающим и опытным дата-инженерам: исследование Яндекс Практикума 3
Навыки, которые часто упоминаются в вакансиях на hh.ru для позиций для middle дата-инженеров.

Главные навыки senior дата-инженера

Знать Scala — желательно, Spark — обязательно. Что нужно уметь начинающим и опытным дата-инженерам: исследование Яндекс Практикума 4
Навыки, которые часто упоминаются в вакансиях на hh.ru для позиций для senior дата-инженеров.

Что нужно знать, чтобы расти в грейде

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

В дата-инжиниринге, как и в других IT-направлениях, специалисты растут в двух вариациях:

1. Техническая. Специалист может выполнять более сложные задачи с имеющимися инструментами в минимальном стеке (например, более глубокое погружение в Python, Hadoop, Spark, др.). Кроме того, можно начать изучать навык, который даёт преимущество на рынке, или технолугию, которая сейчас развивается в сфере (например, Apache Kafka и другие инструменты, необходимые для работы со стримингом).

2. Софтовая. Предполагает развитие софт-скиллов — организационные скиллы, и как отдельный стрим — менеджмент для сеньорных дата-инженеров.

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

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

Пакетная обработка данных — то, с чего начинался дата-инжиниринг. При такой обработке изменения накапливаются на источнике и затем одновременно (пакетом) отправляются в аналитическую систему — например, раз в час или день. Что нужно знать для того, чтобы выполнять задачи в этом классическом подходе:

  • SQL и классические реляционные СУБД — PostgreSQL, Oracle, MySQL и так далее. Список самых популярных баз данных можно отслеживать здесь. Кроме того, при работе с базами важно различать транзакционную (OLTP, точечная интенсивная модификация записей) и аналитическую (OLAP, обработка и анализ больших массивов записей) работу с данными.
  • Также есть NoSQL и NewSQL — виды СУБД, которые отличаются от классических (документоориентированные, графовые, key-value и так далее).
  • Инструменты хранения и обработки данных, которые включают поддержку параллельной обработки. Для этих процессов используются Hadoop, различные MPP-СУБД, а также Spark — открытый фреймворк для распределённой обработки неструктурированных и слабоструктурированных данных.

Второе направление — это стриминг (realtime streaming pipeline), который позволяет обрабатывать и анализировать потоки данных в режиме реального времени. Потоковая обработка данных — актуальный тренд в аналитике. Здесь совершенно другие принципы и мировоззрение. Технологии: NiFi, Kafka Streams, Spark Streaming, Flink.

Кроме перечисленного дата-инженеру, впрочем, как и любому человеку, который имеет дело с данными, важно уверенно владеть командной строкой Linux.

Дата-инженеру неизбежно придётся иметь дело с облачной архитектурой. Работа с инфраструктурой отличается от компании к компании, где-то используют решения, поставляемые облачными вендорами, — например, dataproc/data vault в Yandex Cloud. Где-то разворачивают opensource ПО или ПО сторонних вендоров в облаке или своих дата-центрах (дистрибутив Arenadata, Postgres Pro и другие). Некоторые международные компании всё ещё пользуются западными вендорами ПО и облачными провайдерами (Databricks, Cloudera, Snowflake; AWS, GCP). Какое решение вам попадётся, сильно зависит от компании, но переход между большинством вендоров достаточно прямолинейный: принципы в основе (да и технологии, тот же Postgres (-> Greenplum, Vertica, RedShift/Aurora), Hadoop) у многих одни и те же.

Софт-скиллы нужны не только тимлиду и менеджеру

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

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

Следите за новыми постами
Следите за новыми постами по любимым темам
221 открытий3К показов