кто такой data engineer и что он делает
Кто такой Data Engineer и как им стать
Сделали адаптированный перевод статьи Oleksii Kharkovyna о том, кто такие инженеры данных и что нужно знать новичкам, чтобы освоить профессию.
Инженер данных — смесь аналитика данных и дата-сайентиста. Он отвечает за извлечение, преобразование, загрузку данных и их обработку. Профессия востребована в первую очередь благодаря высоким зарплатам и спросу среди работодателей. Дальше расскажу, какие задачи выполняют инженеры данных, чем отличаются от дата-сайентистов и что нужно знать тем, кто хочет освоить специальность.
Что такое инженерия данных
«Учёный может открыть новую звезду, но не может создать её. Для этого ему пришлось бы обратиться к инженеру», — Гордон Линдсей Глегг
Из названия специальности следует, что она связана с данными: их доставкой, хранением и обработкой. Главная задача инженера — подготовить надёжную инфраструктуру для данных. В ИИ-иерархии потребностей инженерия данных занимает первые две-три ступени: сбор, перемещение и хранение, подготовка данных.
Что делает инженер данных
С появлением Big Data сфера ответственности специалистов по обработке данных изменилась. Если раньше инженеры писали большие SQL-запросы и обрабатывали данные с помощью таких инструментов, как Informatica ETL, Pentaho ETL, Talend, то теперь от них ждут большего. Специалисту нужно отлично знать SQL и Python, желательно — Java/Scala, иметь опыт работы с облачными платформами, в частности Amazon Web Services.
И это только самое необходимое. Логично предположить, что инженеры должны разбираться в разработке программного обеспечения и серверной разработке. В компании, которая генерирует большой объем данных из разных источников, задача инженера — организовать сбор информации, её обработку и хранение.
Инструменты могут отличаться — всё зависит от объема данных, их скорости поступления и неоднородности. Многие компании вообще не работают с большими данными, поэтому в качестве централизованного хранилища используют базу SQL (PostgreSQL, MySQL) с небольшим количеством скриптов, которые направляют данные в репозиторий.
У IT-гигантов вроде Google, Amazon, Facebook или Dropbox требования к кандидатам выше:
Основной упор в технологиях Big Data сейчас делают на их обработку в условиях высокой нагрузки. Поэтому компании повысили требования к отказоустойчивости системы.
Что такое Data Engineering и как начать работу в этой сфере
Чем конкретно занимается инженер данных, что он должен уметь, чтобы хорошо зарабатывать, и что важно знать в начале карьеры — рассказывает декан факультета Сергей Ширкин.
Кто такой Data Engineer
Инженер данных – незаменимый сотрудник для любой команды, занимающейся Data Science. От дата-инженера зависит, насколько удобно будет построен процесс работы с данными в проекте. Этот специалист отвечает за сбор, хранение и обработку данных, выстраивает их кратчайший путь к дата-сайентистам – чтобы коллеги не отвлекались от своих основных задач. Поэтому команды, где есть дата-инженеры, работают быстрее и эффективнее тех, где при подготовке данных не хватает разделения труда.
Какую проблему рынка решает новый факультет
Бизнесу очень нужны специалисты по обработке данных, а вузы либо не готовят их вообще, либо обучают сильно устаревшим технологиям. Когда в компании остро не хватает дата-инженеров, на эти позиции зачастую берут самоучек. Но даже при таком сценарии многие вакансии долго остаются незакрытыми и вопросы дата-инжиниринга приходится решать дата-сайентистам или смежным IT-специалистам. Таким образом, на рынке труда есть явный запрос, который стоит удовлетворить.
Отличия от других факультетов направления Data Science
Дата-инженеры проходят подготовку за один год, потому что им не нужно углубляться в математику и тонкости построения моделей машинного обучения. Для сравнения, студенты факультетов искусственного интеллекта и аналитики Big Data учатся полтора года.
Инженеры данных заняты несколько другими вещами, нежели классические дата-сайентисты — IT-инфраструктурой, базами данных (SQL и NoSQL), оптимизацией процессов ETL (Extract, Transform, Load – «извлечение, преобразование, загрузка»), автоматизацией сбора данных из интернета и построением систем обработки данных в реальном времени.
Сходство между факультетами Data Engineering и аналитики Big Data в том, что и те и другие проводят большую часть обучения со стеком Hadoop/Spark. Именно эти технологии активно применяются в больших компаниях, и специалистов по работе с ними по-прежнему не хватает.
Что будет уметь выпускник факультета Data Engineering и каким будет его портфолио
Будущим инженерам предстоит выполнять курсовые проекты по итогам каждой четверти. Темы проектов будут связаны с актуальными рабочими процессами современных компаний.
В первой четверти студент познакомится с IT-инфраструктурой и параллельно научится собирать данные. Для закрепления знаний он создаст парсер (обработчик) интернет-сайтов – систему пополнения баз данных актуальной информацией из различных источников.
Во второй четверти учащиеся построят собственные хранилища для аналитической системы. Курсовая работа будет посвящена построению полного конвейера данных (pipeline) для Business intelligence (BI) — созданию системы перевода сырой информации в удобную для человеческого восприятия форму.
Третья четверть будет полностью посвящена работе с «большими данными». Сначала студенты освоят инструменты экосистемы Hadoop, а затем изучат Spark и познакомятся с обработкой потоков данных методами Big Data.
В заключительной четверти будущие выпускники изучат обработку данных в реальном времени и углубятся в инфраструктуру для работы с данными, доводя свои знания до продвинутого уровня.
Где работать
Нас часто спрашивают, на какой уровень знаний и зарплат можно рассчитывать после выпуска из GeekUniversity — Junior или Middle. Если студент активно работает, навыки и знания, которые он в итоге приобретёт, вполне могут соответствовать уровню подготовки Middle-специалиста. Но нужно понимать, что без опыта работы по профилю или хотя бы в смежных направлениях IT в первое время реальнее устроиться на позиции Junior. Но хорошая стартовая подготовка ускорит продвижение по карьерной лестнице, так что путь к Middle-вакансиям после окончания нашего факультета в любом случае станет проще и короче.
Многие наши студенты, кстати, находят работу ещё до окончания учёбы. Я знаю случаи, когда учащиеся по направлению Data Science трудоустраивались на младшие позиции уже после первой четверти в GeekUniversity и дальше успешно совмещали учёбу с работой. То есть даже прохождение начальных курсов в принципе позволяет начать зарабатывать.
Что нужно знать для поступления
Чтобы легче усваивать программу факультета, желательно к моменту поступления уже иметь начальные знания Python и SQL. Правда, наиболее мотивированные студенты умудряются получить эти знания уже по ходу обучения — начинают «с нуля», очень интенсивно занимаются и в итоге органично вливаются в учебный процесс.
Как организована учёба
В процессе обучения студент постоянно погружен в среду, способствующую его профессиональному росту. Взаимодействие с преподавателями, наставниками и однокурсниками строится по тем же принципам, что и на других факультетах направления Data Science. У каждой группы есть свой чат, где студенты общаются, обмениваются вопросами и решениями. Там же присутствуют и преподаватели, и наставники, к которым студенты всегда могут обратиться за консультацией. Наставники отвечают на вопросы, связанные с материалами лекций и выполнением домашних заданий.
На факультете преподают действующие специалисты в области работы с данными – у них можно получить не только обратную связь по выполненным учебным проектам, но и дельный совет по трудоустройству, прохождению собеседований и дальнейшему развитию карьеры. Так у будущего специалиста формируется более полное представление об отрасли и появляются первые знакомства в профессиональной среде.
Хотите приобщиться к работе над самыми передовыми IT-проектами, связанными с искусственным интеллектом, машинным обучением и анализом больших данных? Записывайтесь на факультет Data Engineering, чтобы стать специалистом, востребованным в любом серьёзном Data Science проекте!
Освоить востребованную профессию в Data Science можно всего за полтора года на курсах GeekBrains. После учёбы вы сможете работать по специальностям Data Scientist, Data Analyst, Machine Learning, Engineer Computer Vision-специалист или NLP-специалист.
Освоить востребованную профессию в Аналитике больших данных можно всего за полтора года на курсах GeekBrains.
Последние годы мы часто слышим про искусственный интеллект, машинное обучение и Big Data. «Это ж-ж-ж неспроста!». С развитием новых направлений в IT появляются новые профессии и специальности. В ответ на запрос рынка GeekUniversity открывает новый факультет Data Engineering, где студентов научат создавать системы предварительной обработки данных для проектов в области Data Science!
Чем конкретно занимается инженер данных, что он должен уметь, чтобы хорошо зарабатывать, и что важно знать в начале карьеры — рассказывает декан факультета Сергей Ширкин.
Кто такой Data Engineer
Инженер данных – незаменимый сотрудник для любой команды, занимающейся Data Science. От дата-инженера зависит, насколько удобно будет построен процесс работы с данными в проекте. Этот специалист отвечает за сбор, хранение и обработку данных, выстраивает их кратчайший путь к дата-сайентистам – чтобы коллеги не отвлекались от своих основных задач. Поэтому команды, где есть дата-инженеры, работают быстрее и эффективнее тех, где при подготовке данных не хватает разделения труда.
Какую проблему рынка решает новый факультет
Бизнесу очень нужны специалисты по обработке данных, а вузы либо не готовят их вообще, либо обучают сильно устаревшим технологиям. Когда в компании остро не хватает дата-инженеров, на эти позиции зачастую берут самоучек. Но даже при таком сценарии многие вакансии долго остаются незакрытыми и вопросы дата-инжиниринга приходится решать дата-сайентистам или смежным IT-специалистам. Таким образом, на рынке труда есть явный запрос, который стоит удовлетворить.
Отличия от других факультетов направления Data Science
Дата-инженеры проходят подготовку за один год, потому что им не нужно углубляться в математику и тонкости построения моделей машинного обучения. Для сравнения, студенты факультетов искусственного интеллекта и аналитики Big Data учатся полтора года.
Инженеры данных заняты несколько другими вещами, нежели классические дата-сайентисты — IT-инфраструктурой, базами данных (SQL и NoSQL), оптимизацией процессов ETL (Extract, Transform, Load – «извлечение, преобразование, загрузка»), автоматизацией сбора данных из интернета и построением систем обработки данных в реальном времени.
Сходство между факультетами Data Engineering и аналитики Big Data в том, что и те и другие проводят большую часть обучения со стеком Hadoop/Spark. Именно эти технологии активно применяются в больших компаниях, и специалистов по работе с ними по-прежнему не хватает.
Что будет уметь выпускник факультета Data Engineering и каким будет его портфолио
Будущим инженерам предстоит выполнять курсовые проекты по итогам каждой четверти. Темы проектов будут связаны с актуальными рабочими процессами современных компаний.
В первой четверти студент познакомится с IT-инфраструктурой и параллельно научится собирать данные. Для закрепления знаний он создаст парсер (обработчик) интернет-сайтов – систему пополнения баз данных актуальной информацией из различных источников.
Во второй четверти учащиеся построят собственные хранилища для аналитической системы. Курсовая работа будет посвящена построению полного конвейера данных (pipeline) для Business intelligence (BI) — созданию системы перевода сырой информации в удобную для человеческого восприятия форму.
Третья четверть будет полностью посвящена работе с «большими данными». Сначала студенты освоят инструменты экосистемы Hadoop, а затем изучат Spark и познакомятся с обработкой потоков данных методами Big Data.
В заключительной четверти будущие выпускники изучат обработку данных в реальном времени и углубятся в инфраструктуру для работы с данными, доводя свои знания до продвинутого уровня.
Где работать
Нас часто спрашивают, на какой уровень знаний и зарплат можно рассчитывать после выпуска из GeekUniversity — Junior или Middle. Если студент активно работает, навыки и знания, которые он в итоге приобретёт, вполне могут соответствовать уровню подготовки Middle-специалиста. Но нужно понимать, что без опыта работы по профилю или хотя бы в смежных направлениях IT в первое время реальнее устроиться на позиции Junior. Но хорошая стартовая подготовка ускорит продвижение по карьерной лестнице, так что путь к Middle-вакансиям после окончания нашего факультета в любом случае станет проще и короче.
Многие наши студенты, кстати, находят работу ещё до окончания учёбы. Я знаю случаи, когда учащиеся по направлению Data Science трудоустраивались на младшие позиции уже после первой четверти в GeekUniversity и дальше успешно совмещали учёбу с работой. То есть даже прохождение начальных курсов в принципе позволяет начать зарабатывать.
Что нужно знать для поступления
Чтобы легче усваивать программу факультета, желательно к моменту поступления уже иметь начальные знания Python и SQL. Правда, наиболее мотивированные студенты умудряются получить эти знания уже по ходу обучения — начинают «с нуля», очень интенсивно занимаются и в итоге органично вливаются в учебный процесс.
Как организована учёба
В процессе обучения студент постоянно погружен в среду, способствующую его профессиональному росту. Взаимодействие с преподавателями, наставниками и однокурсниками строится по тем же принципам, что и на других факультетах направления Data Science. У каждой группы есть свой чат, где студенты общаются, обмениваются вопросами и решениями. Там же присутствуют и преподаватели, и наставники, к которым студенты всегда могут обратиться за консультацией. Наставники отвечают на вопросы, связанные с материалами лекций и выполнением домашних заданий.
На факультете преподают действующие специалисты в области работы с данными – у них можно получить не только обратную связь по выполненным учебным проектам, но и дельный совет по трудоустройству, прохождению собеседований и дальнейшему развитию карьеры. Так у будущего специалиста формируется более полное представление об отрасли и появляются первые знакомства в профессиональной среде.
Хотите приобщиться к работе над самыми передовыми IT-проектами, связанными с искусственным интеллектом, машинным обучением и анализом больших данных? Записывайтесь на факультет Data Engineering, чтобы стать специалистом, востребованным в любом серьёзном Data Science проекте!
Освоить востребованную профессию в Data Science можно всего за полтора года на курсах GeekBrains. После учёбы вы сможете работать по специальностям Data Scientist, Data Analyst, Machine Learning, Engineer Computer Vision-специалист или NLP-специалист.
Освоить востребованную профессию в Аналитике больших данных можно всего за полтора года на курсах GeekBrains.
Кто такой дата-инженер?
Эксперт в Data Engineering.
Дата-инженер – это человек, который организует потоки загрузки и обрабатывает данные. Как он это делает, что для этого нужно уметь, и насколько такая деятельность востребована, разбираемся с дата-инженером X5 Retail Group Максимом Кереметом.
Что делает дата-инженер?
Дата-инженер (Data Engineer) участвует в начальной и финальной стадиях анализа данных, обеспечивает их работу на инфраструктуре компании. Он занимается ETL-процессами, то есть обрабатывает данные: достает ( extract) их из сырых источников, трансформирует ( transform) и загружает ( load).
После предварительной обработки, очистки от повторов, ошибок, ненужных уточнений, он автоматизирует выполнение скриптов и, если нужно, настраивает мониторинги, алерты (сигналы о том, что в моделях что-то пошло не так), задает расписание, по которому сервис или программа будут работать с данными (шедуллит).
Задачи в компаниях могут отличаться: где-то инженер только обрабатывает данные, а где-то выполняет и программистскую работу: внедряет новые модели и переучивает старые.
Помимо сбора и обработки дата-инженер организует хранение данных. Для этого он строит архитектуру хранилищ – базы данных с таблицами, в которых они разбиты по смыслу. Дата-сайентистам это облегчает доступ к обработанным наборам данных (признакам), с помощью хранилища проще и быстрее масштабировать модели.
Чем дата-инженер отличается от дата-сайентиста?
Задачи дата-сайентиста и дата-инженера находятся на разных этапах работы с данными. Дата-сайентист – это исследователь, который придумывает, как решить задачу бизнеса. Например, прогнозирует, когда покупатель придет в магазин в следующий раз. Он готовит дата-сет, извлекает признаки, экспериментирует с моделями, делает пилотный запуск модели.
Для того, чтобы дата-сайентисту было с чем экспериментировать, дата-инженер готовит данные. Они обычно скрыты в хранилищах. Когда модель готова, дата-инженер масштабирует успешные решения на гораздо бОльшие объемы чем тренировочный датасет
Модель также нужно периодически обновлять: делать отчеты, чтобы бизнес мог ежедневно использовать этот труд, по мере необходимости обновлять признаки. Этим тоже занимается дата-инженер.
Читайте также: Чем занимается дата-инженер X5 Retail Group?
Где он нужен?
Везде, где работа с данными помогает бизнесу развиваться и зарабатывать.
Дата-инженеры особенно востребованы в телекоме, ритейле, банкинге – здесь генерируют больше всего данных. Конечно же, такие спецы нужны в интернет- и транспортных компаниях, маркетинге.
Часто небольшие компании ищут специалиста, который берет на себя задачи и дата-инженера, и дата-сайентиста. Но с ростом бизнеса обязанности разводятся между разными ролями: аналитиками, сайентистами и инженерами.
Пример задачи дата-инженера:
Коллеге дата-сайентисту нужно узнать, какие действия совершают пользователи, оставляющие больше всего денег в приложении такси. Чтобы дата-сайентист смог проанализировать историю их действий и сделать прогноз, дата-инженеру необходимо собрать нужную информацию из приложения. Для этого он:
Для этого необходимо создать пайплайн (процесс сбора, трансформации и загрузки в базу данных), который в реальном времени сможет собрать логи приложений и сервера, проанализировать их и соотнести с конкретным пользователем. Проанализированные логи дата-инженер собирает в базу данных так, чтобы их можно было без труда запросить по API.
Насколько это востребовано?
Из-за того, что данные растут в геометрической прогрессии, компании придумывают новые, более эффективные способы работы с ними. Для этого им нужны не только мощные платформы для хранения, но и сотрудники, которые оптимизируют процессы, поставляют уже подготовленные данные, ускоряя дальнейшую работу дата-сайентистов. Поэтому спрос на специалистов в этой сфере только увеличивается, а зарплаты в этом направлении – одни из самых высоких в IT.
Согласно отчету DICE о технических вакансиях за 2020 год количество вакансий дата-инженера выросло на 50% по сравнению в 2019 годом. Это самый большой показатель среди других профессий.
Сколько получает дата-инженер?
Зарплаты зависят от уровня: в среднем джуниоры получают 100-150 тыс. руб, миддл-специалисты 150-250 тыс. руб, а синьор-профессионалы 250-300 тыс. руб, основываясь на данных из сообщества ODS.
На июнь 2021 года на hh.ru почти тысяча вакансий по запросу data engineer.
Научитесь собирать данные из разных источников, помогайте аналитикам строить гипотезы и принимать бизнес-решения. Дополнительная скидка 5% по промокоду BLOG.
Что ему нужно знать?
По мнению Максима Керемета, на российском рынке дата-инженер – это человек, который может все по чуть-чуть: и программировать, и работать с базами данных, и провести несложную аналитику (построить дашборд в Power BI или Tableau), и самостоятельно написать приложение, которое может работать.
Традиционно дата-инженер работает с таблицами, поэтому ему необходимо знать, как писать SQL-запросы, разбираться в видах баз данных. В основном он сталкивается с реляционными (наборы данных, связанных между собой по значению) и колоночными (данные связаны не по строкам, а по колонкам) базами данных.
Наиболее популярная система управления реляционной БД – PostgreSQL, для колоночных – ClickHouse, он быстрый и используется для аналитики и логирования событий.
Дата-инженер должен хорошо знать Python: он умеет читать таблицы из источников на компьютере, понимает язык на уровне базовых структур, ООП. Python также нужен для того, чтобы писать веб-сервисы, чтобы в дальнейшем работать с продуктивизацией моделей. Кроме того, с помощью языка можно разрабатывать новые сервисы и модели, которые отслеживают стабильность уже работающих программ.
Плюсом будет знание Scala — язык эффективен в промышленных масштабах, когда становится важна скорость обработки данных. В этом Python уступает.
Нужно владеть инструментами экосистемы Hadoop (система управления базами данных Hive или фреймворк Spark) – они помогают работать с большими данными, которые невозможно обрабатывать на одном локальном компьютере из-за объемов и производительности. Для них используются кластерные машины с более мощными показателями.
Чтобы запускать уже готовые сервисы, не требующие доработки, на разных компьютерах, дата-инженеру нужно уметь использовать Docker. Он «упаковывает» сервис, написанный на локальном компьютере, в контейнер, и его можно воспроизводить на компьютере коллеги или кластерной машине.
А для автоматизации работы в команде дата-инженер использует GitLab.
Откуда приходят в дата-инженеры?
Максим Керемет добавляет: « Можно переквалифицироваться из дата-сайентиста, если хочется больше развиваться с точки зрения программирования и построить какой-то сервис или продукт. Кроме того, если надоело постоянно выполнять разные ситуативные задачи и хочется сконцентрироваться на среднесрочных проектах на несколько месяцев, дата-инженер — хороший вариант».
Плюсы и минусы профессии
Как начать?
Новичкам без бэкграунда в IT попасть в профессию сложно, так как она требует серьезной технической подготовки: нужно писать хотя бы на Python, владеть инструментами автоматизации.
Для специалиста в этой области важны знания алгоритмов и структур данных. Алгоритмические задачи хорошо выстраивают мышление, знание синтаксиса языка и его возможностей. Алгоритмы данных можно изучить на бесплатном курсе на Coursera.
Кроме того, на Coursera можно познакомиться с базовыми понятиями, научиться строить пайплайны (выстраивать весь ETL-процесс переноса данных из одного места в другое), разобраться в том, что такое базы данных и как устроены системы облачных хранилищ.
Можно попробовать самостоятельно определить траекторию обучения, ориентируясь на Road map профессии. C ее помощью удобно систематизировать, какими навыками вы уже овладели, а какие нужно подтянуть или выучить с нуля.
Полезные ссылки:
Либо можно пройти полноценный курс по Data Engineering. На нем есть главное – практика, благодаря которой вы сможете не просто в теории разобраться с программами и продуктами, которыми используют в профессии, но отработать технологии на реальных задачах и применить их в проекте.
Освойте перспективную профессию за 10 недель или усильте ваши навыки дата-инженера.