Backend-разработчик (Node.js / TypeScript)

Дата размещения вакансии: 17.08.2026
Работодатель: Межрегиональная инспекция Федеральной налоговой службы по управлению долгом
Уровень зарплаты:
от 100000 до 150000 RUR
Город:
Москва
Долгоруковская улица 36с1
Требуемый опыт работы:
не требуется

Мы разрабатываем корпоративные информационные системы: учётные реестры, CRM-подобные решения, системы согласования и маршрутизации бизнес-процессов, аналитические дашборды. Это сложные внутренние платформы с богатой доменной логикой. Сейчас в контуре 26 сервисов: реестры, учётные и справочные системы, дашборды, конструктор опросов и портал как единая точка входа. Ищем разработчика, который возьмёт на себя серверную часть этих систем — от модели данных до эксплуатации в проде.

Обязанности

  • Проектировать и разрабатывать HTTP API для внутренних систем: реестры, справочники, согласование, аналитика
  • Отвечать за модель данных: схема, индексы, миграции, агрегаты, политика хранения — с расчётом на реальный объём, а не только на текущую задачу
  • Реализовывать доменную логику бизнес-процессов: состояния и переходы, права на действие в зависимости от роли и контекста, обработка исключений из общих правил
  • Поддерживать ролевую модель на сервере как источник истины: интерфейс отражает права, решение о доступе принимает backend
  • Описывать контракты API в OpenAPI: по спецификации фронтенд генерирует клиент, поэтому контракт — часть разработки, а не документация постфактум
  • Реализовывать серверную часть сложных таблиц и дашбордов: фильтрация, сортировка, серверная пагинация, выборки по большим объёмам, экспорт
  • Развивать интеграции между сервисами и с внешними системами, включая ФНС: таймауты, повторные попытки, идемпотентность
  • Поддерживать на стороне API механизмы актуализации данных: условные запросы (ETag, Last-Modified), корректные заголовки кэширования, эндпойнты, выдерживающие регулярный опрос клиентом
  • Сопровождать свой код в эксплуатации: развёртывание, настройка nginx, логирование, диагностика инцидентов
  • Участвовать в код-ревью, оптимизировать запросы и производительность.

Требования. Технически важно:

- Продакшн-опыт с Node.js: асинхронная модель и её типичные ошибки, потоки, обработка больших объёмов данных, ES-модули;

- Уверенный TypeScript: дженерики, точные типы для контрактов API, слоя данных и доменных сущностей; использование any требует обоснования;

- Express или Fastify с продуманной архитектурой: разделение слоёв, валидация входных данных, единая обработка ошибок;

- Практическое владение SQL: сложные запросы, чтение плана выполнения, проектирование схемы под нагрузку. MySQL или MariaDB;

- Работа с базой через драйвер mysql2: пул соединений, параметризованные запросы, транзакции;

- Валидация данных на границе API: Zod или аналогичное решение, единый контракт с фронтендом;

- Глубокое понимание HTTP: коды и заголовки, CORS и предзапросы, кэширование, таймауты. Значительная часть проблем интеграции относится к транспорту, а не к логике;

- Аутентификация и авторизация: сессии или токены, разграничение прав, аудит действий;

- Администрирование своего приложения в Linux и Windows Server: служба или systemd, nginx, разбор логов, права на файлы;

- Аккуратность в работе с персональными данными: понимание, зачем IP хранится в виде солёного хэша и почему идентификатор посетителя анонимный;

- Уверенное владение git.

Будет плюсом:

- Аналитический склад ума и интерес к предметной области;

- Опыт с реестровыми и учётными системами в госсекторе или крупных организациях;

- Опыт frontend-разработки на React и TypeScript: помогает договариваться о контрактах без посредников;

- Опыт с NestJS, Prisma, PostgreSQL — пригодится при запуске новых сервисов;

- Очереди и фоновые задачи: планировщики, воркеры, BullMQ или аналоги;

- Unit- и интеграционные тесты на API: Vitest, Jest, Supertest;

- Опыт с временными рядами, агрегатами и разбором логов;

- Realtime: WebSocket, SSE;

- Осмысленное применение ИИ-инструментов в продакшене;

- Python или PHP как второй язык: часть унаследованных сервисов написана не на Node.

Стек, с которым столкнётесь:

Node.js 20+, TypeScript, Express, MySQL (mysql2 без ORM), nginx как reverse proxy, OpenAPI для контрактов. Фронтенд — React, TypeScript, Vite.

Условия

  • оформление в соответствии с 79-ФЗ «О государственной гражданской службе Российской Федерации»
  • стабильный доход в компании Федерального масштаба, а также премирование по итогам работы
  • ежегодный отпуск 30 календарных дней + отпуск за выслугу и ненормированный рабочий день
  • реальные возможности профессионального и карьерного роста
  • социальный пакет, включающий возможность прикрепления к ведомственной поликлинике, льготные путевки в ведомственные санатории
  • удобное расположение офиса в центре города Москвы,; шаговая доступность от м. Новослободская (2 мин.)