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

AYA Group · Удалённо · по договорённости

Компания
AYA Group
Город
Удалённо
Зарплата
по договорённости
Уровень
middle
Формат
удалённо
Удалённо
да

AYA Group
Backend-разработчик (TypeScript/Node.js)
Опыт работы: 3–6 лет
Полная занятость
График: 5/2
Формат работы: удалённо

Чем предстоит заниматься
-Разрабатывать сервисы карт, счетов, операций, подписок, реферальной системы и комиссий — от схемы данных до API и фоновых обработчиков
-Работать с денежной логикой в PostgreSQL: разбираться в функциях и триггерах, сохранять инварианты балансов, проектировать транзакции, блокировки, индексы и безопасные миграции
-Развивать обработчики Kafka и Pub/Sub: обеспечивать идемпотентность, дедупликацию, корректные повторы и восстановление после частичных сбоев
-Поддерживать общий Kafka controller и прикладные событийные потоки
-Развивать GraphQL и REST API, а также события WebSocket. Сохранять обратную совместимость с независимо выпускаемыми клиентскими приложениями
-Интегрироваться с карточными, KYC, крипто- и почтовыми провайдерами, обрабатывать вебхуки и корректно разбирать случаи, когда результат внешнего вызова неизвестен
-Вести подсистему целиком: уточнять бизнес-правила, проектировать решение, выпускать его, проверять результат и документировать важные сценарии
-Планировать изменения схемы и данных без остановки критичных production-сценариев
-Разбирать инциденты на уровне приложения по цепочке API БД очередь провайдер и безопасно восстанавливать незавершённые операции
-Участвовать в code review и технических решениях; вместе с QA улучшать проверки, с frontend и mobile согласовывать контракты

Наши пожелания к кандидатам
-От 4 лет коммерческой backend-разработки на TypeScript/Node.js. Опыт Bun полезен, но не обязателен
-Сильный PostgreSQL: SQL руками, планы запросов, индексы, транзакции, блокировки и уровни изоляции; умение разбираться в большой существующей схеме
-Опыт с PL/pgSQL, триггерами и хранимыми функциями либо готовность быстро освоить этот слой. База данных здесь не только хранит данные: в ней реализована часть денежных правил
-Понимание систем с денежным состоянием: проводки и двойная запись, удержания, статусы операций, мультивалютность, конвертации, точность округлений, сверка и компенсация
-Опыт с Kafka, Pub/Sub или RabbitMQ: at-least-once доставка, повторная обработка, дедупликация и понимание границ между очередью, БД и внешним сервисом
-Опыт GraphQL и/или REST. Плюсом будет schema-first подход и кодогенерация типов
-Умение безопасно менять живую систему: сохранять обратную совместимость, планировать порядок миграции и деплоя, ограничивать rollout и проверять результат после выпуска
-Самостоятельность: способность получить задачу в бизнес-терминах, уточнить недостающие правила, спроектировать решение и довести его до production
-Инженерная аккуратность: строгая типизация, статический анализ, тесты в наиболее рискованных местах, понятные сценарии проверки и актуальная документация
-Умение расследовать сбои по конкретным идентификаторам и данным, отделять факт от гипотезы и не повторять денежную или внешнюю операцию без сверки результата

Будет плюсом:
-ClickHouse, GCP Cloud Run, Pub/Sub и Cloud Functions, Docker, GitLab CI, Redis, WebSocket, Sentry, опыт в финтехе или криптопродуктах

Контакты: [контакты и ссылка отклика — после бесплатной регистрации] (mailto:[контакты и ссылка отклика — после бесплатной регистрации])

| | ()

Открыть и откликнуться →

У этой вакансии есть прямой контакт нанимающего — пишешь человеку, а не в ATS-форму. Контакт и ссылка на исходное объявление открываются после бесплатной регистрации: так мы защищаем их от ботов и парсеров.

Многих вакансий каталога нет на агрегаторах

12900+ вакансий от 1300+ компаний — в основном напрямую с карьерных сайтов и из Telegram-каналов. У 650+ из них есть контакт нанимающего: пишешь человеку, а не в общую очередь. Регистрация бесплатная — откроет контакты и подбор вакансий под твоё резюме.