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

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

Коротко

Fullstack-разработчик (упор на backend) для развития production-платформы товарной благотворительности крупнейшего банка еды в России — от монолита к мультитенантной архитектуре с выделением сервисов. Работа в рамках трёхслойной архитектуры (Route Handlers → Service Layer → Infrastructure) на Node.js/TypeScript/Next.js/Prisma/PostgreSQL, с доработкой UI на React. Вся разработка ведётся через AI-агентов (Claude Code / Codex) в agentic-режиме — обязателен реальный опыт такой работы, а не просто автодополнение в IDE. Требуется уверенное владение PostgreSQL (включая EXPLAIN ANALYZE, индексы, транзакции), Kubernetes/Docker на базовом уровне и понимание требований 152-ФЗ.

О компании
Банк еды «Русь» — первая фудшеринговая организация и самый крупный банк еды в России. Входит в ТОП-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-подход к разработке

Хватит откликаться.
Получите рекомендацию.

$10 стартовых кредитов

Всего 60 секунд, полностью на автопилоте — AI-агенты Eraldt читают ваше резюме, определяют подходящие роли, находят живые вакансии и людей, которые могут вас порекомендовать, пишут им личные письма и добиваются рекомендации.

Это не отклик на вакансию: резюме не уходит в компанию, а рекомендацию именно по этой роли мы не обещаем.

Посмотрите, кто ещё получает интервью на автопилоте