AYA Group
Backend Developer (TypeScript/Node.js)
Work experience: 3–6 years
Full-time employment
Schedule: 5/2
Work format: remote
☑️ Responsibilities
- Develop services for maps, accounts, transactions, subscriptions, referral system, and commissions — from data schema to API and background processors
- Work with monetary logic in PostgreSQL: understand functions and triggers, maintain balance invariants, design transactions, locks, indexes, and safe migrations
- Develop Kafka and Pub/Sub processors: ensure idempotency, deduplication, correct retries, and recovery from partial failures
- Maintain the common Kafka controller and application event streams
- Develop GraphQL and REST APIs, as well as WebSocket events. Maintain backward compatibility with independently released client applications
- Integrate with card, KYC, crypto, and postal providers, process webhooks, and correctly handle cases where the result of an external call is unknown
- Manage a subsystem entirely: clarify business rules, design the solution, release it, verify the result, and document important scenarios
- Plan schema and data changes without stopping critical production scenarios
- Analyze application-level incidents across the API → DB → queue → provider chain and safely restore incomplete operations
- Participate in code reviews and technical decisions; improve checks with QA; coordinate contracts with frontend and mobile teams
☑️ Candidate Requirements
- 4+ years of commercial backend development in TypeScript/Node.js. Bun experience is a plus, but not required
- Strong PostgreSQL: hand-written SQL, query plans, indexes, transactions, locks, and isolation levels; ability to navigate a large existing schema
- Experience with PL/pgSQL, triggers, and stored functions, or willingness to quickly learn this layer. The database here not only stores data: part of the monetary rules are implemented within it
- Understanding of systems with monetary state: postings and double-entry bookkeeping, holds, transaction statuses, multi-currency, conversions, rounding accuracy, reconciliation, and compensation
- Experience with Kafka, Pub/Sub, or RabbitMQ: at-least-once delivery, reprocessing, deduplication, and understanding the boundaries between queues, databases, and external services
- Experience with GraphQL and/or REST. Schema-first approach and type code generation would be a plus
- Ability to safely change a live system: maintain backward compatibility, plan migration and deployment order, limit rollout, and verify the result after release
- Independence: ability to receive a task in business terms, clarify missing rules, design a solution, and bring it to production
- Engineering diligence: strict typing, static analysis, tests in the most risky areas, clear verification scenarios, and up-to-date documentation
- Ability to investigate failures using specific identifiers and data, separate fact from hypothesis, and avoid re-executing monetary or external operations without verifying the result
Will be a plus:
- ClickHouse, GCP Cloud Run, Pub/Sub and Cloud Functions, Docker, GitLab CI, Redis, WebSocket, Sentry, experience in fintech or crypto products
Contacts: recruiter contact