Обзор В PrizePicks мы меняем правила игры в ежедневных фэнтези-спортивных играх. Мы — увлеченная команда новаторов, стремящихся создать лучший в своем классе опыт для наших участников. Наша команда инженеров создает и масштабирует платформу, которая обеспечивает наш взрывной рост, от игровых движков в реальном времени до сервисов, обрабатывающих миллионы ежедневных транзакций. Мы ищем талантливого и целеустремленного старшего инженера-программиста, который присоединится к нашей команде Back Office и поможет нам создать внутреннюю платформу, обеспечивающую всю операционную деятельность PrizePicks.
Краткое описание вакансии Мы ищем опытного старшего инженера-программиста, свободно владеющего Ruby on Rails и Go, который присоединится к нашей команде Back Office. Back Office — это внутренняя операционная платформа, используемая командами Game Ops, Trading, Member Operations и Risk для настройки прогнозов, торговли линиями, управления участниками, анализа рисков и мониторинга игровых результатов в реальном времени — всё это напрямую формирует то, что видят миллионы участников в приложении.
В этой роли вы будете проектировать и создавать серверные сервисы, охватывающие наш монолит Rails и растущую экосистему микросервисов Rails и Go. Вы будете работать как с существующими, так и с новыми сервисами, которые выделяются по мере нашей миграции к архитектуре микросервисов. Вы будете решать сложные технические задачи с высоким уровнем охвата, полностью отвечать за функционал и наставлять инженеров в вашей команде. Эта роль для тех, кто одинаково комфортно чувствует себя как при расширении зрелой кодовой базы Rails, так и при создании нового сервиса Go с нуля, и кого вдохновляет вызов платформы, находящейся в состоянии активной, целенаправленной эволюции.
Что вы будете делать
- Создавать и владеть серверными сервисами: Проектировать и внедрять функционал как в сервисах на базе Rails, так и в микросервисах Go — от API-контрактов до развертывания и мониторинга.
- Поддерживать миграцию на микросервисы: Помогать в декомпозиции монолита Rails на хорошо определенные, независимо развертываемые сервисы, внося вклад в архитектурные решения о том, что извлекать и как.
- Обеспечивать работу API внутренних инструментов: Создавать и поддерживать серверные API, на которые операторы Back Office полагаются для принятия решений в реальном времени — управление прогнозами, панели управления рисками, оповещения и операции с участниками.
- Обеспечивать техническую реализацию: Руководить проектированием и внедрением сложного функционала от начала до конца, от продуктовых требований до развертывания в продакшене.
- Повышать надежность системы: Диагностировать и устранять узкие места в производительности, оптимизировать запросы к базе данных и повышать устойчивость серверных систем под нагрузкой.
- Определять техническое направление: Предлагать и принимать архитектурные решения для сервисов своей команды, оценивая компромиссы и четко сообщая рекомендации инженерам и заинтересованным сторонам.
- Наставлять и развивать: Оказывать практическую помощь инженерам-программистам I, II и III через ревью кода, парное программирование и техническое руководство.
- Улучшать инженерные практики: Отстаивать и улучшать лучшие практики, связанные с качеством кода, тестированием, наблюдаемостью и развертыванием для команды.
- Взаимодействовать кросс-функционально: Тесно сотрудничать с менеджерами по продукту, QA и другими инженерными командами для преобразования операционных целей в четкие технические решения.
- Участвовать в ротации дежурств: Разделять ответственность за инциденты в продакшене, внося вклад в анализ первопричин и долгосрочное повышение надежности.
Что у вас есть
Опыт:
- 5–8 лет профессионального опыта в разработке программного обеспечения, со значительным опытом работы в продакшене как с Ruby on Rails, так и с Go.
- Подтвержденный опыт владения и внедрения сложного, многокомпонентного функционала в командной среде.
- Опыт работы с миграцией от монолита к микросервисам, выделением сервисов, управлением паттернами двойной записи и поддержанием обратной совместимости.
- Опыт проектирования и эксплуатации распределенных систем или event-driven архитектур.
Технические навыки:
- Глубокое знание Rails — вы глубоко понимаете фреймворк, пишете идиоматичный Ruby и знаете, когда использовать или обходить соглашения Rails.
- Глубокое знание Go — вы пишете идиоматичный, хорошо протестированный код на Go производственного качества.
- Уверенные навыки работы с PostgreSQL, включая проектирование схем, оптимизацию запросов и настройку производительности.
- Твердое понимание проектирования API (REST и/или gRPC) и проектирования границ сервисов.
- Опыт работы с асинхронными рабочими процессами — фоновая обработка задач (Sidekiq или аналогичные), очереди сообщений или потоковая передача событий.
- Опыт контейнеризации (Docker) и оркестрации (Kubernetes).
- Знакомство с CI/CD пайплайнами и автоматизацией развертывания.
- Понимание практик наблюдаемости — логирование, метрики, трассировка.
Стиль работы:
- Комфорт в автономной работе с минимальным руководством над нечетко сформулированными проблемами.
- Эффективный коммуникатор, способный четко излагать технические решения как инженерам, так и нетехническим заинтересованным сторонам.
- Способность переключаться между глубокой технической работой и совместным планированием.
- Опыт работы в полностью удаленной инженерной организации.
Что выделит вас среди других
- Практический опыт работы с event-driven архитектурами с использованием Pulsar, Kafka или аналогичных — наша платформа в значительной степени полагается на асинхронный обмен сообщениями между сервисами.
- Опыт работы с шаблонами NATS request/reply или JetStream.
- Знакомство с внутренними инструментами или платформами, ориентированными на операторов (а не только продуктами для участников).
- Опыт работы с высоконагруженными системами реального времени — спорт, игры, финтех или adtech.
- Знакомство с инструментами инфраструктуры (Terraform, Kubernetes, ArgoCD).
- Опыт работы в индустрии ежедневного фэнтези-спорта или спортивных ставок.
- Опыт использования инструментов разработки с поддержкой ИИ на протяжении всего жизненного цикла разработки — написание кода, планирование, определение объема работ и ревью кода.
- Опыт интеграции инструментов ИИ в инженерные рабочие процессы для повышения производительности команды.
Где вы будете жить
Хотя мы предпочитаем кандидатов, проживающих в Атланте, мы открыты для квалифицированных соискателей из любой точки США и готовы рассмотреть удаленных кандидатов.
Работа в PrizePicks
Типичный диапазон заработной платы для этой должности составляет от 175 000 до 185 000 долларов США. В PrizePicks мы учитываем вашу роль, уровень и место работы при определении диапазонов заработной платы. Информация о вознаграждении, которую вы видите в наших описаниях вакансий, дает представление о начальном диапазоне оплаты для этой должности. Ваша фактическая оплата в этом диапазоне будет зависеть от вашего конкретного места работы, а также от ваших навыков, опыта и образования.
Льготы, которые вы получите:
В дополнение к отличному пакету вознаграждения, штатные сотрудники будут иметь право на следующие льготы:
- Медицинское, стоматологическое и офтальмологическое страхование с частичной оплатой компанией.
- План 401(k) с софинансированием компанией.
- Ежегодный бонус.
- Гибкий PTO для поощрения здорового баланса между работой и личной жизнью (настоятельно рекомендуется 2 недели!).
- Щедрые программы оплачиваемого отпуска, включая 16-недельный оплачиваемый отпуск по уходу за ребенком и пособие по нетрудоспособности.
- Гибкость в работе и современный график работы, ориентированный на результат, а не на отработанные часы.
- Общие корпоративные мероприятия и выезды команды.
- Программа улучшения качества жизни.
- Предоставление корпоративного оборудования (варианты Windows и Mac).
- Ежегодные обзоры производительности с возможностями для роста и развития карьеры.
Вы должны иметь разрешение на работу у любого работодателя в США. В настоящее время мы не можем спонсировать или передавать спонсорство визы.