Описание вакансии
Мы — аккредитованная IT-компания Aéza Group, молодой и динамично развивающийся хостинг провайдер, который ежегодно расширяет спектр услуг и функционал, которыми пользуются более сотни тысяч клиентов по всему миру.
Ищем Backend Developer (TS/JS) — Middle+ / Senior в нашу команду.
Обязательные требования:
Язык и платформа
- TypeScript / JavaScript — уверенное владение, дженерики, утилиты типов;
- Node.js — опыт разработки production-сервисов:
- Event Loop — фазы, microtask/macrotask очереди, отличие server-side от browser-аналога;
- Streams — Readable, Writable, Transform, Duplex, pipeline, backpressure;
- Worker Threads — распараллеливание CPU-bound задач;
- Память и GC — V8 heap, управление ресурсами, утечки памяти.
Фреймворк:
- NestJS — опыт разработки на production, понимание модулей, DI, guards, interceptors, decorators;
- TypeORM — опыт работы на production (entities, repositories, migrations, query builder).
БД и проектирование схемы:
- PostgreSQL — проектирование схемы БД, нормализация (1NF–3NF), выбор типов данных;
- Индексы — B-tree, GIN, GiST, составные индексы, понимание когда индекс не используется;
- Запросы — оптимизация, EXPLAIN ANALYZE, понимание плана выполнения;
- Транзакции и изоляция — уровни изоляции, deadlock, MVCC;
- Миграции — версионирование схемы, backward-compatible миграции, data migrations.
API:
- REST API — проектирование и реализация, понимание HTTP, статус-кодов, заголовков, версионирования;
- WebSockets — опыт построения Real-time коммуникации, управление подключениями, reconnection, heartbeat.
Безопасность:
- Аутентификация и авторизация — JWT, OAuth 2.0, refresh-token rotation, SSO, RBAC/ABAC;
- Валидация и санитизация входных данных — защита от SQL-инъекций и XSS;
- Security Headers — CORS, CSP, Helmet, HSTS;
- Secrets Management — работа с credential-ами без хардкода (env vars, HashiCorp Vault, Kubernetes Secrets);
- OWASP Top 10 — базовое понимание распространённых уязвимостей веб-приложений.
Инфраструктура:
- Docker + Docker Compose — написание Dockerfile, docker-compose для локальной разработки и деплоя;
- GitLab CI/CD — настройка и поддержка пайплайнов (lint, test, build, deploy);
- Kubernetes — базовое понимание (pods, deployments, services, ingress);
- Observability — структурированное логирование (pino, winston), метрики (Prometheus, Grafana), трейсинг (Jaeger, OpenTelemetry), алертинг (Sentry).
Инструменты:
- RabbitMQ — опыт работы с брокером сообщений, очереди, Pub/Sub, повторная обработка;
- Redis — кеширование, сессии, Rate Limiting;
- Centrifugo — опыт работы с Real-time сервером для push-уведомлений и WebSocket-коммуникации;
- Git — уверенная работа, Code Review, resolution конфликтов.
Процессы:
- Git Flow / trunk-based development — feature-ветки, hotfix-ветки, управление релизами;
- Deployment Environments (dev → staging → production) — понимание promotion-пайплайна, rollback-стратегии;
- Линтинг и форматирование — ESLint, Prettier, настройка Pre-commit Hooks (husky, lint-staged).
Архитектура:
- Микросервисная архитектура — опыт проектирования и реализации, понимание ограничений и компромиссов (latency, consistency, operational complexity);
- Архитектурные паттерны — CQRS, Saga, Event Sourcing, Outbox Pattern, Circuit Breaker, Retry с exponential backoff;
- Интеграция сервисов — sync (REST/gRPC) и async (RabbitMQ) взаимодействие, принципы eventual consistency.
Тестирование:
- Unit-тесты (jest / vitest) + интеграционные тесты; понимание test pyramid.
Будет плюсом:
Frontend (для full-stack задач):
- React — уверенный уровень (hooks, компонентная модель, lifecycle), способность закрывать задачи уровня Middle;
- Zustand — опыт работы со store, синхронизация состояния с бэкендом;
- Next.js (App Router) — server components, server actions, SSR;
- React Query (TanStack Query) — кеширование, инвалидация, optimistic updates;
- Vite — опыт сборки и конфигурации;
- Tailwind CSS — базовое владение для задач на стыке.
Инфраструктура (дополнительно)
- Kafka — опыт работы как альтернатива или дополнение к RabbitMQ.
Платёжные системы
- Опыт интеграции платёжных сервисов (Stripe, ЮKassa, Тинькофф Payments и аналоги);
- Крипто-платёжные системы — опыт работы с крипто-платежами и blockchain-интеграциями.
AI:
- Опыт локальной развёртки AI-моделей (Ollama, LM Studio, vLLM и аналоги);
- Использование AI в работе — LLM-assisted разработка (code generation, code review, анализ логов), AI-агенты, RAG;
- Интеграция AI API (OpenAI, Anthropic, локальные модели) в backend-сервисы;
- MCP (Model Context Protocol) — понимание протокола, опыт создания и подключения MCP-серверов.
Критические Soft Skills:
- Ответственность — доведение задач до конца, владение результатом;
- Автономность — способность самостоятельно разбираться в новых доменах и принимать технические решения;
- Code Review — конструктивная обратная связь, внимание к деталям;
- Коммуникация — умение обсуждать архитектурные решения и аргументировать свой выбор.
Контекст роли
Основной фокус — backend-разработка на NestJS. Frontend-навыки нужны для двух типов задач:
1. API-проектирование с учётом Frontend — понимание того, как данные потребляются на клиенте (Pagination, Partial Updates, кеш-инвалидация), позволяет проектировать удобные и эффективные endpoints;
2. Закрытие Frontend-задач уровня Middle — возможность брать фронтенд-таски для ускорения Full-stack фич без блокировки по Frontend-команде.
Что мы предлагаем:
-
Молодой и амбициозный коллектив профессионалов (средний возраст 25–30 лет), готовых к новым идеям и совместному развитию бизнеса;
-
Возможность влиять на стратегические решения компании и запуск новых продуктов — ваш опыт будет реально использоваться;
-
Обучение и рост: повышение квалификации за счёт компании, участие в международных проектах, возможность поднять свой грейд и развивать экспертизу в digital/hosting-сфере;
-
Поддержка личного и профессионального развития: доступ к онлайн-консультациям с психологом, регулярные ревью и обратная связь;
-
Своевременная оплата труда дважды в месяц, премия за инициативу, идеи и переработки, готовность внедрения ваших разработок;
-
Вовлечённость в корпоративную жизнь: добровольное участие в мероприятиях, обмен опытом, совместное обсуждение новых стратегий.
Перед тем как откликаться:
Мы ценим осознанный подход к работе. Пожалуйста, изучите нашу компанию, продукты и направления, это поможет подготовиться к собеседованию и сделать разговор максимально продуктивным, чтобы сразу видеть, где ваш опыт будет полезен.
* Удаленку не рассматриваем!