Обязанности:
- Разрабатывать сервисы карт, счетов, операций, подписок, реферальной системы и комиссий — от схемы данных до API и фоновых обработчиков.
- Работать с денежной логикой в PostgreSQL: проектировать транзакции, блокировки, индексы и безопасные миграции, сохранять инварианты балансов.
- Развивать обработчики Kafka и Pub/Sub, обеспечивать идемпотентность, дедупликацию, корректные повторы и восстановление после частичных сбоев.
- Развивать GraphQL и REST API, события WebSocket и поддерживать обратную совместимость с клиентскими приложениями.
- Интегрироваться с карточными, KYC, крипто- и почтовыми провайдерами; обрабатывать вебхуки и неопределённые результаты внешних вызовов.
- Вести подсистемы от уточнения бизнес-правил и проектирования до выпуска, проверки результата и документирования.
- Планировать изменения схемы и данных без остановки критичных production-сценариев, расследовать инциденты и безопасно восстанавливать незавершённые операции.
- Участвовать в 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 подход и кодогенерация типов.
- Умение безопасно менять работающую систему, сохранять обратную совместимость и планировать миграции и деплой.
- Самостоятельность, строгая типизация, статический анализ, тестирование рискованных сценариев, документирование и навыки расследования сбоев.
Будет плюсом: ClickHouse, GCP Cloud Run, Cloud Functions, Docker, GitLab CI, Redis, WebSocket, Sentry, опыт в финтехе или криптопродуктах.
Условия: полная занятость, график 5/2, удалённая работа.