Fanatics
Senior Engineer, Android (Unified Experience)
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Android-инженер в команду Unified Experience, отвечающую за бесшовный путь коллекционера между Fanatics Live, Marketplace, Instant Rips, Collections и Topps. Роль системная: общий Android-фундамент, единая идентификация и сессии, общие Compose-компоненты и миграции для нескольких приложений и команд.
Задачи
- Проектировать и выпускать общие Android-модули, Compose-компоненты и внутренние библиотеки для нескольких клиентских приложений
- Отвечать за единые identity, session и entitlement-флоу между Live, Instant Rips, Marketplace и Collections
- Вести миграции и консолидации на живых пользователях: изменения моделей данных, отказ от расходящихся реализаций, поэтапные раскатки
- Вести фичи end-to-end: контракты API, работа со state и эффектами, Compose UI, тестирование и релиз
- Строить deep linking, навигацию и кросс-продуктовые переходы
- Писать реальное тестовое покрытие: unit-тесты с fake-зависимостями, тесты Flow и корутин, Compose UI-тесты
- Инструментировать выпущенное и следить за ним в продакшене: трекинг событий, feature flags, поэтапные раскатки в Play Store, разбор крашей и ANR
- Отвечать за производительность Android: время старта, jank при скролле и анимациях, память при длительной нагрузке
- Ревьюить pull request'ы, находить реальные дефекты и наставлять команду
- Участвовать в архитектурных решениях: модуляризация, управление состоянием, обработка эффектов и ошибок
- Менторить менее опытных инженеров и повышать планку качества в команде
Требования
- 5+ лет разработки consumer-facing Android-приложений под нагрузкой
- Kotlin: корутины, structured concurrency, Flow
- Jetpack Compose: state hoisting, рекомпозиция и стабильность, производительная композиция, Compose Navigation
- Unidirectional state management в масштабе: MVI или аналогичная строгая тестируемая архитектура (Molecule, Orbit, Mavericks или собственная)
- Многомодульная Gradle-архитектура: чистые границы модулей, convention plugins, version catalogs, оптимизация времени сборки
- Опыт общей архитектуры для нескольких приложений: переиспользуемые модули, SDK или внутренние библиотеки с дисциплиной версионирования
- Dependency injection: Hilt, Dagger, Koin или аналог
- GraphQL на Android: Apollo Kotlin, schema-driven development, codegen, subscriptions
- CI/CD: Bitrise, GitHub Actions, Fastlane или аналогичные пайплайны сборки/тестирования/релиза в Play Console
- Дисциплина тестирования: JUnit, Turbine, Robolectric, Compose testing, instrumentation-тесты
- Статический анализ: ktlint, detekt или аналогичные quality gates
- Практический опыт AI-ассистированной разработки: Claude Code, Cursor, Copilot или аналоги
- Структурированная работа с коммитами и PR в связке с трекером (Linear, Jira или аналог)
- Комфортная работа на стыке команд и влияние на инженеров вне прямого подчинения
Условия
- Базовая зарплата $160,000–$200,000 в год (диапазон для Нью-Йорка, без учёта краткосрочных и долгосрочных бонусов)
- Современный стек: Kotlin, Jetpack Compose, Coroutines/Flow, GraphQL, многомодульный Gradle
- AI-инструменты в ежедневной работе
- Бенефиты — на https://benefitsatfanatics.com/
Навыки
- Kotlin
- Jetpack Compose
- Coroutines
- Flow
- MVI
- Molecule
- Orbit
- Mavericks
- Gradle
- Hilt
- Dagger
- Koin
- GraphQL
- Apollo Kotlin
- Bitrise
- GitHub Actions
- Fastlane
- JUnit
- Turbine
- Robolectric
- Compose testing
- ktlint
- detekt
- Claude Code
- Cursor
- Copilot
- Linear
- Jira
- Play Console
- Baseline Profiles
- Macrobenchmark
- Play Billing