Big Data или Большие Данные давно перестали быть чем-то виртуальным и активно применяются в повседневной деятельности крупных компаний, органов власти, социальных сетей и любых видах деятельности, где используются большим массивы разнообразной информации. Одним из специалистов, занимающихся сбором и обработкой данных, выступает Data Engineer. Или дата-инженер в русскоязычном варианте. Рассмотрим специфику профессии, должностные обязанности специалиста, карьерные перспективы и способы получения специальности.
Должностные обязанности Data Engineer
Отличия от Data Scientist
Обзор рынка труда – востребованность и зарплаты
Где учиться на дата-инженера?
Какими навыками и знаниями необходимо обладать?
Что почитать или посмотреть по теме?
Должностные обязанности Data Engineer
Дата-инженер – это специалист в области Big Data, занимающийся сбором, хранением и обработкой информации, в том числе — с целью передачи для последующего анализа. Другими словами, Data Engineer организует, осуществляет и контролирует так называемые ETL-процессы. Аббревиатура образована из трех англоязычных терминов, касающихся информации и должностных обязанностей специалиста:
- E – Extract – извлечение или сбор;
- T – Transform – трансформация или обработка;
- L – Load – загрузка.
Немаловажным нюансом выступает тот факт, что под информацией понимается не обычный набор данных в формате электронной таблицы, а их огромные массивы.
Именно они являются объектом Big Data, а в результате обработки и последующего анализа применяются для машинного обучения, прогнозирования, построения различных рекомендательных системы и других подобных целей.
Если рассматривать профессиональную деятельности дата-инженера более детально, она включает выполнение следующих функций:
- разработка и настройка ETL-процессов;
- создание схемы загрузки информации в базу данных;
- автоматизация процессов сбора информации с перемещением в единую информационную систему;
- импорт файлов из разных источников информации в корпоративное хранилище;
- проверка собранных данных с последующей очисткой от недостоверной, ошибочной и повторяющейся информации;
- разработка структуры, архитектуры и других параметров хранилища собранных сведений;
- трансформация и передача данных для последующего анализа в заданном формате.
В качестве примера приведем должностные обязанности актуальной вакансии Middle/Senior Data Engineer в Sber AI Lab с сайта по трудоустройству hh.ru:
- подготовка датасетов из больших массивов сырых данных и их анализ;
- инженерная часть разработки новых наукоемких технологий;
- взаимодействие с прикладными командами по их внедрению;
- создание MVP;
- организация инфраструктуры хранения и упорядочивания данных и связанной с ними информации.
К специалистам предъявляются серьезные требования, на примере той же вакансии:
- Хорошее знание Python, опыт разработки от 1 года.
- Высокая техническая грамотность (алгоритмический базис, основы архитектуры компьютеров).
- Глубокое понимание основ machine learning или deep learning.
- Опыт разработки сложных моделей ML/DL.
- Знание C++ или Java будут плюсом.
- Уверенное знание базовых вещей в теории вероятностей, математическом анализе, линейной алгебре.
- Умение анализировать научную литературу, разбираться в незнакомой теме.
- Желание заниматься инженерной и инфраструктурной стороной проблемы.
- Scripting (bash/powershell) – поднимать и настраивать сервера в облачных средах часто приходится самостоятельно.
- Опыт разработки под Linux среды (Ubuntu, RedHat) обязателен.
- Знание систем контроля версий, опыт коллективный разработки. У нас Git (BitBucket внутри сети банка и GitHub в остальных случаях).
Используемые инструменты
Дата-инженерам доступен обширный набор инструментов, выбор которых определяется персональными предпочтениями и уровнем квалификации специалиста. Начинающий Data Engineer обязан уметь работать с языком программирования SQL и иметь минимальные навыки в разработке исходного кода.
По мере повышения уровня профессиональной подготовки к набору его умений добавляется создание ПО на Python, навыки практического использования Spark, еще лучше – в связке с другим эффективным и многофункциональным инструментом Scala.
Квалифицированный дата-инженер обычно применяет экосистему Hadoop и различные сервисы/ПО для потоковой обработки данных, а также создания алгоритмов их структурирования.
Сфера деятельности Big Data стремительно совершенствуется и развивается, а потому количество доступных профессионалам инструментов постоянно пополняется за счет новых разработок.
Отличия от Data Scientist
Большие Данные – сравнительной новое направление IT-индустрии. Поэтому еще нет четкого разграничения между должностными обязанностями разных специалистов. Более того, в различных компаниях или учреждениях они могут выполнять практически одинаковые функции, будучи представителями разных профессий.
Особенно часто происходит пересечение Data Engineer и Data Scientist. Несмотря на схожую сферу деятельности, они занимаются решением разных задач и используют для этого отличающийся инструментарий.
Дата-инженер выполняет начальные этапы работы с Большими данными – сбор, первичную обработку и загрузку в информационную систему. Дата-сайентист подключается на следующих стадиях и осуществляет следующие функции:
- анализ собранных и структурированных данных;
- интерпретация полученных результатов;
- построение моделей для машинного обучения;
- прогнозирование дальнейшего развития событий;
- разработка нескольких возможных сценариев;
- составление и предоставление отчетов руководству в различных наглядных форматах – от экспертного заключения до презентации, графика или диаграммы.
Обзор рынка труда – востребованность и зарплаты
IT-специалисты заслуженно входят в число наиболее востребованных как на отечественном, так и мировом рынке труда. Сказанное в полной мере справедливо в отношении Data Engineer. Начинающий дата-инженер – без опыта работы и сразу после учебных курсов/вуза – может рассчитывать на зарплату в размере 60-70 тысяч рублей. Нередко его принимают на испытательный срок.
Но при должном отношении к исполнению должностных обязанностей доходы специалиста увеличиваются в два-два с половиной раза уже течение 1-2 лет. Опытный профессионал с 3-5-летним стажем получает не меньше 180-250 тысяч рублей. Лучшие и наиболее добросовестные способны зарабатывать и 300, и 350 тысяч рублей. Фактически верхнего потолка уровня получаемых доходов, с учетом возможных премий по результатам работы, у грамотных и опытных Data Engineer попросту не существует.
Где учиться на дата-инженера?
Стать Data Engineer с нуля, не имея базовых знаний в программировании или других направлениях IT-сферы, достаточно проблематично. Еще одним важным нюансом становится быстрое изменение актуальной информации, навыков и знаний, необходимых для успешного ведения профессиональной деятельности. Именно поэтому обучение в вузе в течение 4-5 лет редко оказывается эффективным, так как за это время большая часть полученных сведении окажется не актуальной.
Намного больший КПД показывает учеба на образовательных онлайн-курсах, которые делятся на два вида – бесплатные и платные.
- Бесплатные. Вариант возможен для новичков, которые хотят понять, что за профессия Дата инженер, какие у нее перспективы, что должен знать и уметь специалист. Получить профессиональные знания и начать зарабатывать таким образом сложно. К квалифицированным дата-инженерам предъявляются высокие требования, он должен владеть на ряду с базовыми знаниями и профессиональными инструментами.
- Платные. Вариант имеет большую популярность, так как совмещает как разумную стоимость, так и высокую эффективность учебного процесса. Обучение на онлайн-курсах производится без отрыва от основной работы в удобное время, с распределенной нагрузкой. Курсы дают много практики, работать учат на реальных проектах. После окончания можно сразу устроиться на работу.
Дополнительным преимуществом платных курсов становится выдача удостоверения о получении специальности. Тем более – от известного образовательного центра.
Наличие документа становится важным конкурентным преимуществом специалиста в глазах работодателя.
Мы отобрали несколько популярных и престижных курсов, благодаря которым можно освоить профессию с нуля и начать зарабатывать.
Курс «Аналитик данных» от Нетология
Школа |
Нетология |
Стоимость |
99 000 руб |
Цена в рассрочку |
2 895 руб/мес |
Длительность курса |
6 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Курс «Аналитик данных» от SF Education
Школа |
SF Education |
Стоимость |
83 200 руб |
Цена в рассрочку |
4 622 руб/мес |
Длительность курса |
4 месяца |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Курс «Data Scientist с нуля до Junior» от Skillbox
Школа |
Skillbox |
Стоимость |
98 029 руб |
Цена в рассрочку |
4 456 руб/мес |
Длительность курса |
9 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Какими навыками и знаниями необходимо обладать?
Минимальный перечень навыков и знаний, необходимый для работы Data Engineer, был описан выше. Здесь же имеет смысл несколько расширить его за счет инструментов, которые подойдут и более квалифицированным специалистам, включая:
- алгоритмы структурирования данных;
- язык обработки запросов SQL, желательно – на профессиональном уровне;
- несколько языков программирования (помимо обязательных Python и Java в связке со Scala);
- инструменты для работы с Big Data (Hadoop, Kafka, Spark и другие);
- одна или несколько облачных платформ, например, Amazon Web Services или MS Azure;
- принципы построения распределенных систем;
- разработка и управление конвейерами данных.
Возможный карьерный путь
В настоящее время дата-инженеры востребованы в самых разных сферах деятельности. Наиболее часто местом трудоустройства специалиста становятся:
- органы государственной власти федерального или регионального уровня;
- банки, страховые и иные финансовые организации или платежные онлайн-системы;
- телекоммуникационные компании;
- предприятия ритейла, онлайн-торговли и маркетплейсы;
- специализированные компании IT-сферы, занимающиеся разработкой масштабных программных продуктов или предоставлением консалтинговых услуг;
- крупные финансово-промышленные и промышленные холдинги.
Что почитать или посмотреть по теме?
- Грофф Джеймс Р., Вайнберг Пол Н. «SQL. Полное руководство».
- Лэм Чак «Hadoop в действии».
- Карау Холден, Конвински Энди «Изучаем Spark. Молниеносный анализ данных».
- Tom White «Hadoop «The Definitive Guide».
- Брендан Бернс «Распределенные системы. Паттерны проектирования».
- Видео ролик на YouTube «Кто такой Data Engineer?»
- Видео ролик на YouTube «30 глупых вопросов Data Engineer».
- Видео ролик на YouTube «Основные отличия Data Engineer, Data Scientist и Data Analyst».
FAQ
Кто такой Data Engineer?
Дата-инженер – специалист по работе с большими данными, которые занимается сбором, первичной обработкой и загрузкой информации в корпоративное хранилище данных.
В чем состоят его профессиональные обязанности?
Data Engineer выполняет обширный набор функций:
- организация и автоматизация сбора данных;
- проверка их на достоверность, повторы и ошибки;
- трансформация для загрузки в информационную систему;
- перемещение информации в хранилище данных;
- передача сведений для дальнейшего анализа в заданном формате.
Как получить профессию дата-инженера?
Наиболее часто для этого проходят учебный курс. Обычно – на платной основе, так как бесплатное обучение редко оказывается эффективным.
Сколько получает специалист?
Начинающий Data Engineer вряд ли может рассчитывать на ЗП выше 60-70 тыс. рублей. После полутора-трех лет работы его доход возрастает в два-два с половиной раза. Опытные профессионалы получают до 250-350 тыс. рублей.
В каких сфера деятельности наиболее востребованы дата-инженеры?
В самых разных – от государственного управления до банков, страховых компаний и онлайн-торговли.
Насколько перспективна профессия Data Engineer?
Big Data – одно из самых перспективных направлений IT-сферы. Поэтому и дата-инженеры будут очень востребованы на рынке труда. Изменения подобных трендов в ближайшие 10-15 лет ждать не стоит.
Подведем итоги
- Data Engineer – специалист в области Big Data, задачей которого выступает сбор, первичная обработка и загрузка данных в хранилище.
- Дата-инженер выполняет обширный набор должностных обязанностей.
- Стать специалистом с нуля достаточно сложно. Поэтому на курсы обучения дата-инженеров обычно идут, имея базовые навыки в программировании и работе с базами данных.
- Обычный срок обучения составляет около года. При наличии серьезных начальных знаний – от полугода до 9-10 месяцев.
- Data Engineer – востребованная специальность. Квалифицированный специалист получает в районе 150 тыс. рублей. Настоящий профессионал – еще больше – вплоть до 250-350 тыс. руб.
- Big Data входит в число самых перспективных направлений IT-сферы. Поэтому спрос на дата-инженеров со стороны работодателей будет только возрастать. По крайней мере – в течение нескольких последующих лет.
Чтобы воспользоваться большими данными, сначала их нужно достать, упорядочить и подготовить к анализу. Когда аналитика проведена, их нужно где-то хранить, чтобы при надобности поднять. Все это обеспечивает дата-инженер
Об эксперте: Давид Григорян, ML Engineer в «МегаФоне», ментор онлайн-школы SkillFactory.
Кто такой дата-инженер
Дата-инженер (Data Engineer) — это специалист, который собирает и обрабатывает большие данные, загружает их в модель для анализа, а затем организовывает их хранение и дальнейшее использование в бизнесе. Это представитель самой быстрорастущей профессии на рынке Data Science.
Если дата-сайентист — это исследователь-экспериментатор, то дата-инженер — это технический организатор. Он помогает дата-сайентистам, отделу маркетинга и руководству компании получить нужные данные быстро и просто.
Чем дата-инженер отличается от дата-сайентиста
В Data Science сферы ответственности разных специалистов могут пересекаться и накладываться. Из-за этого возникает путаница между профессиями дата-инженера, дата-сайентиста и дата-аналитика.
Давид Григорян, ML Engineer в «МегаФоне»:
«Очень часто сферы ответственности специалистов в Data Science могут пересекаться. Более того, в каждой компании под каждой позицией могут понимать разные вещи. Дата-аналитик — больше про работу с данными, построение статистических гипотез и вычисление важных показателей для бизнеса. Дата-сайентист занимается математической частью: пишет аналитические модели для решения задач бизнеса с использованием больших данных, экспериментирует и пишет статьи. А вот дата-инженер готовит данные, понимает их природу: где и как они лежат. Дата-инженеры, как правило почти не погружены в алгоритмы машинного обучения».
Так выглядит перечень задач дата-инженера и дата-сайентиста и точка их пересечения
Чем занимается дата-инженер
В процессе работы с данными дата-инженер присутствует на начальных и конечных этапах. Он занимается задачами, которые обозначают аббревиатурой ETL: достает данные (Extract), трансформирует и обрабатывает (Transform), загружает (Load). Его задача — организовать эти процессы в пайплайн («трубопровод», конвейерная последовательность обработки данных перед их загрузкой в модель), по которому будут двигаться потоки данных, чтобы их можно было использовать для принятия решений в компании. На конечном этапе работы с данными дата-инженер организует базу данных так, чтобы нужную информацию в любой момент можно было поднять и использовать снова.
Например, в локальной службе доставки еды задачей дата-инженера будет собрать и рассортировать данные о заказах, времени доставки, чеках клиентов. Затем он сортирует и оформляет эти данные так, чтобы ими было удобно пользоваться и они постоянно обновлялись. Далее эти данные анализирует дата-сайентист, чтобы получить ответы на вопросы бизнеса и помочь руководству или маркетингу принимать решения. К примеру о том, как обновить меню, удержать клиентов при помощи программ лояльности, повысить средний чек, оптимизировать работу курьеров.
Какие навыки нужны дата-инженеру
Чтобы организовывать пайплайны для получения данных, нужно уметь работать с базами, иногда — писать сервисы для некоторых процессов, визуализировать данные.
Вот список базовых навыков, которые нужны дата-инженеру:
- Знать SQL (Structured Query Language — язык структурированных запросов). Нужен, чтобы составлять запросы для извлечения данных.
- Программировать на Python, Java/Scala. Python пригодится в работе с таблицами, моделями, для создания веб-сервисов. На языках Java и Scala написаны все распространенные инструменты для работы с большими данными.
- Знать инструменты для работы с большими данными (Apache Spark, Kafka, Hadoop, Apache Cassandra).
- Знать типы баз данных (реляционные, колоночные), алгоритмов и структур для работы с ними.
- Уметь пользоваться Docker. Это инструмент контейнеризации, с помощью которого можно упаковывать разработанные на локальном компьютере сервисы и разворачивать их на любом другом компьютере.
- Работать с инструментами визуализации данных. Например, Tableau или ElasticSearch.
Давид Григорян:
«Из «жестких» навыков для дата-инженера наиболее важны сильное знание SQL, Python для предобработки данных. Нужно хорошо знать весь стек Hadoop (HDFS, Hive, Spark, прочие утилиты). Если говорить о «гибких» навыках — нужно все то же, что и любому ИТ-инженеру: легко коммуницировать с коллегами, уметь простыми словами объяснить результат своей работы бизнесу, тайм-менеджмент и умение корректно оценивать трудозатраты на проект. Также важно уметь быстро погружаться в новую предметную область, поскольку Data Science — это всегда приложение к какой-то практической сфере».
Откуда приходят в профессию
В профессию дата-инженера можно прийти из аналитики, при этом неважно, айтишная она или нет. Например, не-айтишных аналитиков в дата-инженеры может привести желание автоматизировать работу с таблицами и отчетами. В сфере ИТ в дата-инженеры приходят специалисты, которые уже неплохо знают Python и хотят развиваться в технической специальности.
Тренды профессии
Объем данных растет с каждым днем, а вместе с ним и потребность в дата-инженерах, которые упорядочат эти данные и сделают их доступными и полезными для бизнеса. По данным отчета DICE, в 2020 году профессия дата-инженера стала самой быстрорастущей в сфере ИТ: спрос на таких специалистов вырос на 50% по сравнению с 2019-м.
Исследование вакансий в сфере Data Science показывает, что в России спрос на дата-инженеров в 2021 году вырос на 127%.
Сегодня дата-инженеры нужны как гигантам вроде Google или Amazon, так и небольшим компаниям. Любой бизнес, у которого есть мобильное приложение или интернет-магазин, нуждается в качественной работе с данными, чтобы расти и развиваться. **Согласно статистике Zippia, активный найм дата-инженеров начинается с компаний, в которых работают от 100 до 500 сотрудников. Тем не менее, бизнесы с небольшими командами в статистике тоже присутствуют, хоть и занимают меньшую долю.
Более 40% дата-инженеров на рынке США нанимают в компании, где больше 10 тыс. сотрудников
Наиболее востребованы дата-инженеры в крупных корпорациях, на втором месте — ИТ-сфера, за ней следуют финансы и стартапы.
Более 20% дата-инженеров нанимают крупные корпорации из списка Fortune 500
Как стать дата-инженером
Чтобы начать учиться инженерии данных, нужно как минимум знать основы программирования на Python. Пройти курс для начинающих можно здесь. Также на ресурсе Codeacademy доступен бесплатный курс по SQL.
Давид Григорян:
«Курсы нужны, с ними гораздо проще вкатываться в отрасль. Но вместе с тем, они дают только необходимый фундамент. Дальше нужен боевой опыт».
Изучить алгоритмы данных можно на бесплатном курсе от Stepik. Подробные видеоуроки по работе с базами данных также можно найти на YouTube. Освоить инструменты Hadoop также бесплатно можно на курсе Stepik.
Чтобы поддерживать знания актуальными и глубже вникнуть в тему, послушайте Data Engineering Podcast, в котором состоявшиеся специалисты обсуждают инструменты и кейсы.
В данной статье мы подробно расскажем про профессию Data Engineer. Кто такой Data Engineer, чем он занимается, отличие от Data Scientist, востребованность на рынке труда и сколько они зарабатывают. Расскажем, как стать инженером данных, с чего начать и где пройти обучение.
Инженер данных — это IT-специалист, отвечающий за проектирование, создание и управление системами для сбора, хранения, обработки, предоставления информации для анализа. Такие специалисты владеют обширными знаниями в области теории СУБД, распределенных систем, практик обработки данных.
Data Engineers обеспечивают надежность и доступность информации для организаций. Они — мост между сырыми данными и ценной информацией, позволяющий компаниям принимать обоснованные решения. Расскажем подробнее об этой профессии, необходимых для нее знаниях и умениях, а также о достоинствах, недостатках и условиях работы.
Чем занимается Data Engineer — должностные обязанности
Дата-инженер отвечает за проектирование, создание, управление системами для работы с данными. Основные должностные обязанности таких специалистов включают в себя:
- создание и оптимизацию архитектуры для эффективного хранения, обработки больших датасетов;
- разработку и внедрение конвейеров для автоматизации задач по обработке данных, таких как извлечение, преобразование, загрузка;
- обеспечение качества и целостности информации за счет внедрения процессов проверки и очистки датасетов;
- работу с заинтересованными сторонами для выявления требований к данным, а также в связи с разработкой решений для удовлетворения этих требований;
- мониторинг, оптимизацию систем обработки данных для обеспечения высокой производительности и доступности;
- разработку и внедрение инструментов и решений для обработки данных, таких как хранилища, озера данных, конвейеры обработки;
- анализ и интерпретацию датасетов для выявления тенденций, закономерностей, другой ценной информации;
- документирование, обучение других членов команды использованию систем обработки данных.
Что должен знать и уметь инженер данных
Перечислим знания и навыки, необходимые для овладения профессией Data Engineer.
Знания:
- теория СУБД (реляционные, нереляционные, распределенные);
- распределенные системы (Hadoop, Spark, Kafka);
- обработка big data;
- практики обработки данных;
- облачные вычисления (AWS, Azure, GCP);
- языки программирования (Python, Java, Scala).
Навыки:
- проектирование, оптимизация архитектуры данных;
- разработка, внедрение конвейеров обработки данных;
- обеспечение качества, целостности данных;
- работа с заинтересованными сторонами;
- мониторинг, оптимизация систем обработки данных;
- аналитические навыки;
- решение проблем, отладка;
- документирование, обучение.
Дата-инженеры должны также обладать сильными аналитическими способностями, вниманием к деталям, страстью к работе с информацией. Им нужно быть в курсе последних тенденций, технологий в области работы с big data, постоянно стремиться к совершенствованию своих знаний и навыков.
Отличия профессии Data Engineer от Data Scientist
Ученые и инженеры по данным — это тесно связанные профессии в сфере обработки big data, но между ними есть важные различия в обязанностях, навыках, результатах работы.
Обязанности:
- Data Engineers проектируют, строят, поддерживают инфраструктуру, которая позволяет организациям хранить, обрабатывать, анализировать датасеты. Они работают над обеспечением надежности, масштабируемости, безопасности систем обработки данных.
- Data Scientists изучают датасеты с использованием статистических алгоритмов и машинного обучения, чтобы выявлять закономерности, строить предсказательные модели, давать рекомендации. Они сосредоточены на получении знаний из big data с дальнейшим использованием этой информации для решения бизнес-проблем.
Навыки:
- Data Engineers должны обладать сильными техническими навыками — проектирование СУБД, обработка больших датасетов, облачные вычисления, управление big data;
- Data Scientists нужен опыт в статистике, машинном обучении, глубоком обучении, сильные навыки программирования (Python, R).
Результаты:
- Data Engineers нацелены на создание и поддержание инфраструктуры, которая обеспечивает точными своевременными данными все структурные подразделения организации.
- Data Scientists занимаются разработкой аналитических моделей, инструментов, которые помогают организациям принимать обоснованные решения на основе данных, получать ценные идеи и рекомендации, которые могут улучшить операционную эффективность, повысить доход, снизить риски.
В целом это две взаимодополняющие профессии. Обе специальности пользуются высоким спросом: компании все больше полагаются на имеющиеся массивы информации для принятия решений. Однако потребности рынка меняются в зависимости от отрасли и от размера организации.
Востребованность и зарплаты Data Engineer
Инженеры данных востребованы в IT-отрасли по всему миру. Это связано с растущим объемом датасетов, создаваемых предприятиями, с необходимостью эффективно хранить и анализировать хранящуюся в них информацию, грамотно управлять ею.
- По данным LinkedIn, дата-инженеры входят в число десяти самых популярных IT-профессий в США.
- Согласно Glassdoor, количество вакансий для в сфере дата-инжиниринга выросло на 56% за последний год.
- Исследование IBM показывает, что к 2025 году в мире будет не хватать более 200 000 дата-инженеров.
Российский рынок IT-вакансий не отстает от глобального тренда. В России количество вакансий для дата-инженеров выросло на 30% за последний год. Вакансии для таких специалистов есть в том числе в крупных российских компаниях. Среди них — Сбер, Яндекс, Mail.ru Group, крупные торговые сети, банки.
Согласно данным Зарплата.ру, средняя зарплата дата-инженера в России составляет около 150 000 рублей в месяц. Более точная цифра зависит от грейда:
- Junior Data Engineer — 80 000–120 000 рублей в месяц;
- Middle Data Engineer — 120 000–180 000 рублей в месяц;
- Senior Data Engineer — 180 000–250 000 рублей в месяц;
- Lead Data Engineer — 250 000–350 000 рублей в месяц.
Другие факторы, влияющие на зарплату:
- опыт — как правило, чем больше лет инженер в профессии, тем больше он может заработать;
- навыки — специалисты с востребованными навыками (машинное обучение, облачные вычисления, большие данные) могут получать более высокую зарплату;
- работодатель — инженеры в крупных корпорациях и IT-гигантах, как правило, получают больше, чем в небольших.
По мере того, как организации продолжают развивать свою IT-инфраструктуру, полагаться на большие объемы информации для принятия решений, спрос на Data Engineers будет только расти. Те, кто обладает необходимыми умениями, могут рассчитывать на высокую зарплату и перспективную карьеру — как в России, так и за рубежом.
Возможность для карьерного роста
У дата-инженеров есть несколько основных направлений для карьерного роста.
- Переход на руководящие должности. По мере того как специалисты становятся более опытными, они могут перейти на руководящие должности — руководитель отдела инженеров или директор по работе с данными. На этих позициях они будут отвечать за общую стратегию работы с датасетами компаний, а также за управление командой инженеров, возможно — заниматься менторской деятельностью.
- Специализация в определенных отраслях или областях знаний. Data Engineers могут специализироваться в узких сферах, таких как здравоохранение, финансы или розничная торговля. Можно совершенствоваться в определенных теоретических сферах — например, машинное обучение или облачные вычисления. Специализация делает инженеров более ценными для потенциальных работодателей, повышая тем самым их потенциал заработка.
- Создание собственного бизнеса. Некоторые специалисты решают начать свое дело. Они могут создать консалтинговую фирму по обработке датасетов для других компаний. Еще один вариант — разработка собственного программного продукта, использующего технологии обработки big data.
Приведем примеры должностей, на которые может претендовать специалист по работе с big data, и перечислим их обязанности.
Старший дата-инженер:
- руководит командами инженеров в разработке и внедрении архитектур управления данными;
- консультирует по техническим стратегиям, дает рекомендации по обработке big data.
Руководитель отдела данных:
- отвечает за общую стратегию, а также за управление данными в организации;
- сотрудничает с заинтересованными сторонами для выявления требований к информации, обеспечения ее соответствия бизнес-целям.
Глава отдела аналитики:
- возглавляет команду дата-аналитиков, отвечающую за извлечение информации, а также за получение ценных сведений из имеющихся датасетов;
- разрабатывает, реализует стратегии дата-аналитики для поддержки процесса принятия решений.
Архитектор данных:
- проектирует, разрабатывает и поддерживает архитектуру хранилищ, обеспечивающих эффективное управление и доступ к информации;
- обеспечивает соответствие архитектур нормативным требованиям.
Ведущий инженер по машинному обучению:
- занимается разработкой, развертыванием моделей машинного обучения для решения сложных проблем;
- тесно сотрудничает с командами ученых-исследователей для внедрения и масштабирования моделей машинного обучения.
Где учиться на Data Engineer
Перечислим, где можно выучиться на инженера данных.
- Высшие учебные заведения: многие технические вузы предлагают программы бакалавриата или магистратуры в области инженерии данных либо смежных областях, таких как информатика, статистика, математика.
- Онлайн-курсы: онлайн-платформы (Coursera, edX, Udemy) предлагают специализации или сертификационные программы по инженерии данных. Эти курсы сочетают гибкость с возможностью учиться в удобное время.
- Тренинги, предлагаемые частными компаниями, могут предоставить краткое интенсивное обучение по дата-инженерии. Они часто сосредоточены на практических навыках, на подготовке к сертификации.
- Самостоятельное обучение: дата-инженером можно стать и самостоятельно, изучая книги, статьи, документацию. Однако этот путь требует самодисциплины в сочетании с сильной мотивацией.
- Сертификаты, такие как AWS Certified Data Engineer или Cloudera Certified Data Engineer, могут продемонстрировать квалификацию специалиста работодателям.
Выбор программы обучения зависит от целей, уровня квалификации, доступных ресурсов.
Дополнительные советы начинающим специалистам и тем, кто хочет учиться:
- ищите программы, которые включают практический опыт, — например, проекты с реальными данными;
- участвуйте в профессиональных сообществах, посещайте отраслевые мероприятия;
- постройте портфолио с проектами, демонстрирующими ваши навыки;
- следите за новыми тенденциями и технологиями в выбранной сфере.
Список материалов, полезных для будущих инженеров данных
Книги:
- Барбара Оакли. Думай, как математик. Как решать любые задачи быстрее и эффективнее
- Адитья Бхаргава «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих»;
- Роберт А. Доннелли «Статистика. Шаг за шагом»;
- Лучано Рамальо «Python. К вершинам мастерства»;
- Майкл Хейдт «Изучаем Pandas. Высокопроизводительная обработка и анализ в Python»;
- Бен Форта «Освой SQL за 10 минут».
Курсы по инженерии данных на онлайн-площадках:
- Coursera,
- edX,
- Udemy,
- Dataquest,
- Google Cloud Training.
Блоги и статьи для дата-инженеров:
- блог Google Cloud,
- блог AWS,
- блог Cloudera,
- блог Data Engineering Weekly,
- блог Medium для инженеров по данным.
Документация к программам, сервисам:
- Apache Hadoop,
- Apache Spark,
- Apache Kafka,
- MySQL,
- MongoDB.
Инструменты и технологии:
- языки программирования —Java, Python, Scala;
- фреймворки big data — Hadoop, Spark, Flink;
- СУБД: MySQL, MongoDB, Cassandra;
- инструменты облачных вычислений — AWS, Azure, GCP;
- инструменты машинного обучения — TensorFlow, PyTorch, scikit-learn.
Изучение этих материалов поможет начинающим IT-специалистам развить необходимые знания и навыки, чтобы стать инженером данных.
Плюсы и минусы профессии
Преимущества профессии:
- высокий спрос и конкурентоспособные зарплаты — дата-инженеры востребованы в IT и смежных сферах;
- возможности для карьерного роста — руководящие должности, менторство, собственный бизнес, научные исследования;
- удовлетворение от работы — для тех, кто любит решать сложные задачи и работать с большими объемами информации, профессия Data Engineer может оказаться весьма подходящей;
- востребованность в разных отраслях, включая финансы, здравоохранение, розничную торговлю, высокие технологии;
- возможности для обучения и развития — профессия Data Engineer постоянно развивается, появляются новые технологии, методы. Это создает возможности для непрерывного обучения, для профессионального роста.
Недостатки профессии:
- стрессовая рабочая среда — дата-инженеры часто работают в условиях жестких сроков, высокого давления, особенно когда необходимо решать срочные проблемы;
- высокий порог вхождения — работа требует значительного уровня образования и опыта работы с big data;
- необходимость постоянно учиться, чтобы идти в ногу с новыми технологиями;
- большая ответственность за анализ конфиденциальной информации — ошибки могут иметь серьезные последствия;
- нехватка специалистов — высокий спрос привел к нехватке специалистов на рынке, потому занятость в этой сфере может привести к длительным рабочим сменам.
Профессия Data Engineer останется востребованной в ближайшие годы. Конечно, она требует хорошей подготовки, постоянного обучения, готовности работать в стрессовых условиях, но в обмен вы получите достойную зарплату в сочетании с возможностью постоянно совершенствовать свои навыки.
#статьи
-
0
Разбираемся, что нужно уметь инженеру данных и кому подходит профессия.
Иллюстрация: Billion Photos / Shutterstock / Jim cooke / Unsplash / Annie для Skillbox Media
Пишет про digital и машинное обучение для корпоративных блогов. Топ-автор в категории «Искусственный интеллект» на Medium. Kaggle-эксперт.
Данные ― это «нефть» для бизнеса и науки. И только инженеры данных знают, как эту нефть добывать, обрабатывать и хранить.
В статье мы расскажем, какие задачи решает data engineer и чему нужно научиться, чтобы стать востребованным специалистом в этой сфере.
Вы узнаете:
- Кто такой data engineer
- Чем data engineer отличается от data scientist
- Чем он занимается
- Что он должен уметь и знать
- Какие у этой профессии достоинства и недостатки
- Как стать data engineer и где этому научиться
Дата-инженер (data engineer) — это специалист, который разрабатывает и обслуживает инфраструктуру хранения, обработки и анализа больших объёмов данных, или big data.
Инженеры данных нужны в банках, ретейле и крупных онлайн-сервисах. Например, банки хранят информацию обо всех транзакциях своих клиентов. Им нужно проанализировать поведение своих клиентов, чтобы предложить им новые полезные продукты: кредитные и дебетовые карты, кешбэк, скидки партнёров и так далее. Но прежде чем анализировать данные о покупках и транзакциях, их нужно собрать в одном месте и структурировать.
Структурированные данные организованы в определённом формате, чаще всего в таблицах, XML-файлах или JSON-файлах. Такие данные легко прочитать и обработать с помощью компьютерных программ. Инженер данных и есть тот человек, который может взять картинки, тексты и видео в неструктурированном формате и трансформировать их в удобный формат, а затем передать другим отделам, например маркетинга или бизнес-аналитики.
Инженер данных не участвует в анализе данных, но создаёт условия для работы ML-инженеров и аналитиков, обеспечивает их необходимыми инструментами. Data engineer ― техническая специальность, которая требует не только уметь программировать, но и понимать принципы работы «железа», в том числе серверов и облачных систем, где хранятся данные.
Несмотря на некоторую схожесть в названиях специальностей и обязанностях дата-инженеров и дата-сайентистов, это две разные профессии, которые тем не менее отлично дополняют друг друга.
Data engineer создаёт инфраструктуру для работы с данными. Он устанавливает инструменты для сборки и передачи данных, строит архитектуру хранилищ для БД.
Data scientist пользуется этой инфраструктурой, чтобы анализировать данные. Он строит и обучает модели, чтобы они находили паттерны в данных и правильно их интерпретировали. К дата-сайентисту данные попадают уже в «очищенном» и упорядоченном виде.
Можно сказать, что без инженера данные останутся непригодны для работы, ведь некому будет их собрать, систематизировать и передать на изучение. Но и без дата-сайентистов от них не будет пользы, кто-то же должен их проанализировать.
В больших компаниях роли data engineer и data scientist обычно играют разные люди. Но маленькие компании часто ищут многопрофильных специалистов, которые знают, как проектировать инфраструктуру для управления данными, и умеют работать с алгоритмами машинного обучения.
Инженер данных создаёт условия для хранения и обработки больших данных, или big data. Это значит, что он:
- Управляет ETL-процессами, то есть достаёт (extract), трансформирует (transform) и загружает (load) данные в базу данных.
- Очищает данные от дубликатов, ошибок, нерелевантных полей.
- Организует пайплайн потоков данных (конвейер, по которому потоки данных двигаются в компании).
- Настраивает мониторинг так, чтобы в случае поломки система оповестила инженера о возникшей проблеме.
- Разрабатывает и поддерживает базы данных, чтобы нужные данные легко было найти и извлечь.
- Оптимизирует производительность баз данных, чтобы данные стабильно поступали в систему даже при высокой нагрузке.
- Разрабатывает и поддерживает приложения для работы с данными, такие как API и CLI.
- Cоставляет расписание, по которому система обработки данных в компании будет работать с информацией.
Конечно, стоит отметить, что конкретный набор обязанностей специалиста зависит от компании, в которой он работает. И, как уже было сказано выше, нередко от дата-инженера ожидают умений из смежных профессий, таких как data science.
Вот «джентльменский набор» хард-скиллов, которыми должен владеть инженер по работе с данными.
Языки программирования. Чтобы работать дата-инженером, нужно уметь программировать на Python или Java/Scala, реже на Go или C++. Навык пригодится для автоматизации обработки данных из разных источников, а также для разработки служебных утилит и сервисов. Из приведённых языков Python ― самый разноплановый и потому популярный, зато Scala более эффективен в промышленных масштабах за счёт специализации на работе с данными.
Базы данных и SQL. Инженер по данным много работает с таблицами, поэтому он должен уметь писать SQL-запросы и работать с разными видами баз данных (например, реляционными или колоночными).
Hadoop, Spark и Kafka. Эти инструменты помогают работать с данными на кластерах (то есть группах взаимно подсоединённых виртуальных вычислительных или физических машин), потому что большие данные невозможно эффективно обработать на локальных компьютерах. Также важно знать Linux, владеть командной строкой, писать Bash-сценарии и уметь работать с облачными сервисами, например Amazon Web Services. Данные часто обрабатываются в облаке, поскольку немногие компании могут себе позволить выстроить собственную огромную инфраструктуру.
Хотите узнать всё о Kafka меньше чем за час? Слушайте выпуск подкаста «Люди и код», в котором мы обсудили его API, сложности настройки, сценарии использования и сравнили с конкурентами.
Docker. Инженеру данных также важно уметь пользоваться Docker. Это сервис для упаковки данных на локальном компьютере, чтобы их можно было передать коллегам или в кластер.
Софт-скиллы. Несмотря на то, что инженер данных — глубоко техническая профессия, даже здесь требуются развитые софт-скиллы. Инженеру нужно уметь взаимодействовать с командой из своего и других отделов: data science, бизнес-аналитики и маркетинга. В работе с аналитиками данных инженер данных, по сути, выступает как исполнитель, а data scientist — как клиент. Поэтому инженер данных должен разобраться в потребности клиента, предложить решение и уметь убедительно презентовать его.
Ну какие недостатки могут быть у такой перспективной и модной профессии? Оказывается, кое-какие трудности всё-таки есть.
Большая ответственность. Дата-инженеры отвечают за работу инфраструктуры, качество и сохранность данных. Им часто приходится выполнять монотонную и однотипную работу — при этом важно не терять сосредоточенности.
Высокий порог входа. Даже чтобы претендовать на джуниорскую позицию, нужно овладеть несколькими разноплановыми инструментами для работы с данными. А поскольку профессия новая, список требований может сильно разниться в разных компаниях.
Зато плюсов куда больше:
Высокие зарплаты и относительно низкая конкуренция. Хороших специалистов мало, поэтому конкуренция на рынке невысокая, а зарплаты высокие — как в России, так и за рубежом. Согласно hh.ru, начинающий дата-инженер может претендовать на зарплату от 75 тысяч рублей. Middle-инженер может зарабатывать от 100 до 390 тысяч рублей, а senior — от 240 до 830 тысяч рублей и более. В зарубежных компаниях могут платить намного больше.
Удалённая работа или релокация. Вы сможете работать удалённо в крупных городах России или за рубежом. К тому же зарубежные компании заинтересованы в технических специалистах и охотно помогают им с релокацией.
Перспективность и стабильность со знаком +. Количество данных и потребность в специалистах, которые умеют с ними работать, растёт из года в год. Согласно отчёту Dice, в 2021 году в России спрос на дата-инженеров увеличился на 127%.
Это очень интересно. Если вам нравится решать сложные задачи и осваивать новые технологии, эта профессия точно вам понравится. К тому же инженеру по данным есть куда расти, как вертикально, так и горизонтально. Или со временем вы можете вовсе сменить карьерный вектор. Например, освоить machine learning и работать с моделями машинного обучения или переквалифицироваться в DevOps-инженера и заниматься автоматизацией и упорядочиванием процесса разработки в целом.
Чтобы стать инженером данных, нужно изучить основы информационных технологий, математики и статистики. Также придётся освоить язык программирования, работу с базами данных и специальные инструменты: Hadoop, Spark, NoSQL и другие (см. выше).
Чтобы повысить квалификацию и увеличить шансы на получение работы, некоторые специалисты советуют получить сертификаты в области big data и data engineering. Самые популярные из них:
- Google Certified Professional Data Engineer
- IBM Data Science Professional Certificate
- AWS Certified Big Data
Программы высшего образования в области инженерии данных есть в крупных российских вузах, в том числе в МФТИ, МИФИ и НИУ ВШЭ.
В Skillbox можно обучиться профессии за два года. Сначала вы пройдёте модуль с основами data science, а потом выберете специализацию, одна из которых — data engineer. Среди главных преимуществ такого подхода — упор на практические задачи, свежая и регулярно обновляемая программа, а также постоянная коммуникация с преподавателями.
Курс с трудоустройством: «Профессия Data scientist»
Узнать о курсе
Оглавление
- Чем занимается DWH разработчик
- Что должен знать и уметь
- Должностные обязанности
- Должностная инструкция
В современном мире данных роль DWH (Data Warehouse) разработчика (по-другому Database Developer или Data engineer) становится все более востребованной. Этот специалист отвечает за создание и поддержку хранилищ данных, которые являются основой для анализа и принятия решений в компаниях. В этой статье мы подробно рассмотрим, чем занимается DWH разработчик, что он должен знать и уметь, его основные обязанности, должностную инструкцию, а также сложности подбора таких специалистов на рынке России в 2024 году.
Чем занимается DWH разработчик
DWH разработчик занимается проектированием, созданием и поддержкой хранилищ данных. Хранилище данных — это специализированная база данных, оптимизированная для анализа и отчетности. Основная цель DWH разработчика — обеспечить эффективное хранение, обработку и доступ к данным, поступающим из различных источников, таких как оперативные базы данных, внешние системы и файлы.
Основные задачи включают:
— Интеграция данных: Объединение информации из разных источников в единое хранилище.
— Оптимизация запросов: Обеспечение быстрого доступа к данным для аналитических нужд.
— Обеспечение качества данных: Проверка и очистка данных, устранение дубликатов и ошибок.
— Поддержка ETL-процессов: ETL (Extract, Transform, Load) — процесс извлечения, трансформации и загрузки данных в хранилище.
КейсыПодбор DWH-разработчиков (middle+, senior) и DevOps-специалистов за 1 месяц
Что должен знать и уметь DWH разработчик
Для успешной работы DWH разработчику необходимо обладать широким спектром знаний и навыков:
Технические знания:
— Базы данных: Глубокое понимание работы реляционных и многомерных баз данных.
— Языки программирования: Уверенное владение SQL для написания сложных запросов и скриптов.
— ETL-инструменты: Опыт работы с такими инструментами, как Talend, Informatica, Microsoft SSIS.
— Моделирование данных: Знание методологий создания схем звезды и снежинки для организации данных.
— Хранилища данных: Понимание архитектуры хранилищ данных и механизмов их работы.
Навыки:
— Аналитическое мышление: Способность анализировать большие объемы данных и выявлять закономерности.
— Проблемное решение: Умение находить и устранять технические проблемы в процессах обработки данных.
— Коммуникация: Способность эффективно взаимодействовать с командой, аналитиками и другими отделами.
— Внимание к деталям: Точность и аккуратность при работе с данными.
Дополнительные знания:
— Big Data технологии: Знакомство с Hadoop, Spark и другими инструментами для работы с большими данными.
— Облачные платформы: Опыт работы с AWS, Azure или Google Cloud для развертывания хранилищ данных.
— Методы обеспечения безопасности данных: Знание принципов шифрования и защиты информации.
Должностные обязанности DWH разработчика
Основные обязанности DWH разработчика включают:
1. Проектирование хранилищ данных: Создание архитектуры хранилищ, выбор оптимальных схем данных.
2. Разработка ETL-процессов: Создание и настройка процессов извлечения, трансформации и загрузки данных из различных источников.
3. Оптимизация производительности: Тонкая настройка систем для обеспечения быстрого доступа к данным и эффективной обработки запросов.
4. Обеспечение качества данных: Внедрение механизмов проверки, очистки и стандартизации данных.
5. Документирование процессов: Создание документации по архитектуре хранилищ, процессам ETL и другим аспектам системы.
6. Поддержка и обслуживание: Обеспечение бесперебойной работы хранилищ данных, обновление систем и устранение возникающих проблем.
7. Взаимодействие с командами: Сотрудничество с аналитиками, бизнес-менеджерами и другими разработчиками для понимания требований и реализации решений.
8. Безопасность данных: Реализация мер по защите данных от несанкционированного доступа и потери.
КейсыПоиск Java-разработчика middle-уровня с первой попытки
Должностная инструкция DWH разработчика
Общие положения
DWH разработчик подчиняется начальнику отдела информационных технологий или руководителю проекта. В своей работе взаимодействует с аналитиками данных, бизнес-пользователями, системными администраторами и другими разработчиками.
Основные обязанности
— Разработка и внедрение архитектуры хранилищ данных.
— Создание и поддержка ETL-процессов.
— Оптимизация запросов и систем для повышения производительности.
— Обеспечение качества и целостности данных.
— Документирование технических решений и процессов.
— Участие в планировании и реализации проектов по развитию информационной инфраструктуры.
— Обучение и консультирование пользователей по вопросам работы с данными.
Права
— Получать необходимую информацию и доступы для выполнения своих обязанностей.
— Вносить предложения по улучшению процессов обработки и хранения данных.
— Участвовать в разработке и внедрении новых технологий и инструментов.
Ответственность
— За точность и надежность хранения данных.
— За своевременное выполнение задач и соблюдение сроков проектов.
— За безопасность и конфиденциальность обрабатываемой информации.
Сложности подбора DWH разработчика на рынке в России в 2024 году
В 2024 году компании сталкиваются с рядом вызовов при подборе квалифицированных DWH разработчиков:
1. Высокий спрос: Компании различных отраслей активно внедряют системы хранения и анализа данных, что увеличивает потребность в специалистах.
2. Недостаток квалифицированных кадров: Образовательные программы не успевают за быстрым развитием технологий, что приводит к нехватке специалистов с современными навыками.
3. Конкуренция с международными рынками: Многие разработчики предпочитают работать на условиях удаленной работы или зарубежных компаний, что усложняет процесс найма.
4. Необходимость постоянного обучения: Быстрое развитие технологий требует от специалистов постоянного обновления знаний, что может быть сложным для работодателей.
5. Региональные различия: В некоторых регионах России отсутствует достаточное количество квалифицированных специалистов, что требует пересмотра стратегии найма.
КейсыПодбор 50 ИТ-разработчиков и персонала с релокацией с ограниченным бюджетом
DWH разработчик играет ключевую роль в управлении данными и поддержке процессов принятия решений в компаниях. Его обязанности охватывают широкий спектр задач от проектирования хранилищ данных до обеспечения их безопасности и качества. В условиях растущего спроса на специалистов в этой области, понимание должностных обязанностей и требований к DWH разработчику становится важным как для соискателей, так и для работодателей. Несмотря на сложности подбора квалифицированных кандидатов в России в 2024 году, инвестирование в развитие и обучение специалистов позволит компаниям эффективно управлять своими данными и достигать поставленных целей.