Fullstack-разработчик (Node.js / Next.js, упор на backend)

Благотворительный фонд Банк еды Русский Крест

Fullstack-разработчик (Node.js / Next.js, упор на backend)

Москва, улица Богданова, 50

Метро: Солнцево

Описание вакансии

Банк еды «Русь» — первая фудшеринговая организация и самый крупный банк еды в России. Входит в ТОП-3 благотворительных фондов в России по объёмам оказываемой помощи в денежном эквиваленте. Наша миссия: мы создаём инструменты и технологии перераспределения товаров для повышения качества жизни людей и заботы об окружающей среде.

Что мы разрабатываем

Единая платформа товарной благотворительности — рабочий продукт, уже эксплуатируемый в production, а не стартап с нуля. Сегодня платформа закрывает розничный фудшеринг (магазины → волонтёры → благополучатели) и развивается в полноценную национальную инфраструктуру.

Куда мы идём

Стратегическая цель — стать национальным оператором товарной благотворительности: единая платформа, к которой подключаются десятки региональных банков еды и партнёрских НКО, с раздельным и защищённым контуром данных для каждого.

Ближайшая дорожная карта:

  • Мультитенантность — платформа, обслуживающая много организаций на одной инфраструктуре с изоляцией данных (Row-Level Security)
  • Выделение сервисов из монолита — интеграции и общие функции переезжают в отдельные сервисы, связанные событиями
  • Новые направления фудшеринга — помимо розничного: «Корзина доброты» / марафоны, промышленный фудшеринг, зоофудшеринг
  • Кабинет благополучателя и портал НКО — self-service для получателей помощи и организаций-партнёров
  • Государственные интеграции — ЕСИА, Госуслуги, СМЭВ
  • Постепенный уход от legacy-учёта в 1С в пользу собственной платформы

Это редкая возможность строить технологию, которая измеряется не выручкой, а количеством накормленных людей.

Как мы работаем — AI-first

Вся разработка ведётся с активным использованием AI-агентов (Claude Code / Codex и аналоги) — в режиме полноценной agentic-разработки, а не автодополнения.

Поэтому нам нужен человек, который:

  • Реально ведёт разработку через AI-агента (Claude Code CLI / Codex / Cursor agentic-режим), а не «принимает подсказки IDE»
  • Умеет управлять контекстом модели и разбивать задачу так, чтобы агент выдавал корректный результат
  • Верифицирует сгенерированный код — тестами и построчным ревью diff’а, понимает, где модели ошибаются и где им нельзя доверять
  • Может объяснить и починить код, который отправляет в ревью, независимо от того, кто его написал — человек или модель

Если вы пишете весь код руками и относитесь к AI с подозрением — это не наша вакансия. Если вы уже перестроили свой процесс вокруг AI-агентов и отвечаете за качество результата — нам по пути.

Что предстоит делать
  • Разработка серверной части платформы по задачам, декомпозированным техлидом
  • Работа в рамках трёхслойной архитектуры: Route Handlers → Service Layer → Infrastructure
  • Реализация REST API: единый контракт ответа, обработка ошибок, валидация на границах (Zod)
  • Работа со схемой данных Prisma: модели, миграции, транзакции
  • Доработка интерфейсов: экраны и формы на React / Next.js для своих задач — от API до UI
  • Фоновые процессы: задачи по расписанию (cron), outbox, retry-политики, идемпотентность
  • Интеграции с внешними системами: МойСклад JSON API, Bitrix24 CRM, SMS / email / Telegram / VK / MAX
  • Работа с S3-совместимым хранилищем (Yandex Object Storage): presigned URLs, валидация файлов
  • Участие в развитии ролевой модели доступа (RBAC) и изоляции данных (RLS)
  • Написание unit/integration-тестов к каждой задаче (реальная БД в integration-тестах) и e2e-сценариев на Playwright
  • Диагностика проблем на тестовых стендах и в production: логи, метрики, состояние подов в Kubernetes
  • Участие в code review
Требования

Обязательные навыки

AI-разработка

  • Реальный опыт agentic-разработки через AI-агента (Claude Code / Codex / аналоги) как основного инструмента — не автодополнение
  • Умение верифицировать и дорабатывать сгенерированный код

Языки и runtime

  • TypeScript 5.x — уверенный уровень
  • Node.js 22 — уверенный уровень: event loop, async/await

Данные и PostgreSQL

  • Реляционная модель данных — понимание: таблицы и связи (1:1, 1:N, N:M), первичные и внешние ключи, ограничения целостности (NOT NULL, UNIQUE, CHECK), нормализация и осознанная денормализация
  • SQL / PostgreSQL 16 — уверенный уровень: JOIN и агрегации, подзапросы и CTE, оконные функции — базово; транзакции и уровни изоляции, блокировки
  • Индексы — понимание: B-tree и когда он не помогает, составные и частичные индексы, цена индекса на запись
  • EXPLAIN / EXPLAIN ANALYZE — умение прочитать план запроса: Seq Scan против Index Scan, способы соединения (Nested Loop, Hash Join), расхождение оценки строк с фактом; найти по плану причину медленного запроса и проверить, что исправление помогло
  • Запросы из ORM — умение увидеть SQL, который генерирует Prisma, и распознать проблему N+1

Backend и API

  • Next.js 14 App Router — уверенный уровень: Route Handlers, middleware
  • REST API design — базовый/уверенный уровень
  • Zod — уверенный уровень: валидация на системных границах
  • Prisma 5.x — уверенный уровень: schema, migrations, $transaction
  • Redis — базовый уровень: кэш, rate limiting

Frontend

  • React 18 — уверенный базовый уровень: компоненты, хуки, формы
  • TanStack Query 5 — базовый уровень
  • Tailwind CSS — базовый уровень

Аутентификация, безопасность и данные

  • NextAuth.js v4 — базовый уровень: JWT-сессии, Credentials provider
  • Понимание базовых принципов Web Security (OWASP Top 10, CSRF, CSP)
  • Аутентификация и авторизация — понимание разницы: аутентификация устанавливает, кто пользователь (логин, сессия, токен), авторизация решает, что ему разрешено; понимание, почему это разные ответы сервера (401 и 403)
  • RBAC — понимание модели: пользователь → роли → права на действие с ресурсом; проверка прав на сервере при каждом запросе, а не только скрытием кнопок в интерфейсе; принцип минимальных привилегий
  • Изоляция данных — понимание, зачем нужна проверка не только права на действие, но и принадлежности конкретной записи (доступ по чужому ID); общее представление о Row-Level Security в PostgreSQL
  • Понимание требований 152-ФЗ к обработке персональных данных — платформа работает с паспортными данными и СНИЛС

Тестирование

  • Jest 29 — unit/integration тесты
  • Playwright — уверенный уровень: e2e-сценарии, локаторы, фикстуры, авторизованные сессии; отладка падений по trace, скриншотам и видео; запуск в headless Chromium, в том числе в CI

Инфраструктура и эксплуатация

  • Linux и командная строка — базовый уровень: bash, файлы и права, процессы, логи, переменные окружения, SSH
  • Виртуальные серверы (VPS/VDS) — понимание устройства: ОС, диски, сетевые интерфейсы, доступ и базовая настройка
  • Виртуализация и контейнеризация — понимание разницы: виртуальная машина со своим ядром поверх гипервизора против контейнера на общем ядре хоста (namespaces, cgroups); образы и слои
  • Docker / Docker Compose — базовый уровень: сборка образа, запуск локального окружения
  • Сети — базовый уровень: TCP/IP, DNS, HTTP/HTTPS и TLS, порты, NAT, балансировщики и обратные прокси
  • Kubernetes — базовый уровень: Pod, Deployment, Service, Ingress, ConfigMap/Secret, CronJob; как приложение получает конфигурацию и секреты
  • kubectl — уверенное базовое использование: get, describe, logs, exec, port-forward, rollout status; работа с контекстами и namespace
  • Git и CI/CD — merge request’ы, чтение и отладка пайплайнов GitLab CI

Желательные навыки

  • Fastify — на нём построены выделенные сервисы
  • Событийная интеграция сервисов: брокер сообщений (NATS или аналог), паттерн transactional outbox
  • Yandex Cloud — понимание основных сервисов: Compute Cloud, Managed Service for Kubernetes, Object Storage, VPC и группы безопасности, IAM и сервисные аккаунты, Lockbox
  • Наблюдаемость — Grafana (чтение дашбордов, поиск нужной панели, простые запросы), VictoriaMetrics (метрики, запросы на PromQL/MetricsQL); умение по метрикам и логам понять, что пошло не так
  • Helm — чтение и правка чартов
  • МойСклад JSON API или аналогичные ERP/складские системы
Наши возможности
  • Работа в крупнейшем благотворительном проекте в России
  • Удалённый формат работы
  • Официальное оформление по ТК РФ
  • Возможность учиться у техлида и расти в проекте с реальной production-нагрузкой
Что поможет выделиться при отклике
  • Описание вашего AI-процесса: как вы ведёте задачи через AI-агента, как декомпозируете, как верифицируете результат
  • Примеры кода/pet-проектов, где виден agentic-подход к разработке
Навыки
  • Node.js
  • PostgreSQL
  • Kubernetes
  • Linux
  • Redis
  • REST API
  • TypeScript
  • Git
Посмотреть контакты работодателя

Адрес

Похожие вакансии

ГК Орбита
  • Москва

  • Не указана

Рекомендуем
Интелион Дата
  • Москва

  • до 200000 RUR

Рекомендуем
  • Москва

  • до 200000 RUR

Рекомендуем
Урал Логистика
  • Москва

  • до 200000 RUR

Транснефть-Технологии

Fullstack Node.js/TypeScript разработчик

Транснефть-Технологии

  • Москва

  • до 200000 RUR

ИНГРАД Проект

Backend Rust Developer — Junior+

ИНГРАД Проект

  • Москва

  • до 200000 RUR

Фабрика Решений
  • Москва

  • до 250000 RUR

Инжпроект-М
  • Москва

  • до 250000 RUR

Рондем
  • Москва

  • до 250000 RUR

Easy From China
  • Москва

  • до 300000 RUR

Москомэкспертиза

Backend-разработчик

Москомэкспертиза

  • Москва

  • до 300000 RUR

Мираполис
  • Новосибирск

  • до 300000 RUR

Мираполис
  • Воронеж

  • до 300000 RUR

ИдаПроджект
  • Краснодар

  • до 300000 RUR

Мираполис
  • Санкт-Петербург

  • до 300000 RUR

Хотите оставить вакансию?

Заполните форму и найдите сотрудника всего за несколько минут.
Оставить вакансию