Middle+ Backend Engineer (Go / Fintech)

Middle+ Backend Engineer (Go / Fintech)

Метро: Горьковская

Описание вакансии

Разработка высоконагруженного платёжного сервиса. Проект использует современный стек технологий (Go 1.22, Node.js 20, Kubernetes 1.29, PostgreSQL 15 и др.) и микросервисную архитектуру. Система обрабатывает ~100 000 транзакций в сутки в режиме реального времени.
Ищем Backend-разработчика на Go, который будет разрабатывать ядро этого агрегатора и интеграции с внешними сервисами. Вам предстоит работать с современным стеком (Go 1.22, gRPC, PostgreSQL, Kafka, Redis, Kubernetes), решать нетривиальные задачи производительности и безопасности в финтех-домене.​​​​​​​​​​​​​​

Обязанности:
  • Разработка микросервисов на Go: Создание нового и развитие существующего функционала платёжного агрегатора. Писать чистый, эффективный код на Go, реализуя бизнес-логику платежей, обработку транзакций и webhook-уведомлений от провайдеров в режиме реального времени.

  • Интеграция с внешними API: Реализовывать соединения с банковскими и платежными API (REST) и обработку входящих вебхуков. Вникать в предоставленные API-спеки партнёров (документация, Postman-коллекции), корректно реализовывать клиентские запросы и обработку ответов. Обеспечивать идемпотентность операций (защита от дубликатов уведомлений) и проверку подписи/авторизации (SHA512, RSA) при интеграциях.
  • Базы данных и хранение: Проектировать и оптимизировать схемы данных в PostgreSQL для финансовых операций (транзакционные таблицы, логи событий). Писать эффективные SQL-запросы, использовать индексирование, следить за производительностью БД. Интегрировать кэширование (Redis) для ускорения частых запросов.
  • Производительность и надежность: Профилировать и оптимизировать код сервисов под высокую нагрузку (~100k транзакций в сутки). Реализовывать конкурентные процессы на Go, грамотно работать с горутинами, каналами. Обеспечивать устойчивость сервисов – обработку ошибок, ретраи запросов к внешним системам, логирование важных событий.

  • Тестирование и качество кода: Писать unit и интеграционные тесты для своего кода (например, симуляция webhook-вызовов, проверка корректности бизнес-логики). Участвовать в code review коллег, поддерживать единый стиль кодирования. Документировать ключевые решения и интерфейсы (в README, Swagger и пр.).
  • Взаимодействие с командой: Тесно сотрудничать с другими разработчиками (Go и Node), DevOps-инженером и QA. Планировать выпуски новых версий сервисов через CI/CD (ArgoCD). Участвовать в обсуждении архитектуры, предлагать оптимизации. При необходимости разбирать инциденты в продакшене, профилактировать проблемы до их появления.

Требования:
  • Опыт разработки на Go: 3+ года практики с Go в продакшене. Отличное знание стандартной библиотеки, понимание тонкостей работы горутин, конкурентных структур данных. Умение профилировать приложение (pprof) и устранять узкие места.
  • Микросервисы и сетевые технологии: Опыт создания RESTful API (Echo, Gin или аналогичные фреймворки) и/или gRPC-сервисов на Go. Понимание принципов распределенных систем, умение строить коммуникации через очереди сообщений (Kafka) и вебхуки. Знание протоколов HTTP/HTTPS, основ аутентификации и авторизации (OAuth, JWT) будет плюсом.
  • Работа с данными: Уверенное владение PostgreSQL – составление сложных запросов, оптимизация исполнения, понимание транзакций и изоляции. Опыт с NoSQL или in-memory хранилищами (Redis) для кэширования. Базовое представление о работе брокеров сообщений (Kafka или RabbitMQ) – умение публиковать и читать сообщения, понимать концепцию топиков и разделов.
  • Качество и практика: Навыки написания тестов (testing, testify), отладки сервисов. Опыт CI/CD: умение собрать Docker-образ, написать Dockerfile, понимать основы Kubernetes (развёртывание, сервисы, конфиги). Готовность следовать принципам чистого кода, SOLID, делать качественную документацию к методам API.
  • ​​​​​​​​​​​​​​Понимание домена: Представление о принципах работы платёжных систем, вебхуков, идемпотентных механизмов (например, используете уникальные идентификаторы запросов). Базовое знание криптографии для разработки (хэширование, HMAC, RSA) – вы будете реализовывать и поддерживать проверку подписи запросов.
  • ​​​​​​​Soft Skills: Самостоятельность в решении задач, умение оценивать время разработки. Умение внятно описывать проблемы и результаты, вести переписку в командном чате.

Плюсом будет:

  • Опыт работы в финансовых или высоконагруженных проектах (финтех, банковские приложения, биллинг-системы). Понимание требований надёжности и безопасности в этих системах.
  • ​​​​​​​Знакомство с облачной инфраструктурой: разворачивание сервисов в Kubernetes, работа с сервис-мешем (Istio), tracing (OpenTelemetry, Jaeger/Tempo) – чтобы легче взаимодействовать с DevOps и понимать окружение.
  • Участие в open-source проектах или наличие своих pet-проектов на Go, показывающих вашу экспертизу.
  • ​​​​​​​Знание TypeScript/Node.js на базовом уровне – для взаимодействия с коллегами fullstack-разработчиками и понимания смежных сервисов (не обязательно программировать на Node, но понимать общую картину).
Условия:
  • Занятость: полная, долгосрочное сотрудничество. Удалённо, с гибким графиком. Обязательно присутствие в общем core-time GMT+3 для синхронной работы с командой, остальное время распределяете под себя.
Навыки
  • Golang
  • PostgreSQL
  • Backend
  • REST API
  • Kafka
  • Redis
  • Kubernetes
  • Docker
  • Git
  • Go
  • Node.js
  • Docker Compose
  • TypeScript
  • gRPC
  • HTTPS
  • CI/CD
Посмотреть контакты работодателя

Адрес

Похожие вакансии

Хотите оставить вакансию?

Заполните форму и найдите сотрудника всего за несколько минут.
Оставить вакансию