Дата інженер та тім-лід у Parimatch Tech Максим Войтко дає базовий гайд про професію — які задачі виконують дата інженери, як розвиваються та які навички опановують.
До кінця 2022 року в світі буде 97 зетабайтів даних. Це 97 000 000 000 000 гігабайтів, що дуже-дуже багато. У середньому людина щосекунди генерує 1,7 Мб даних — і це мова про звичайного користувача, а не контент-мейкера. Крім того, половина всіх даних до 2025 року будуть у хмарі, в тому чи іншому вигляді.
Зі всіма цими даними потрібно щось робити — зберігати, сортувати, обробляти. І ось тут на сцену виходять дата-інженери.
Чим займаються дата інженери
Дата інженер — людина, що працює з даними у їх «сирому вигляді», raw data. Він відповідальний за те, щоб ці дані зібрати, зберегти, трансформувати та зробити готовими до подальшого використання споживачем, наприклад, дата-саєнтістом чи іншими спеціалістами.
Відповідно, сам дата інжиніринг — це процес розробки, імплементації і підтримки систем та процесів, що збирають та перетворюють ці сирі дані, а згодом надають високоякісні консистентні інсайти для прийняття бізнес рішень, аналізу, машинного навчання, тощо.
Інженерія даних займає місце на перетині безпеки, управління даними, DataOps (операційних процесів даних), архітектури даних, оркестрації даних, і розробки програмного забезпечення. Інженер по обробці даних управляє життєвим циклом даних, починаючи зі збору даних від джерел даних і закінчуючи наданням даних для різних сценаріїв використання, таких як аналіз і машинне навчання.
Як влаштований кар’єрний шлях
Дата інженер може розвиватися у двох напрямах — горизонтальному та вертикальному.
У першому випадку дата інженер може більше переходить на суміжних галузі: у розробку ПО, заглиблюється у Data Science чи опановує менеджерську роль — проектного чи продуктового менеджера.
При вертикальному розвитку, зокрема у Parimatch Tech, є два напрямки — індивідуального контриб’ютора та управлінський. Початок у обох напрямках однаковий — це розвиток дата інженера від інтерна до сіньйора. Рівень спеціаліста залежить, звичайно, від його знань, досвіду, а також, що важливо, — від рівня його автономності. Бо інтерн — це позиція, за якою завжди потрібен нагляд, а мідл, наприклад, вже виконує задачі самостійно.
У напрямку індивідуального контриб’ютора шлях дата інженера виглядає наступним чином — тех лід → Staff → Principal. Тех лід допомагає розв’язувати складні технічні задачі команді, його завдання — знати або придумати як це зробити і відповідно на ньому відповідальність за технічні рішення і розвиток команди. Рішення дата інженер рівня Staff пов’язані або із дуже складним проектом або розробляються для кількох команд. А масштаб впливу Principal Data Engineer поширюється на всю компанію.
На управлінському напрямі дата інженер може піти у тім ліди, потім стати Engineering Manager, а далі рости до Head of Engineering та Chief Data Officer. Це менеджерські посади, що, зокрема, займаються формуванням команд, стратегією, візією тощо.
Які навички потрібні дата-інженеру
- Мова програмування: SQL, NoSQL, Python, Java, Scala.
- Інструменти обробки великих даних: AWS Athena, AWS Redshift, Kafka, Spark або аналоги.
- Cloud Computing: Amazon Web Services або Google Cloud Platform. Втім, для людей, що знайомі з однією платформою, перейти на іншу буде невелика проблема.
- Розуміти принципи ETL: як отримуються, трансформуються та завантажуються дані. Серед інстурментів — Airflow, dbt.
- Вміти працювати з базами даних як з реляційними, так і не реляційними, що, безумовно, є дуже важливим для дата інженера: PostgreSQL, MySQL, Redis, MongoDB.
- Бути знайомим з концепціями зберігання даних: data warehouse vs. data lake vs. data mesh.
- базові знання Computer Science: як працює комп’ютер від апаратного до програмного рівня.
Всі ці скіли одночасно мати на початковому рівні, звісно, неможливо та й не потрібно. Але до цього треба йти. Нові технології з’являються постійно і, щоб їх швидко опановувати, потрібно мати гарний фундамент.