Обязанности:
Прибыльная и быстрорастущая продуктовая компания, развивающая околоигровые продукты, один из крупнейших маркетплейсов внутриигровых предметов в мире в своей экосистеме: продаёт быстрее и безопаснее всех благодаря собственному ComputerVision-решению с системой P2P-сделок. Мы делаем так, чтобы покупка и продажа предметов была мгновенной, безопасной и понятной.Задачи: Проектировать и реализовывать бизнес-критичные микросервисы с нуля и развивать существующие Решать задачи конкурентного доступа: race conditions при одновременных покупках одного товара, двойные списания, корректная работа с балансами при тысячах одновременны операций Обеспечивать консистентность данных между микросервисами: саги, компенсирующие транзакции, eventual consistency Проектировать и поддерживать контракты между сервисами (HTTP API, события в Kafka, сообщения в RabbitMQ) Оптимизировать работу с PostgreSQL: сложные запросы, правильные уровни изоляции, индексирование, партиционирование, миграции без даунтайма на таблицах с сотнями миллионов записей Проектировать очереди и event-driven потоки: гарантии доставки, ordering, retry-стратегии, dead letter queues, poison message handling Писать тесты: unit, integration с Test containers, e2e Участвовать в в код-ревью, формировать стандарты и практики команды Отвечать за свои сервисы в produtcion: мониторинг, алертинг, инцидент-менеджмент Использовать AI-инструменты для ускорения разработки и критически оценивать результат Требования: 5+ лет коммерческой backend-разработки TypeScript + Node.js — не «писал скрипты на ноде», а строил production-системы: понимание event loop, libuv, streams, memory leaks, профилирование, отладка под нагрузкой NestJS — реальный опыт с DI, модулями, guards, interceptors, pipes, custom decorators, микросервисными транспортами PostgreSQL — не «делал SELECT», а: транзакции с правильными уровнями изоляции, SELECT ... FOR UPDATE / FOR UPDATE SKIP LOCKED , deadlocks и их диагностика, EXPLAIN ANALYZE , partial/covering/GIN/GiST индексы, партиционирование, оконные функции, CTE, миграции на живых данных TypeORM — query builder, миграции, работа с транзакциями, понимание ограничений и когда переходить на raw SQL Redis — кэш-стратегии (cache-aside, write-through), распределённые блокировки, rate limiting, pub/sub, понимание eviction policies, persistence (RDB/AOF) RabbitMQ — exchange types, routing, prefetch, ack/nack, dead letter exchanges, стратегии retry, отравленные сообщения Опыт с race conditions — не теоретический, а реальный: находил, воспроизводил, чинил в production Идемпотентность — умение проектировать операции, безопасные при повторном выполнении (idempotency keys, deduplication) Тестирование — не «знаю что такое jest», а: тестовая стратегия, моки vs реальные зависимости, Testcontainers, тестирование race conditions Самостоятельность — способность взять задачу «нужно решить проблему X» и довести до production без пошагового руководства AI как инструмент — практический опыт работы с AI-ассистентами в разработке (Cursor, Copilot, Claude, ChatGPT). Не «спрашиваю у ChatGPT как написать цикл», а: декомпозиция задач для AI-агентов, промпт-инжиниринг для сложных задач, критическая оценка сгенерированного кода, понимание ограничений и галлюцинаций LLM Будет плюсом: Kafka — partitioning, consumer groups, exactly-once semantics, event sourcing, Schema Registry ElasticSearch / OpenSearch — проектирование маппингов, bulk-индексация, оптимизация поисковых запросов, агрегации ClickHouse — аналитические запросы, потоковая вставка, materialized views Опыт с финансовыми системами, платёжными сервисами, банкингом — где ошибка = потеря денег Опыт в gaming, e-commerce, high-frequency trading, fintech — знакомство с доменом и его вызовами Распределённые транзакции — Saga (orchestration / choreography), Outbox Pattern, Two-Phase Commit на практике Нагрузочное тестирование — k6, Artillery Понимание балансировки нагрузки, стратегий деплоя (blue-green, canary, rolling) Опыт декомпозиции монолитов Опыт построения AI-пайплайнов в команде: автоматизация ревью, генерация тестов, AI-агенты для DevOps-задач Опыт работы с LLM API (OpenAI, Anthropic, локальные модели) — интеграция AI-функциональности в продукт Python — умение читать и писать код (часть внутренних инструментов и ML-пайплайнов) Условия: Работу над продуктом, которым пользуются миллионы людей каждый день Влияние на продукт: здесь код двигает бизнес x5-x7, а не пылится в бэклоге Технически сложные задачи — high-load, concurrency, distributed systems — каждый деньМикросервисную архитектуру, где ты владеешь своими сервисами целиком Участие в ключевом проекте трансформации платформы — прямое влияние на рывок компании Международную команду из 8+ стран Автономию и доверие: мы нанимаем взрослых людей и не занимаемся микроменеджментом Конкурентную компенсацию (обсуждается индивидуально) Полностью удалённую работуПри отклике, укажите, пожалуйста, в сопроводительном письме в какие игры вы играете или играли :)Похожие вакансии