Senior Data Engineer
Indexed description
О роли
Мы ищем инженера, который умеет не просто писать пайплайны, а проектировать данные как продукт: выбирать архитектуру под задачу, отвечать за надёжность и стоимость решения и объяснять свои trade-off'ы. Конкретные инструменты у нас зафиксированы (см. блок «Стек»), но мы исходим из того, что сильный инженер осваивает новый инструмент за недели, а инженерное мышление — за годы.
Задачи
- Проектировать и развивать аналитическую платформу: слои хранения, модели данных, витрины
- Строить батчевые и потоковые пайплайны загрузки из десятков источников, включая CDC-репликацию из продуктовых баз
- Отвечать за производительность и стоимость хранения и вычислений на больших объёмах
- Выстраивать процессы контроля качества данных: тесты, мониторинг, SLA, алертинг
- Участвовать в архитектурных решениях на стыке с продуктовыми командами, менторить коллег
Требования
- Проектирование хранилищ данных. Вы понимаете разницу между DWH, Data Lake и Lakehouse не на уровне определений, а на уровне последствий: когда какой подход оправдан, какой ценой даётся schema-on-read, где заканчивается зона ответственности озера. Умеете проектировать слоистую архитектуру (raw → ods → детальный слой → витрины) и осознанно выбирать модель данных — Kimball, Data Vault, широкие денормализованные таблицы — под профиль нагрузки, а не по привычке.
- Пайплайны как инженерный артефакт. Для вас идемпотентность, инкрементальная загрузка, корректный backfill, обработка late-arriving data и эволюция схемы — базовые требования к пайплайну, а не отдельные фичи. Трансформации версионируются, покрываются тестами и проходят code review так же, как обычный код.
- Потоковая обработка. Вы работали со стримингом в проде и понимаете семантику доставки (at-least-once / exactly-once), оконные агрегации, обработку out-of-order событий, устройство CDC и то, какую нагрузку репликация создаёт на источник.
- Оптимизация на больших объёмах. Вы читаете план выполнения запроса и понимаете, почему он такой: как работают партиционирование, сортировка и первичные ключи в колоночных СУБД, во что обходятся join'ы, как выбор формата хранения и гранулярности влияет на скорость и стоимость. Умеете профилировать, а не угадывать.
- Production-grade Python и уверенный SQL. Python — как язык разработки сервисов и библиотек (типизация, тесты, упаковка), а не только как обвязка вокруг pandas. SQL — включая оконные функции, сложную агрегацию и понимание того, как запрос ляжет на конкретный движок.
- Эксплуатация и микросервисное окружение. Вы понимаете, как ваш код живёт в проде: контейнеризация, оркестрация, логи, метрики, алерты. Знакомы с синхронным (gRPC) и асинхронным (брокеры сообщений) взаимодействием сервисов и понимаете, когда что уместно.
- Senior-уровень как способ работы. Вы формулируете альтернативы и их цену, а не только итоговое решение; умеете договариваться с продуктовыми командами и аналитиками о контрактах данных; готовы разбирать чужой код и растить команду.
Технический стек
Языки: Python, SQL
Хранение и обработка: ClickHouse, PostgreSQL, ElasticSearch, Apache Spark (Structured Streaming)
Трансформации и ETL: dbt, Talend DI (или аналоги — Informatica, Pentaho, NiFi, Airbyte)
Оркестрация: Apache Airflow
Стриминг и CDC: Kafka, RabbitMQ, Debezium
Инфраструктура: Docker, Kubernetes, gRPC
Мы не ждём галочки напротив каждого пункта. Нам важно, чтобы вы закрывали большую часть блока «Требования» и имели реальный опыт хотя бы с одним инструментом из каждой категории стека.
Будет плюсом
- C#, Go
- Опыт администрирования PostgreSQL, ClickHouse, ArangoDB
- Опыт внедрения data quality / observability-инструментов
- Опыт построения платформы с нуля или её миграции
Условия
• полностью офисный формат
• оформление по ТК РК
• график работы 5/2, с 09:00-18:00
• месторасположение офиса: г. Алматы, ул.Ходжанова 79, БЦ "Аврора"
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search