Senior Android Engineer, Transactions
Instacart · Canada
Job Description
Senior Android Engineer, Transactions (Remote, Canada)
Instacart is transforming the grocery industry, making it easier for everyone to share love through food. We believe in providing access to the food people love and more time to enjoy it together. Join our team and help build the future of grocery delivery.
Instacart operates on a "Flex First" model, offering employees the flexibility to choose where they do their best work, whether that's from home or another preferred location, while fostering connection through regular in-person events.
About the Role
The Transaction Platform team at Instacart is responsible for the end-to-end experiences and services that power cart, checkout, payments, order confirmation, and post-order flows across our Android applications. We are the crucial link that ensures customers can complete purchases safely and reliably, while keeping shoppers and retailers informed.
We are looking for a Senior Mobile Engineer (Android) to lead and enhance core transaction experiences across Instacart's Android apps. You will collaborate with Android, iOS, backend, product, design, data science, risk, and payments teams to deliver high-quality, resilient features that handle millions of orders and complex scenarios at scale. This remote role in Canada offers the opportunity to shape our Android transaction platform, contribute significant expertise to a key area, and establish best practices for reliability, performance, and developer experience.
Key Responsibilities
- Design, build, and launch 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), working closely with payments and risk teams to ensure secure, compliant, and low-latency experiences.
- Develop reusable, well-documented modules and libraries for use across multiple Instacart Android apps, enhancing consistency, reliability, and developer efficiency.
- Maintain high 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, from technical design and implementation to launching with feature flags and iterating based on data and feedback.
- Participate in incident response and on-call rotations, addressing root causes and driving long-term platform improvements.
- Mentor other Android engineers through design guidance, pairing, and constructive feedback, and contribute to defining team coding standards and patterns.
Requirements
- 5+ years of professional Android development experience with Kotlin, including shipping consumer apps to the Google Play Store.
- 3+ years building large-scale, user-facing features using Android Jetpack (e.g., Lifecycle, Navigation, ViewModel) and Coroutines/Flow.
- 2+ years of experience with 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, including 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 a related field, or equivalent practical experience.
Preferred Qualifications
- Production experience with Jetpack Compose at scale, including theming, state management, and interoperability with Views.
- Experience 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).
- Knowledge of payment security and compliance (e.g., PCI DSS) and fraud/risk mitigation techniques.
- Exposure to GraphQL or gRPC, offline/latency-tolerant design, and/or Kotlin Multiplatform Mobile.
What We Offer
- Highly market-competitive compensation and benefits.
- Base pay range for this role in Canada: $168,000 - $177,500 CAD.
- Eligibility for new hire equity grants and annual refresh grants.
- The opportunity to work remotely within Canada (currently hiring in Ontario, Alberta, British Columbia, and Nova Scotia).
- A flexible work environment with opportunities for in-person connection.
✨ This description was enhanced by AI based on the original listing.