Job Description
Our customer is developing next-generation infrastructure for institutional digital asset trading and payments, connecting clients, liquidity providers, exchanges, banks, and payment networks through a low-latency, event-driven platform. As part of this transformation, the legacy systems are evolving into a modern distributed architecture powered by Go, NATS, Redis, and Postgres, while maintaining interoperability with existing Java/Spring and RabbitMQ services throughout the migration. The customer’s platform enables real-time value movement across trading, treasury, settlement, and payment operations.
We are seeking a Senior Software Engineer to architect and develop payment integrations and financial infrastructure services – the core layer that enables seamless connectivity between the customer’s platform and external payment providers, banking networks, custodians, and fintech ecosystems. This role combines expertise in payment systems, treasury and settlement operations, asynchronous transaction processing, API integrations, and distributed systems engineering. You’ll contribute to both modern Go-based services and existing Java systems, supporting the development of robust, scalable payment features while driving upgrades to legacy infrastructure
- Strong experience in Go and/or Java (you’ll use both); C++ can be considered as well;
- Strong API integration experience, including REST APIs, webhooks, idempotency handling, error recovery, authentication and authorization, retries and backoff strategies
- Experience with Kafka, NATS, RabbitMQ, Redis, and PostgreSQL
- Excellent production debugging and troubleshooting skills
- Strong expertise in concurrency, distributed architectures, and system performance optimization
- Familiarity with Kubernetes and AWS deployments
- Payments / financial systems experience (reconciliation workflows, transaction lifecycle management, stablecoin or digital asset payment rails, ledgering systems, banking or fintech integrations, etc.)
- Experience building asynchronous or event-driven systems
- Product-oriented mindset with the ability to design scalable unified APIs across multiple providers
- Strong ownership mentality and ability to execute quickly in a startup environment
Nice to have skills
- Experience with banking APIs, payment gateways, stablecoin infrastructure, treasury systems
- Experience with FIX protocol, custodial platforms and crypto trading infrastructure
- Experience migrating legacy systems into modern service-oriented architectures
- Exposure to low-latency or high-throughput financial systems
- Familiarity with accounting or ledgering concepts
Responsibilities:
Design and integrate systems with payment processors, banks, custodians, payout providers, and fiat/stablecoin rails - Build unified internal APIs that hide differences between external providers
Standardize external APIs and webhook data into consistent internal models
Develop reliable payment flows for deposits, withdrawals, payouts, settlements, funding, and reconciliation
Manage complex scenarios such as retries, idempotency, duplicate/delayed webhooks, partial settlements, provider failures, and state recovery
Build event-driven, asynchronous systems using NATS JetStream, Redis, and PostgreSQL
Implement end-to-end transaction tracking and lifecycle state management
Improve system resilience, observability, audit trails, and operational tooling across payments
Work across modern Go microservices and legacy Java/Spring systems
Support migration efforts from RabbitMQ to NATS and from monolith to services
Partner closely with product, operations, finance, and infrastructure teams
Awesome projects with an impact
Udemy courses of your choice
Team-buildings, events, marathons & charity activities to connect and recharge
Workshops, trainings, expert knowledge-sharing that keep you growing
Clear career path
Absence days for work-life balance
Flexible hours & work setup - work from anywhere and organize your day your way







