Data Engineer та Data Scientist: яка взагалі різниця?

Професії Data Scientist та Data Engineer часто плутають. У кожної компанії своя специфіка роботи з даними, різні цілі їх аналізу та різне уявлення, хто з фахівців якою частиною роботи повинен займатися, тому й вимоги кожен висуває свої. 

Розбираємось, у чому різниця цих фахівців, які завдання бізнесу вони вирішують, які навички мають і скільки заробляють. Матеріал вийшов більшим, тому розділили його на дві публікації.

У першій статті Олена Герасимова, керівник факультету «Data Science та аналітика» у Нетології, розповідає, у чому різниця між Data Scientist та Data Engineer і з якими інструментами вони працюють.

Як відрізняються ролі інженерів та саєнтистів

Інженер даних - це фахівець, який, з одного боку, розробляє, тестує та підтримує інфраструктуру роботи з даними: бази даних, сховища та системи масової обробки. З іншого боку — це той, хто очищає та «зачісує» дані для використання аналітиками та дата-саентистами, тобто створює конвеєри обробки даних.

Data Scientist створює та навчає предиктивні (і не тільки) моделі за допомогою алгоритмів машинного навчання та нейромереж, допомагаючи бізнесу знаходити приховані закономірності, прогнозувати розвиток подій та оптимізувати ключові бізнес-процеси.

Головна відмінність між Data Scientist та Data Engineer полягає в тому, що зазвичай у них різні цілі. Обидва працюють для того, щоб дані були доступними та якісними. Але Data Scientist знаходить відповіді свої запитання і перевіряє гіпотези в екосистемі даних (наприклад, з урахуванням Hadoop), а Data Engineer — створює пайплайн обслуговування алгоритму машинного навчання, написаного дата-саентистом, в кластері Spark всередині тієї ж екосистеми. 

Інженер даних приносить цінність бізнесу, працюючи у команді. Його завдання – виступити важливою ланкою між різними учасниками: від розробників до бізнес-споживачів звітності, та підвищити продуктивність аналітиків – від маркетингових та продуктових до BI. 

Data Scientist ж, навпаки, бере активну участь у стратегії компанії та вилучення інсайтів, прийняття рішень, впровадження алгоритмів автоматизації, моделювання та генерації цінності з даних.
Data Engineer та Data Scientist: яка взагалі різниця?

Робота з даними підпорядковується принципу GIGO (garbage in — garbage out): якщо аналітики та дата-саєністи мають справу з непідготовленими та потенційно некоректними даними, то результати навіть за допомогою найвитонченіших алгоритмів аналізу будуть неправильними. 

Інженери даних вирішують цю проблему, вибудовуючи пайплайни з обробки, очищення та трансформації даних та дозволяючи дата-саентисту працювати вже з якісними даними. 

На ринку багато інструментів для роботи з даними, які покривають кожен із етапів: від появи даних до виведення на дашборд для ради директорів. І важливо, щоб рішення про їх використання ухвалювалося інженером, — не тому, що це модно, а тому, що він дійсно допоможе в роботі іншим учасникам процесу. 

Умовно: якщо компанії потрібно подружити BI і ETL - завантаження даних та оновлення звітів, ось типовий legacy-фундамент, з яким доведеться мати справу Data Engineer (добре, якщо в команді крім нього буде ще й архітектор).

Обов'язки Data Engineer

  • Розробка, побудова та обслуговування інфраструктури роботи з даними.
  • Обробка помилок та створення надійних конвеєрів обробки даних.
  • Приведення неструктурованих даних із різних динамічних джерел до виду, необхідного для роботи аналітиків.
  • Надання рекомендацій щодо підвищення консистентності та якості даних.
  • Забезпечення та підтримка архітектури даних, що використовується дата-саентистами та аналітиками даних.
  • Обробка та зберігання даних послідовно та ефективно у розподіленому кластері на десятки або сотні серверів.
  • Оцінка технічних компромісів інструментів створення простих, але надійних архітектур, які зможуть пережити збої.
  • Контроль та підтримка потоків даних та пов'язаних систем (налаштування моніторингу та алертів).

Існує ще одна спеціалізація всередині траєкторії Data Engineer – ML engineer. Якщо коротко, то такі інженери спеціалізуються на доведенні моделей машинного навчання до промислового застосування та використання. Найчастіше модель, що надійшла від дата-сенентиста, є частиною дослідження і може не заробити у бойових умовах.

Обов'язки Data Scientist

  • Вилучення ознак із даних застосування алгоритмів машинного навчання.
  • Використання різних інструментів машинного навчання для прогнозування та класифікації патернів у даних.
  • Підвищення продуктивності та точності алгоритмів машинного навчання за рахунок тонкого налаштування та оптимізації алгоритмів.
  • Формування «сильних» гіпотез відповідно до стратегії компанії, які необхідно перевірити.

І Data Engineer, і Data Scientist поєднує відчутний внесок у розвиток культури роботи з даними, за допомогою якої компанія може отримувати додатковий прибуток або скорочувати витрати.

З якими мовами та інструментами працюють інженери та саєністи

Сьогодні очікування від фахівців із обробки даних змінилися. Раніше інженери збирали великі SQL-запити, вручну писали MapReduce та обробляли дані за допомогою таких інструментів, як Informatica ETL, Pentaho ETL, Talend. 

У 2020 році фахівцю не обійтися без знання Python та сучасних інструментів проведення обчислень (наприклад Airflow), розуміння принципів роботи з хмарними платформами (використання їх для економії на залізі, при дотриманні принципів безпеки).

SAP, Oracle, MySQL, Redis - це традиційні для інженера даних інструменти у великих компаніях. Вони хороші, але вартість ліцензій настільки висока, що вчитися працювати з ними має сенс лише у промислових проектах. При цьому є безкоштовна альтернатива як Postgres — він безкоштовний і підходить не тільки для навчання. 

Data Engineer та Data Scientist: яка взагалі різниця?
Історично часто зустрічається запит на Java та Scala, хоча в міру розвитку технологій та підходів ці мови відходять на другий план.

Тим не менш, хардкорна BigData: Hadoop, Spark та решта зоопарку - це вже не обов'язкова умова для інженера даних, а різновид інструментів для вирішення завдань, які не вирішити традиційним ETL. 

У тренді — сервіси для використання інструментів без знання мови, якою вони написані (наприклад, Hadoop без знання Java), а також надання готових сервісів для обробки потокових даних (розпізнавання голосу або образів на відео).

Популярні промислові рішення від SAS та SPSS, при цьому Tableau, Rapidminer, Stata та Julia також широко використовуються дата-саентистами для локальних завдань.

Data Engineer та Data Scientist: яка взагалі різниця?
Можливість самим будувати пайплайни з'явилася у аналітиків і дата-саентистів лише кілька років тому: наприклад, вже можна відносно нескладними скриптами спрямовувати дані до сховища на основі PostgreSQL. 

Зазвичай використання конвеєрів та інтегрованих структур даних залишається у веденні дата-інженерів. Але сьогодні як ніколи сильний тренд на Т-подібних фахівців — із широкими компетенціями у суміжних сферах, адже інструменти постійно спрощуються.

Навіщо Data Engineer та Data Scientist працювати разом

Працюючи у тісному співробітництві з інженерами, Data Scientist можуть зосередитися на дослідницької частини, створюючи готові працювати алгоритми машинного навчання.
А інженери — сфокусуватися на масштабованості, повторному використанні даних та гарантувати, що пайплайни введення та виведення даних у кожному окремому проекті відповідають глобальній архітектурі.

Такий поділ обов'язків забезпечує узгодженість дій між групами фахівців, які працюють над різними проектами машинного навчання. 

Співпраця допомагає ефективно створювати нові продукти. Швидкість і якість досягаються завдяки балансу між створенням сервісу для всіх (глобальне сховище або інтеграція дашбордів) та реалізацією кожної конкретної потреби або проекту (вузькоспеціалізований пайплайн, підключення зовнішніх джерел). 

Тісна робота з дата-саентистами та аналітиками допомагає інженерам розвивати аналітичні та дослідницькі навички для написання якіснішого коду. Поліпшується обмін знаннями між користувачами сховищ та озер даних, що робить проекти гнучкішими та забезпечує більш стійкі довгострокові результати.

У компаніях, які ставлять за мету розвиток культури роботи з даними та вибудовування бізнес-процесів на їх основі, Data Scientist та Data Engineer доповнюють один одного та створюють повноцінну систему аналізу даних. 

У наступному матеріалі розповімо про те, яка освіта має бути у Data Engineer та Data Scientists, які навички їм потрібно розвивати та як влаштований ринок.

Від редакції Нетології

Якщо придивляєтесь до професії Data Engineer або Data Scientist, запрошуємо вивчити програми наших курсів:

Джерело: habr.com

Додати коментар або відгук