Senior Backend Engineer (NestJS)
Techkraft Inc Pvt Ltd · Kathmandu, Nepal, NP
Checked against zohorecruit. Still accepting applications.
- Location
- Kathmandu, Nepal, NP
- Type
- Full-time
- Posted
About the Role
We are looking for a Senior Backend Engineer – NestJS to design, develop, and maintain scalable backend services and APIs using NestJS, Node.js, TypeScript, PostgreSQL, MongoDB, and Redis. You will work on secure APIs, integrations, background processing, real-time features, testing, and backend architecture while contributing to a high-quality, production-ready platform.
This is a hands-on senior role requiring strong backend engineering, problem-solving, and experience building production-grade applications. Fintech/payments experience is highly preferred.
Responsibilities
- Build and extend REST APIs and real-time (WebSocket) features in a modular NestJS application: modules, controllers, services, DTOs, guards, interceptors, and pipes.
- Model and evolve data in PostgreSQL (TypeORM) and MongoDB (Mongoose), including deploy-safe migrations, data backfills, indexing, and query tuning.
- Implement policy-based authorization and data scoping for new features.
- Build asynchronous and scheduled processing: queues with retries and dead-letter handling, idempotent jobs, cron jobs, and event-driven flows.
- Integrate third-party services: OAuth2 APIs, signed webhooks, schema-driven XML and JSON payloads, and file-based exchanges.
- Generate documents and data files: PDFs, Excel and CSV imports and exports, and large-file processing.
- Protect sensitive data with field-level encryption, log redaction, audit trails, and strict input validation.
- Write unit tests and integration tests against real databases, and keep the OpenAPI documentation current.
###
Required
- 4+ years building production APIs with NestJS: dependency injection, custom providers, dynamic modules, guards, interceptors, pipes, exception filters, and the request lifecycle.
- 4+ years of Node.js backend development in TypeScript.
- Strong PostgreSQL: schema design, transactions, indexing, query plans, and locking. Production experience with TypeORM or a comparable ORM, including migrations.
- MongoDB with Mongoose, including aggregation pipelines and data migrations.
- Redis and a job queue (BullMQ or similar): retries, backoff, idempotency, and concurrency control.
- Authentication and authorization: JWT access and refresh tokens, multi-factor authentication, OAuth2 and SSO, and role- or policy-based access control (CASL or similar).
- REST API design with OpenAPI (Swagger), and request validation with class-validator and class-transformer.
- Unit testing with Jest; integration testing with Supertest and Testcontainers or equivalent.
- Docker and Docker Compose for local development.
#
Nice to have
- Payments or fintech experience: merchant acquiring, ISO and agent models, merchant onboarding and underwriting, KYB and KYC, residuals and commissions, chargebacks.
- Multi-tenant SaaS design, including tenant isolation with PostgreSQL row-level security.
- Socket.IO with the Redis adapter.
- PDF generation with Puppeteer; streaming Excel, CSV, and XML processing; worker threads.
- Schema-driven integrations: XSD and JSON Schema, with validation in Ajv.
- Transactional outbox and event-driven design; exact decimal arithmetic for financial calculations.
- Observability: structured logging, correlation IDs with AsyncLocalStorage, metrics, and health checks.
- AWS container services, Terraform, and GitHub Actions.
- Incremental refactoring of large legacy services while raising test coverage.
- Working knowledge of Angular, for full-stack contributions.
Candidate Submission Guidelines
- Please submit a CV detailing each relevant project , including the start and end dates (month and year), role, team size, key responsibilities, and technologies used , to help us accurately verify your experience.
- Clearly indicate your years of hands-on professional experience with the core technology (NestJS), TypeScript , and other required technologies relevant to the role.
Stop retyping the same form
Upload a CV once, and Otto fills in this application for you.
Try Free Now →