The Team or Role
Recs Experience turns Tinder’s recommendation systems into flexible, reliable, and easy-to-use product capabilities that power better experiences across the app. We simplify the complexity of recommendations so teams can build with them confidently, while helping members find more relevant connections faster through clearer, more personalized, and more responsive experiences.
As a Software Engineer II on Android within Recs Experience, you’ll help build the experiences that shape who Tinder members see, how recommendations appear, and how profiles turn into matches and conversations. You’ll partner closely with backend engineers to deliver features end to end-connecting recommendation logic, APIs, and experiments to polished Android experiences, analytics, and quality validation. You’ll grow your Android and recommendations-domain expertise while helping a collaborative, full-stack team improve discovery for millions of members worldwide.
The team is engineering-led and works closely with Recs ML and Infrastructure, Product, Data Science and Analytics, Design, QA, and engineering partners across Tinder.
Where you’ll work:
This is a hybrid role based in Palo Alto, California, and requires in-office collaboration three times per week.
In this role, you will:
Contribute to the architecture, design, and implementation of consumer-facing recommendation features in the Tinder Android app.
Build polished, intuitive experiences that connect recommendation logic, APIs, experiments, analytics, and quality validation for millions of members worldwide.
Own well-scoped features and components from planning and implementation through testing, experiment launch, and validation, with increasing independence.
Collaborate closely with Android and backend engineers, Product, Design, Data Science and Analytics, QA, ML, Infrastructure, and partner teams across Tinder.
Write maintainable, well-tested Kotlin code and help protect app health, performance, reliability, and member experience.
Build modern Android interfaces with Jetpack Compose while working effectively with existing View-based or legacy code where needed.
Investigate bugs, ANRs, performance regressions, and other quality issues using a structured approach; identify root causes and add appropriate tests or monitoring.
Contribute to modular Android architecture, shared libraries, technical improvements, code reviews, and engineering practices that make the team more effective.
Communicate progress, risks, dependencies, and technical tradeoffs clearly and proactively.
Develop expertise in Tinder’s Android architecture, card-stack and recommendation systems, and progress toward broader end-to-end project ownership.
Use AI-assisted development tools effectively and responsibly to improve prototyping, implementation, testing, delivery speed, and quality.
You'll need:
Approximately 2+ years of professional experience building and shipping production, consumer-facing applications with native Android technologies.
Proficiency in Kotlin and modern Android development, including Kotlin Coroutines and Flow.
Experience building user-facing features with Jetpack Compose and familiarity with Android Views and interoperability.
Experience using Android Studio, Gradle, and the Android SDK throughout the application-development lifecycle.
Experience consuming REST APIs and integrating mobile features with backend services.
Familiarity with common Android architecture patterns such as MVVM and separation of UI, business logic, and data access.
Experience with Git and collaborative development workflows such as pull requests and code reviews.
Ability to write testable, maintainable code and create unit or UI tests using tools such as JUnit, Mockito, Espresso, or Compose UI testing.
Solid debugging and code-quality fundamentals, including the ability to give and receive actionable code-review feedback.
Clear, solution-oriented communication and a willingness to learn and collaborate in a cross-functional environment.
An ownership mindset with the ability to deliver well-scoped work, surface risks, and follow through from implementation to launch validation.
Nice to have:
Experience working with Java or RxJava in an existing production Android codebase and modernizing code toward Kotlin and Coroutines.
Familiarity with modular Android architectures, dependency injection, repository patterns, and use-case layers.
Experience with Dagger or Hilt, Retrofit, OkHttp, Moshi, or related Android networking and dependency-management tools.
Experience with static analysis and quality tooling such as Detekt, ktlint, Android Lint, snapshot testing, or performance testing.
Experience with CI/CD pipelines, feature flags, experimentation platforms, product analytics, design systems, or mobile observability tools.
Experience building recommendation, discovery, personalization, social, messaging, marketplace, or other feature-rich consumer experiences at scale.
Familiarity with card-stack, gesture-heavy, animation-rich, or performance-sensitive mobile interfaces.
Familiarity with AI-assisted development tools and responsible practices for validating generated or unfamiliar code and protecting sensitive information.
A BS or MS in Computer Science, Engineering, or a related discipline is welcome but not required; demonstrated proficiency in modern Android technologies and principles matters most.

