Ищем Backend разработчика NestJS.
Обязанности:
- Проектирование и разработка сложных backend-сервисов и API.
- Принятие ключевых архитектурных решений и их обоснование.
- Оптимизация производительности и отказоустойчивости приложений.
- Написание чистого, поддерживаемого и тестируемого кода.
- Ревью кода коллег, поддержка качества кодовой базы.
- Участие в планировании (оценка задач, выбор технологий).
- Настройка инфраструктуры и процессов CI/CD.
- Решение production-инцидентов, анализ логов и метрик.
Требования:
- NestJS на продвинутом уровне:
· Понимание философии NestJS (модульность,Dependency Injection, декораторы).
· Полное владение всеми слоями приложения: контроллеры, провайдеры (сервисы), модули, middleware, guards,interceptors, pipes, exception filters.
· Работа с кастомными декораторами и динамическими модулями. Конфигурация приложения с использованием ConfigModule (env-переменные, валидация через Joi/class-validator).
· Глубокое понимание жизненного цикла приложения и хуков жизненного цикла (OnModuleInit, OnApplicationBootstrap ит.д.)
- Базы данных и ORM:
· Prisma на продвинутом уровне: сложные связи,транзакции, миграции, индексы, оптимизация запросов (query logging,анализ EXPLAIN).
· Работа с реляционными БД: PostgreSQL.
· TypeScript: Экспертный уровень. Понимание generics,utility types, advanced types, декораторов, конфигурации tsconfig.json.
- API и протоколы:
· REST API: Глубокое понимание принципов, версионирование, проектирование эндпоинтов.
- Аутентификация и авторизация:
· JWT (полный цикл: access/refresh токены).
· Passport.js стратегии (local, jwt, oauth2).
· Ролевая (RBAC) и разрешительная (ABAC/PBAC) модели авторизации.
Будет огромным плюсом
· Опыт с NestJS-совместимыми библиотеками: @nestjs/axios, @nestjs/throttler, @nestjs/schedule, @nestjs/bull (очередина Redis).
· Знание альтернативных Node.js фреймворков (Express, Fastify) — понимание, что "под капотом" у NestJS.
· Опыт работы с Serverless (AWS Lambda + NestJS в режиме standalone).
· Понимание принципов теории очередей и обработки фоновых задач.
· Знакомство с Kubernetes (k8s) для оркестрации.