Наша команда делится на несколько частей:

  • Онлайн-обработка платежей: платёжное окно, API2-запросы для взаимодействия с системой, терминалы для обработки уведомлений от платёжных систем и админка. Тут 3 человека, в основном это perl-монолит, рождённый примерно 15 лет назад, но мест с непонятным legacy мало и залезать туда надо редко. В основном почти всё самописное, стек Perl 5.41 в качестве баз используем MariaDB 11 и Postgres. Активно используем Redis, самописные очереди на MySQL и Redis
  • Офлайн-обработка платежей: выгрузка в систему АБС, сверки по отчётам от платёжных систем и тому подобное. Набор демонов на Perl и Go, занимаются 2 человека
  • Go-сервисы для взаимодействия с внешними системами: НСПК (для СБП), smev3, esia, сервис донатов, paymobile и тому подобное. В команде 2 человека

Высоких нагрузок у нас нет (около 900K платежей в сутки), упор на надёжность, отсутствие багов, тестирование, regress-проверки при изменении существующего кода, мониторинг.

Занимаемся приёмом и выводом платежей группы. Самые популярные способы оплаты: карты, СБП, мобильная коммерция, SberPay.

Задачи

  • Поддержка монолита на Perl
  • Написание новых сервисов и перенос частей монолита на Golang
  • Проектирование и разработка сервисов 
  • Проведение код-ревью
  • Реагирование на инциденты

Требования

  • Глубокое знание Perl
  • Написание интеграций с новыми платёжными системами, новые продуктовые задачи, поддержка существующих интеграций
  • Знание основ работы с СУБД и key-value хранилищами (Redis)
  • Знание основ работы unix like подобных ОС (у нас AlmaLinux9)
  • Желание изучать Golang и переносить наиболее часто меняемые части системы в отдельные Go-сервисы