REMOTE GLOBAL | UTORG
Senior Backend Developer (TypeScript/Node.js)
Разработка архитектурных и технических решений, самостоятельное управление сложными интеграциями и формирование технического направления. Нам нужен эксперт с твердым видением.
О Utorg
Основанная в 2019 году, Utorg создает инфраструктуру для платежей в стейблкоинах: on- и off-ramps, кошельки с самостоятельным хранением и криптокарты. Более 2 миллионов пользователей в 130+ странах уже покупают, хранят и тратят криптовалюту через наше приложение. На стороне B2B те же решения питают 2100+ платформ, через которые на сегодняшний день перемещено более $2,4 млрд.
Полностью авторизованы MiCA на территории ЕЭЗ. Сертифицированы PCI DSS Level 2. Поддерживаются Dragonfly, TA Ventures и Hypra.
Местоположение: Удаленная работа
Технологический стек: TypeScript, Node.js, NestJS, PostgreSQL, TypeORM, NATS JetStream, Redis, Jest, Docker, Kubernetes, Google Cloud Platform.
Блокчейны: EVM-совместимые, семейство Bitcoin, Tron, Solana, TON.
Что вы будете делать:
- Владеть бэкенд-архитектурой двух крупномасштабных платформ микросервисов (30+ и 25+ сервисов) — от системного дизайна и API-контрактов до потоков данных и межсервисного взаимодействия.
- Руководить сложными интеграциями — платежные провайдеры, эмитенты карт, блокчейн-сети, сторонние API — и нести полную ответственность за их надежность в продакшене.
- Управлять производительностью и масштабируемостью — выявлять узкие места, разрабатывать стратегии кэширования, оптимизировать запросы к базе данных и обеспечивать способность платформы справляться с растущей нагрузкой.
- Формировать техническое направление — принимать архитектурные решения, оценивать компромиссы и влиять на инженерные стандарты команды. Вы частично разгрузите Tech Lead, чтобы команда могла масштабироваться.
- Создавать и улучшать процессы на основе ИИ — наша команда активно использует системы на базе LLM для автоматизации операционных и девелоперских рабочих процессов. Вы будете вносить вклад и развивать это направление.
- Участвовать в разработке бэкенд-фронтендов (~20% вашего времени) — поддерживать и расширять админ-панели на основе React, используемые внутренними командами.
- Владеть фичами от начала до конца — от планирования и архитектурного дизайна до реализации, тестирования, мониторинга в продакшене и итеративного улучшения.
- Тесно сотрудничать с командами Product, QA и кросс-функциональными командами — создавать четкую техническую документацию, участвовать в код-ревью и делиться знаниями.
- Участвовать в общем дежурстве по очереди — примерно одну неделю в месяц.
Кто вы:
- Технически сильный специалист с архитектурным мышлением — вы не просто пишете код, вы проектируете системы. Вы думаете о потоках данных, режимах отказа и долгосрочной поддерживаемости, прежде чем написать первую строку.
- Идейный и умеющий отстаивать свои решения — вы привносите экспертный взгляд в технические дискуссии и можете четко излагать компромиссы как инженерам, так и заинтересованным сторонам.
- Проактивный решатель проблем — вы находите проблемы до того, как они станут инцидентами, и предлагаете решения, не дожидаясь, пока вас попросят.
- Ориентированный на продукт — большую часть времени вы тратите на выпуск фич и решение реальных проблем пользователей, а не на бесконечные рефакторинги.
- Самомотивированный и ответственный — вы преуспеваете в небольших командах, цените автономию и полностью берете на себя ответственность за процесс разработки.
Что вы принесете:
- 5+ лет производственного опыта в бэкенд-разработке с TypeScript/Node.js в качестве основного стека.
- 2+ года работы с NestJS на продакшене — модули, провайдеры, middleware, guards, interceptors, архитектура микросервисов с пользовательскими транспортами.
- Глубокие знания PostgreSQL — дизайн схемы, индексирование (partial, GIN/GiST), оптимизация запросов, миграции с нулевым временем простоя, паттерн database-per-service.
- Практический опыт работы с микросервисами — не монолит, разделенный на модули. Вы имели дело с межсервисным взаимодействием (RPC + pub/sub), брокерами сообщений, идемпотентностью, согласованностью в конечном итоге, паттернами saga/outbox.
- Опыт системного дизайна — декомпозиция сервисов, проектирование API-контрактов, архитектура потоков данных, планирование мощностей. Вы можете нарисовать систему на доске и объяснить, почему приняли каждое решение.
- Опыт сложных интеграций — вы создавали и поддерживали интеграции со сторонними API, платежными системами или аналогичными внешними сервисами в продакшене. Вы знаете, как обрабатывать повторные попытки, circuit breakers и graceful degradation.
- Инженерия производительности — профилирование, стратегии кэширования, анализ нагрузки, идентификация узких мест. Вы можете оптимизировать как медленный запрос, так и медленный сервис.
- Опыт работы с блокчейном (MUST-HAVE) — вы работали с ончейн-транзакциями, несколькими сетями и реальными средствами пользователей. Вы понимаете HD-кошельки (BIP32/BIP39), смарт-контракты, ABI, ERC-20/SPL токены и различия между аккаунт-ориентированной и UTXO моделями. Опыт работы с библиотеками, такими как ethers.js, viem и solana/web3.js.
- AI-driven development (MUST-HAVE) — вы активно используете AI-инструменты (Claude, Copilot, Cursor) в своей повседневной работе. Помимо личной продуктивности, у вас есть опыт оптимизации бизнес- или организационных процессов с помощью AI/LLM — создание автоматизаций, внутренних инструментов или рабочих процессов на основе языковых моделей.
- Строгая дисциплина тестирования — модульные тесты (Jest), интеграционные тесты с реальными базами данных, тестирование микросервисов.
- Осознание безопасности — в финтехе и крипто каждый путь кода может касаться реальных средств пользователей. Вы строите соответствующим образом.
- Навыки технического исследования — оценка компромиссов, проверка гипотез и принятие архитектурных решений на основе данных.
- Владение английским на уровне Upper-Intermediate. Свободное владение русским языком.
Желательно:
- Опыт работы с NATS JetStream в качестве транспортного уровня (streams, consumers, delivery policies).
- Observability: OpenTelemetry, Prometheus + Grafana, структурированное логирование (pino), распределенная трассировка.
- Kubernetes на уровне выше базового: Kustomize/Helm, стратегии развертывания, управление ресурсами.
- Знания в области финтеха: PCI DSS, GDPR, KYC/AML, платежные системы.
- Опыт наставничества junior/middle разработчиков.
- Основы React для бэкенд-UI (функциональные компоненты, хуки, Redux, Material-UI).
Взаимодействие с другими командами:
Тесное сотрудничество с Product, QA, Frontend и Mobile. Кросс-функциональная коммуникация имеет решающее значение для этой роли. Частично разгрузить Tech Lead: владеть архитектурными и техническими решениями, самостоятельно управлять сложными интеграциями и влиять на техническое направление платформы. Это не роль исполнителя. Нам нужен человек с твердыми экспертными мнениями, на которого можно положиться в принятии ключевых технических решений.
Ключевые результаты (30-60-90):
30 дней: Выпуск первых фич в продакшн. Глубокое погружение в стек, архитектуру и домен (блокчейн, финтех). Четкое понимание основных сервисов и их взаимодействия.
60 дней: Самостоятельное управление сложной интеграцией или крупной фичей. Участие в ревью архитектурного кода. Внесение первых предложений по улучшениям.
90 дней: Принятие архитектурных решений в рамках своей зоны ответственности. Влияние на техническое направление. Частичная разгрузка Tech Lead в принятии решений. Участие в планировании.
Что мы предлагаем:
- Полностью удаленная работа в составе гибкой международной команды, формирующей будущее финансов.
- Инженерная культура, поощряющая внедрение современных инструментов и практик разработки, предоставляющая инженерам реальное влияние на технологии, рабочие процессы и технические решения.
- Две карьерные траектории — рост до Tech Lead или углубление экспертизы в качестве Staff/Principal IC. Вы выбираете свой путь.
- Карьерный рост и профессиональное развитие в передовой финтех-среде.
- Конкурентный уровень заработной платы, основанный на индивидуальной оценке производительности.
- Прозрачная обратная связь и культура, ценящая владение, открытый диалог и видимый результат.
Процесс найма
- Подача заявки. Отправьте ваше резюме и CV.
- Рассмотрение заявки. Наша команда изучит ваш опыт и квалификацию.
- HR-интервью. Вводная беседа для обсуждения вашего профессионального опыта и ожиданий.
- Техническое интервью. Оценка ваших технических знаний, навыков системного дизайна и релевантного опыта.
- Интервью с Team Lead. Обсуждение соответствия команде, стиля сотрудничества и согласованности с инженерной культурой.
- Оффер. Получение оффера и информации о следующих шагах.