Мы разрабатываем платформу персонализированных клиентских предложений для крупного финансового заказчика.
Система обрабатывает реальные клиентские события в режиме real-time
Архитектура построена на Scala, Flink, Kafka, Kubernetes, с разделением горячего и холодного хранилища.
Чем предстоит заниматься:
- Разработка и развитие потоковых и batch-пайплайнов для персонализированных расчётов;
- Оптимизация и рефакторинг существующего кода (~20% задач);
- Работа с Apache Flink — управление состоянием, checkpoint’ами, взаимодействие с S3;
- Интеграция с системами доставки сообщений (Kafka, Artemis);
- Настройка и оптимизация производительности и отказоустойчивости пайплайнов;
- Участие в архитектурных решениях и обсуждениях;
- Взаимодействие с Data Engineers и разработчиками (около 10 человек в кластере).
Технологический стек
- Scala — основная логика (3+ лет активного опыта);
- Apache Flink — потоковая и batch-обработка (опыт от 1 года);
- Kafka, Artemis — интеграция и событийные шины;
- PostgreSQL, Tarantool, S3 — hot/cold storage;
- Kubernetes — деплой и оркестрация;
- Java — часть обвязки;
- Форматы и хранилища: Parquet, Iceberg;
- Реализация checkpoint’ов, работа с S3 как основным data lake.
Кого мы ищем:
- Опыт коммерческой разработки на Scala — от 3 лет;
- Опыт работы с Apache Flink — от 1 года (stream + batch, checkpoint, state management);
- Уверенные знания Kafka, понимание принципов потоковой обработки данных;
- Опыт работы с S3, знание форматов Parquet / Iceberg;
- Понимание принципов реактивных и распределённых систем;
- Опыт работы на проектах Big Data;
- Опыт работы с Kubernetes;
- Умение разбираться в сложной архитектуре, проводить рефакторинг и улучшать код.
Будет плюсом:
- Опыт с Tarantool или аналогичными in-memory хранилищами;
- Знание Java (для взаимодействия с обвязкой);
- Понимание принципов построения real-time data pipelines.