Разработка и поддержка высоконагруженных сервисов и распределённых систем на 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, удалённая работа.