✨ AI Insights & Summary
Instacart is seeking a Senior Mobile Engineer (Android) to play a pivotal role in shaping the core transaction experiences for millions of users across their Android applications. This remote position within Canada offers a unique opportunity to own and elevate critical aspects of the platform, including cart, checkout, and payments, within a company that is transforming the grocery industry. Ideal candidates will possess a strong background in Android development, particularly with Kotlin and Jetpack, and thrive in a collaborative, fast-paced environment focused on building resilient, high-quality features. Joining Instacart means contributing to an essential service while working with a "Flex First" approach that prioritizes flexibility and employee well-being.
Job Title: Senior Mobile Engineer (Android)
We're transforming the grocery industry
At Instacart, we believe everyone should have access to the food they love and more time to enjoy it together. We provide an essential service for customers and flexible earning opportunities for shoppers. We're building the team to help push our shopping cart forward and invite you to do the best work of your life with us.
Instacart is a Flex First team
We embrace flexibility, allowing employees to choose where they work best—home, office, or elsewhere—while staying connected through regular in-person events. Learn more about our approach here.
Overview
The Transaction Platform team at Instacart builds the end-to-end experiences and services powering cart, checkout, payments, order confirmation, and post-order flows on our Android surfaces. We are the critical link that enables customers to make purchases easily, safely, and reliably, while keeping shoppers and retailers informed.
We are looking for a Senior Mobile Engineer (Android) to own and enhance core transaction experiences across multiple Android apps. You will collaborate closely with Android, iOS, backend, product, design, data science, risk, and payments teams to deliver high-quality, resilient features that support millions of orders and complex edge cases at scale. This remote role in Canada offers the chance to shape the Android transaction platform, add depth to a key ownership area, and set best practices for reliability, performance, and developer experience. You'll thrive here if you enjoy solving complex problems pragmatically and collaborating across disciplines to deliver impactful results.
About the Job
In this role, you will:
- Design, build, and ship Android features for cart, checkout, payments, order status, and post-order experiences using Kotlin, Coroutines/Flow, and Android Jetpack (including Compose or View-based UI).
- Integrate and optimize payment flows and SDKs (e.g., tokenization, 3DS, wallet support), partnering with payments and risk teams for secure, compliant, low-latency experiences.
- Create reusable, well-documented modules and libraries for consistency, reliability, and improved developer velocity across multiple Instacart Android apps.
- Ensure quality through robust testing (unit, integration, UI), code reviews, analytics-driven monitoring, and performance tuning to minimize crashes and regressions.
- Own work end-to-end: participate in technical design, break down deliverables, implement features, launch with feature flags/experiments, and iterate based on data and feedback.
- Contribute to incident response and on-call rotations, proactively addressing root causes and driving long-term platform hardening.
- Mentor other Android engineers through design guidance, pairing, and feedback; help define team coding standards, patterns, and documentation.
About You
Minimum Qualifications:
- 5+ years of professional Android development experience with Kotlin, shipping consumer apps to the Google Play Store.
- 3+ years building large-scale, user-facing features with Android Jetpack (e.g., Lifecycle, Navigation, ViewModel) and Coroutines/Flow.
- 2+ years working on transactional flows (e.g., cart, checkout, payments, order status) or integrating payment providers/SDKs (e.g., Stripe, Adyen, Braintree), including 3DS and tokenization.
- Hands-on experience with dependency injection and networking on Android (e.g., Hilt/Dagger, Retrofit/OkHttp), and modular app architectures.
- Proven track record of quality: unit and UI testing (JUnit, Mockito/MockK, Espresso), CI/CD workflows, and analytics/crash monitoring.
- Experience collaborating with cross-functional partners (product, design, backend, data) to deliver measurable impact in a fast-paced environment.
- Bachelor’s degree in Computer Science, Engineering, or related field, or equivalent practical experience.
Preferred Qualifications:
- Production experience with Jetpack Compose at scale, including theming, state management, and interoperability with Views.
- Background building shared Android libraries/SDKs consumed by multiple apps or teams, with clear APIs and documentation.
- Experience with experimentation and feature flagging (e.g., A/B tests, phased rollouts) and data-informed iteration.
- Familiarity with observability and performance tooling (e.g., Firebase/Crashlytics, Android Profiler, Datadog, custom metrics/logging).
- Knowledge of security and compliance for payments (e.g., PCI DSS) and techniques for fraud/risk mitigation.
- Exposure to GraphQL or gRPC, offline/latency-tolerant design, and/or Kotlin Multiplatform Mobile.
#LI-Remote
Compensation and Benefits
Instacart provides highly market-competitive compensation and benefits. This role is remote within Canada, and base pay depends on permanent work location. The base pay range for this role in Canada is $168,000—$177,500 CAD. Offers may vary based on candidate experience and role requirements. This role is also eligible for new hire equity grants and annual refresh grants. Learn more about our benefits offerings here.
Currently hiring in the following Canadian provinces: Ontario, Alberta, British Columbia, and Nova Scotia.