OverviewInstacart's Transaction Platform team builds the end-to-end experiences and services that power cart, checkout, payments, order confirmation, and post-order flows across our Android surfaces. We're the connective tissue that makes it simple, safe, and reliable for customers to complete purchases and for shoppers and retailers to stay informed every step of the way.
We're seeking a Senior Mobile Engineer (Android) to own and elevate core transaction experiences across multiple Android apps at Instacart. You'll collaborate closely with Android, iOS, backend, product, design, data science, risk, and payments partners to ship high-quality, resilient features that support millions of orders and complex edge cases at scale.
This role is remote within Canada and offers the opportunity to shape the Android transaction platform, add much-needed depth to a lean area of ownership, and set best practices that raise the bar for reliability, performance, and developer experience. You'll thrive here if you enjoy rolling up your sleeves, solving complex problems pragmatically, and collaborating across disciplines to deliver results that grow the pie for our customers, shoppers, and partners.
About the JobIn 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 as appropriate).
- Integrate and optimize payment flows and SDKs (e.g., tokenization, 3DS, wallet support), partnering with payments and risk teams to deliver secure, compliant, and low-latency experiences.
- Create reusable, well-documented modules and libraries used across multiple Instacart Android apps, improving consistency, reliability, and developer velocity.
- Uphold quality with robust testing (unit, integration, and UI), code reviews, analytics-driven monitoring, and performance tuning to reduce 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 as needed, proactively addressing root causes and driving long-term platform hardening.
- Mentor other Android engineers through design guidance, pairing, and thoughtful feedback; help define team coding standards, patterns, and documentation.
About YouMinimum 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
Instacart provides highly market-competitive compensation and benefits in each location where our employees work. This role is remote and the base pay range for a successful candidate is dependent on their permanent work location. Please review our Flex First remote work policy here. Currently, we are only hiring in the following provinces: Ontario, Alberta, British Columbia, and Nova Scotia.
Offers may vary based on many factors, such as candidate experience and skills required for the role. Additionally, this role is eligible for a new hire equity grant as well as annual refresh grants. Please read more about our benefits offerings here.
For Canadian based candidates, the base pay ranges for a successful candidate are listed below.
CAN
$168,000-$177,500 CAD