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 Requirements * 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