Местоположение: Bakı
You'll work on Node.js microservice monorepos with 15+ services — Express (CommonJS) and NestJS (TypeScript) — behind a custom API gateway, running on Docker/Kubernetes with GitLab CI pipelines. You'll deliver features across these services end-to-end — route to database to message queue to tests — working alongside a senior developer who reviews your work and helps you grow into architecture-level decisions. This role is for someone who already ships production Node.js code and wants to level up in distributed systems, not someone learning backend from scratch. What You'll Do Build and maintain REST endpoints and business logic in Express and NestJS services: workflow features, admin functionality, notifications, file handling Work with PostgreSQL through Sequelize and TypeORM (queries, migrations, transactions), MongoDB through Mongoose, and Redis for caching Implement RabbitMQ producers and consumers for cross-service events (notifications, audit history, role sync) Write unit and integration tests for everything you ship (Mocha/Chai/Sinon, Jest, Supertest) Participate in code review — receiving and giving feedback Help migrate legacy Express services to NestJS/TypeScript, following the patterns the team has established Debug issues in dev and staging environments using logs, correlation IDs, and APM traces Must-Have 2–4 years backend development with Node.js in production (Express or NestJS) Solid JavaScript fundamentals: async/await and promises, closures, error handling; basic understanding of the event loop Working TypeScript knowledge, or strong JavaScript with clear willingness to work in TypeScript daily Hands-on SQL experience (PostgreSQL preferred) including writing queries and using an ORM; basic familiarity with MongoDB or Redis Experience writing tests for your own code — you don't need to be forced to test Comfortable with Git workflows, merge requests, and working from code review feedback Docker basics: running services with docker-compose, reading a Dockerfile Nice-to-Have Message queue exposure (RabbitMQ, Kafka, or NATS) NestJS specifically (modules, providers, dependency injection) CI/CD exposure (GitLab CI or equivalent) Kubernetes basics Interested candidates can apply by clicking the link provided in the "Apply" button.