Мы - аккредитованная 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-сфере;
-
Поддержка личного и профессионального развития: доступ к онлайн-консультациям с психологом, регулярные ревью и обратная связь;
-
Своевременная оплата труда дважды в месяц, премия за инициативу, идеи и переработки, готовность внедрения ваших разработок;
-
Вовлечённость в корпоративную жизнь: добровольное участие в мероприятиях, обмен опытом, совместное обсуждение новых стратегий.
Перед тем как откликаться:
Мы ценим осознанный подход к работе. Пожалуйста, изучите нашу компанию, продукты и направления, это поможет подготовиться к собеседованию и сделать разговор максимально продуктивным, чтобы сразу видеть, где ваш опыт будет полезен.
* Удаленку не рассматриваем!