Design and evolve domain APIs in NestJS/TypeScript following a strict layered architecture: thin controllers, business logic in the service layer, data access isolated in repositories.
Build event-driven communication between services with Pub/Sub, using patterns like transactional outbox and idempotent consumers to guarantee reliability.
Model and optimize PostgreSQL schemas and queries — proper types, indexing, and normalization decisions (when a field should really be a related table).
Use Redis for caching and session data, with deliberate TTL and invalidation.
Design clean, versioned REST contracts (plural resources, correct HTTP verbs and status codes, standardized JSON response envelopes).
Implement authentication and authorization (SSO/JWT via a central gateway), always revalidating permissions on the server — never trusting the client.
Collaborate with front-end/BFF engineers on typed, contract-first API interfaces.
Write unit and integration tests as a first-class part of delivery.
Participate in code and architecture reviews, and help make (and document) sound architectural decisions.
Requirements
Solid experience with NestJS and the Node.js ecosystem.
Strong TypeScript and object-oriented / clean-architecture fundamentals (SOLID, separation of concerns, dependency inversion).
Deep PostgreSQL knowledge: schema design, indexing, query optimization.
Hands-on experience with event-driven / message-based architectures (Pub/Sub, queues, or similar) — retries, idempotency, ordering.
Comfort with layered / hexagonal service design and keeping business logic out of controllers and infrastructure.
Experience designing and consuming REST APIs at scale (versioning, contracts).