Разработка и поддержка высоконагруженных сервисов и распределённых систем на Scala 2.13 / 3. Проектирование архитектуры сервисов, участие в code review и технических дискуссиях, оптимизация производительности и устранение узких мест.
Работа с потоковой обработкой данных и event-driven архитектурой. Написание unit-, property-based и интеграционных тестов. Взаимодействие с продуктовыми и инфраструктурными командами на всех этапах — от идеи до продакшена.
Требования:
- Коммерческий опыт разработки на Scala от 2–3 лет.
- Понимание функционального программирования и опыт работы с Cats Effect, ZIO, Akka или Pekko.
- Опыт работы с распределёнными системами, микросервисной архитектурой и асинхронным взаимодействием.
- Уверенное владение SQL и опыт работы с реляционными или NoSQL базами данных, такими как PostgreSQL, ClickHouse и Cassandra.
- Опыт работы с Kafka или RabbitMQ.
- Знание алгоритмов и структур данных, понимание моделей многопоточности JVM.
- Опыт проектирования и развития архитектуры высоконагруженных систем от 5 лет.
- Глубокое понимание компромиссов в распределённых системах: консистентность, отказоустойчивость и latency.
- Опыт технического лидерства: менторство, code review и влияние на техническую стратегию команды.
- Уверенное владение одним из стеков: Typelevel (Cats Effect, FS2, Doobie, http4s), Akka / Pekko (Streams, Cluster, Persistence) или Spark / Big Data.
Будет плюсом:
- Опыт миграции с Scala 2 на Scala 3, знание Scala 3 (givens, match types, метапрограммирование).
- Опыт в FinTech, Highload или IoT-стриминге.
- Опыт работы с Docker, Kubernetes и CI/CD (GitLab CI / GitHub Actions).
- Знакомство с Apache Spark (batch и streaming).
Условия: полная занятость, график 5/2, удалённая работа.