Apply:
[email protected]
Key Responsibilities
1. Own Features End to End
Take features from requirement to production on your own: data model, Go service,
API, Next.js UI, tests, rollout and monitoring.
Write short technical designs for current features covering data, APIs, failure handling and security, and review them with the team.
Break large payment features into small, safe releases, and estimate and plan your own work.
2. Backend: Go Microservices
Design, build and maintain Go microservices for payments, payouts, wallets, ledgers,
onboarding and reporting.
Build and version REST and gRPC APIs, including the public APIs and webhooks that businesses integrate with.
Build event-driven flows with message queues (e.g., Kafka, NATS or RabbitMQ), with retries, dead-letter handling and idempotent consumers.
Model data in PostgreSQL with transactions, constraints and migrations that keep balances consistent, and use Redis for caching and rate limiting.
Integrate with banks, payment providers, blockchain networks and KYC vendors,
handling timeouts, retries and their webhooks safely.
Write safe concurrent Go code, with context timeouts and proper locking, and without race conditions or goroutine leaks.
3. Payments and Money Correctness
Build money movement flows: pay-ins, single and bulk payouts, currency conversion with quotes, fees, refunds and returned payments.
Build business payment workflows such as bulk supplier payouts, approval chains,
scheduled payments and payment reports.
Record every movement in a double-entry ledger, so balances always reconcile with banks, partners and blockchains.
Make every money-moving API idempotent, so retries and duplicate requests never move money twice.
Full-Stack Software Engineer
Page 2 of 5Handle money with exact decimal or integer minor-unit arithmetic, never floating point, across currencies and stablecoin token decimals.
Track every transaction through its full lifecycle (pending, processing, settled, failed,
returned) and build reconciliation for it.
4. Frontend: Next.js
Build the Fin dashboard and hosted checkout in Next.js, React and TypeScript:
payments, payouts, wallets, virtual accounts, onboarding and reports.
Build complex B2B screens: role-based access, maker-checker approvals, large transaction tables, filters, bulk actions and exports.
Show money and statuses exactly as the backend records them,
with no stale balances from caching.
Build KYB and KYC onboarding flows with document uploads, verification states and resubmissions.
Turn Figma designs into accessible, responsive and reusable components.
5. Quality, Security and Production Ownership
Write unit, integration and end-to-end tests across Go and TypeScript code, covering every money-moving path.
Ship through CI/CD with feature flags, secure database migrations and gradual rollouts.
Add logs, metrics and traces to what you build (e.g., OpenTelemetry, Prometheus,
Grafana, Sentry), and own its alerts.
Build security in: authentication and authorization, input validation, secrets management, OWASP Top 10 protection, and safe handling of personal and bank data.
Join an on-call rotation for the services you own, and lead fixes and root-cause analysis when something breaks.
6. Collaboration
Work with product, design, QA and compliance to turn financial and regulatory rules into working software.
Review code, share knowledge and help raise engineering standards.
Use AI coding assistants responsibly for understanding code, implementation,
refactoring and tests, while owning quality, security and correctness.
Required Qualifications
5+ years of professional software development, building and running production web applications across frontend and backend.
2+ years building payments products, with hands-on work on money movement such as transfers, payouts, collections, card or bank payments, or wallets. This is a must.
Experience at a fintech, bank, financial institution or payments company, or on accounts payable (AP) and other B2B finance products.
Production experience with Go (Golang) for backend services. Strong backend experience in another language (Java, Kotlin or Node.js) plus real Go projects may be considered.
Strong production experience with React, TypeScript and Next.js.
Experience designing and running microservices: REST and gRPC APIs, message queues and service-to-service communication.
Strong SQL and PostgreSQL skills, including transactions, indexing and migrations.
A track record of owning features end to end, including how they behave in production.
Strong written and spoken English.
Technical Skills
Backend (Go)
Go: goroutines, channels, context, error handling, interfaces, generics and net/http.
API design: REST, gRPC and protobuf, OpenAPI, versioning, pagination, and signed webhooks with retries.
Event-driven systems: Kafka, NATS or RabbitMQ, the outbox pattern, idempotent consumers and eventual consistency.
Data: PostgreSQL (transactions, isolation levels, locking, indexes, migrations) and
Redis.
Security: OAuth2/OIDC, JWT, mTLS between services, HMAC request signing and secrets management.
Frontend (Next.js)
TypeScript, React (hooks, state, performance) and Next.js (App Router, Server and
Client Components, SSR and ISR, caching and revalidation).
Data fetching and state with TanStack Query, Redux Toolkit or Zustand, forms with
React Hook Form and Zod, and Tailwind CSS or similar.
Infrastructure, Testing and Delivery
Docker, Kubernetes and a major cloud platform (AWS, GCP or Azure).
CI/CD (e.g., GitHub Actions, GitLab CI), feature flags and safe database migrations.
Observability with OpenTelemetry, Prometheus, Grafana and Sentry or similar.
Testing: Go’s testing package, testify and the race detector; Jest or Vitest with React
Testing Library; Playwright for end-to-end tests; Testcontainers for integration tests.
AI coding assistants (e.g., Claude, GitHub Copilot, Cursor), used with careful review.
Nice to Have
Stablecoin or blockchain experience: wallets, on-chain transfers, confirmations and
EVM-compatible networks.
Experience with cross-border payments, remittances, currency exchange or treasury systems.
Integrations with payment rails or networks, such as ACH, SEPA, SWIFT, Faster
Payments, UPI, mobile money or card networks.
Designing ledgers and reconciliation systems.
Building compliance-related systems: KYC/KYB, AML and sanctions screening, and transaction monitoring.
Experience in regulated environments, such as PCI DSS, SOC 2 or ISO 27001.
GraphQL, monorepos (e.g., Turborepo, Nx) or micro-frontends.
Experience with markets Fin serves, such as South and Southeast Asia, the Middle
East or Africa.
Apply:
[email protected]
📌 Full-Stack Software Engineer (India)
🏢 Fin.com
📍 India