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.