Проект - Арх.Tool. (Инструмент архитектурного проектирования). Помогает пользователям строить архитектуры, создавать справочники - это все интегрируется с внутренними системами компании
Обязанности
• проектирование и разработка сложных 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) для оркестрации.