Старший Backend-разработчик (TypeScript/Node.js)
Компания: Utorg
Тип занятости: FULL_TIME
Местоположение: Удаленно
Принятие архитектурных и технических решений, самостоятельное управление сложными интеграциями и формирование технической стратегии. Нам нужен человек с сильной экспертной позицией.
Технологический стек
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, чтобы команда могла масштабироваться.
- Создавать и улучшать AI-подобные процессы — наша команда активно использует LLM-системы для автоматизации операционных и девелоперских рабочих процессов. Вы будете вносить вклад и развивать это направление.
- Участвовать в разработке бэкенд-фронтендов (~20% вашего времени) — поддерживать и расширять админ-панели на базе React, используемые внутренними командами.
- Отвечать за фичи end-to-end — от планирования и архитектурного дизайна до реализации, тестирования, мониторинга в продакшене и итеративного улучшения.
- Тесно сотрудничать с 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.
- Performance engineering — профилирование, стратегии кэширования, анализ нагрузки, выявление узких мест. Вы можете оптимизировать как медленные запросы, так и медленные сервисы.
- Production blockchain experience (MUST-HAVE) — вы работали с ончейн-транзакциями, несколькими сетями и реальными средствами пользователей. Вы понимаете HD-кошельки (BIP32/BIP39), смарт-контракты, ABI, токены ERC-20/SPL, а также различия между account-based и UTXO моделями. Опыт работы с библиотеками, такими как ethers.js, viem и solana/web3.js.
- AI-driven development (MUST-HAVE) — вы активно используете AI-инструменты (Claude, Copilot, Cursor) в своей повседневной работе. Помимо личной продуктивности, у вас есть опыт оптимизации бизнес- или организационных процессов с помощью AI/LLM — создание автоматизаций, внутренних инструментов или рабочих процессов на базе языковых моделей.
- Сильная дисциплина тестирования — unit-тесты (Jest), интеграционные тесты с реальными базами данных, тестирование микросервисов.
- Осознанное отношение к безопасности — в финтехе и криптовалюте каждый путь кода может коснуться реальных средств пользователей. Вы пишете код соответственно.
- Навыки технического исследования — оценка компромиссов, проверка гипотез и принятие архитектурных решений на основе данных.
- Владение английским языком на уровне Upper-Intermediate.
- Свободное владение русским языком.
Nice to have
- Опыт работы с NATS JetStream в качестве транспортного слоя (streams, consumers, delivery policies).
- Observability: OpenTelemetry, Prometheus + Grafana, структурированное логирование (pino), распределенная трассировка.
- Kubernetes за пределами основ: Kustomize/Helm, стратегии развертывания, управление ресурсами.
- Знание домена финтеха: PCI DSS, GDPR, KYC/AML, платежные системы.
- Опыт менторства junior/middle разработчиков.
- Основы React для back-office UI (функциональные компоненты, hooks, Redux, Material-UI).
Процесс найма
- Подача заявки.
- Рассмотрение заявки.
- HR-интервью.
- Техническое интервью.
- Интервью с Team Lead.
- Оффер.