Senior Android Engineer, Transactions

Remote from
Canada flag
Canada
Salary, yearly, CAD
168,000 - 177,500
Employment type
Full Time,
Job posted
Apply before
10 Jul 2026
Experience level
Senior
Views / Applies
16 / 1

About Instacart

Instacart invites the world to share love through food. This is how homemade is made.

Actively Hiring
Verified job posting
This job post has been manually reviewed for authenticity and compliance.

AI Summary

Instacart is seeking a Senior Android Engineer to join the Transaction Platform team, responsible for building end-to-end cart, checkout, payment, and post-order experiences across Android surfaces. The role involves designing and shipping features using Kotlin, Coroutines, and Android Jetpack, integrating payment SDKs, and creating reusable modules. This is a remote position within Canada, offering flexibility and requiring collaboration with cross-functional teams. The ideal candidate has 5+ years of Android experience, with a focus on transactional flows and large-scale consumer apps. The role offers a competitive salary and the opportunity to shape the Android transaction platform at scale.

Role DNA

Job Complexity
Easy Hard
Pace & Pressure
Relaxed Fast-paced
Autonomy Level
Guided Full Ownership
Communication Load
Independent Highly Collaborative
AI Insight This is a senior role requiring deep Android expertise and experience with complex transactional flows, but the core technology stack is standard for senior Android engineers, hence a difficulty of 4.

Salary Analysis

Median Highly Competitive
CAD172,750
CA Market
CAD120k – 180k
0 CAD198k
AI Insight The offered salary of CAD $168,000-$177,500 is competitive and above the typical market median for a Senior Android Engineer in Canada, which ranges from $120,000 to $180,000. This reflects the role's seniority and specialized focus on transactional platform engineering.

Key Skills

Kotlin Android Jetpack Coroutines Flow Payments Integration Transactional Systems Consumer Apps Mentoring Code Review Performance Optimization

I am excited to apply for the Senior Android Engineer, Transactions role at Instacart. With over 5 years of experience building consumer-facing Android apps using Kotlin and Android Jetpack, I have a strong track record of designing and shipping high-quality features. My background includes integrating complex payment flows and optimizing transactional experiences, which aligns perfectly with the responsibilities of this position.

At my previous role, I led the development of a checkout module that reduced payment failures by 15% through robust integration with tokenization and 3DS SDKs. I am skilled in using Coroutines and Flow for asynchronous operations and have mentored junior engineers on best practices. I thrive in collaborative, cross-functional environments and am passionate about delivering reliable, user-centric solutions at scale.

I am particularly drawn to Instacart's mission of transforming grocery delivery and the opportunity to work on a platform that serves millions. I am confident that my technical expertise and problem-solving mindset would make a significant contribution to the Transaction Platform team. Thank you for considering my application.

Describe a time you designed and implemented a complex transactional flow on Android. What challenges did you face and how did you ensure reliability?
I worked on a checkout flow that involved multiple payment methods, promotions, and real-time inventory checks. The main challenge was handling state consistency across network failures. I implemented a state machine using Kotlin sealed classes and used optimistic UI updates with rollback logic. I also added extensive analytics to monitor success rates and crash-free sessions, which helped reduce transaction failures by 20%.
How have you integrated third-party payment SDKs in your Android apps? Can you walk us through the process and key considerations?
I integrated Stripe and Braintree SDKs for tokenization and 3DS authentication. Key considerations included handling SDK lifecycle, ensuring PCI compliance by never storing raw card data, and providing fallback mechanisms for network issues. I abstracted the payment provider behind an interface to allow easy swapping. I also wrote unit tests for the integration and did thorough UI testing with different card types.
How do you approach mentoring junior engineers while also delivering on your own tasks? Give an example.
I schedule weekly 1:1s to review their code and discuss design patterns. In one project, a junior engineer was struggling with ViewModel scoping. I pair-programmed with them to refactor the code and explained lifecycle awareness. Meanwhile, I prioritized my tasks by breaking them into smaller chunks and used time-boxing to ensure I met deadlines. This approach helped the team grow while maintaining productivity.
Explain how you would design a reusable payment component for multiple Android apps within Instacart.
I would create a separate Android library module with a well-defined API. The library would expose a payment flow as a composable or fragment, accepting configuration parameters like supported payment methods and theme. It would handle SDK initialization, tokenization, and error handling internally. I would also include a sample app and documentation. The module would use dependency injection for flexibility and leverage Jetpack Navigation for flow control.
Describe your experience with on-call rotations and incident response. How do you proactively prevent issues?
I have participated in on-call rotations for a consumer app with millions of users. To prevent issues, I implemented automated monitoring with crash reporting and custom analytics dashboards. I also introduced feature flags to gradually roll out changes. After each incident, we conducted blameless postmortems and added regression tests. Proactively, I worked on hardening critical paths by adding fallback mechanisms and improving logging for faster diagnosis.

We’re transforming the grocery industry

At Instacart, we invite the world to share love through food because we believe everyone should have access to the food they love and more time to enjoy it together. Where others see a simple need for grocery delivery, we see exciting complexity and endless opportunity to serve the varied needs of our community. We work to deliver an essential service that customers rely on to get their groceries and household goods, while also offering safe and flexible earnings opportunities to Instacart Personal Shoppers.

Instacart has become a lifeline for millions of people, and we’re building the team to help push our shopping cart forward. If you’re ready to do the best work of your life, come join our table.

Instacart is a Flex First team

There’s no one-size fits all approach to how we do our best work. Our employees have the flexibility to choose where they do their best work—whether it’s from home, an office, or your favorite coffee shop—while staying connected and building community through regular in-person events. Learn more about our flexible approach to where we work.

Overview

Instacart’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 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 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 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

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

Apply now >

This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.

How to apply

Did you apply? Let us know, and we’ll help you track your application.

See a few more

Similar Software Engineering remote jobs

Job Search Safety Tips

Here are some tips to help you search and apply for jobs safely:
Watch out for suspicious jobs Don't apply for jobs that offer high pay for little work or offer to hire you without an interview. Read more ›
Check the employer's profile Make sure you're applying for a trustworthy job by visiting the employer's profile and learning more about them. Read more ›
Protect your information Don't share personal details like your bank account or government-issued ID on suspicious websites or messengers. Read more ›
Report jobs that feel unsafe If you see a job that seems misleading, inappropriate or discriminatory, report it for going against our policies and we'll review it.

Share this job

Jobicy+ Subscription

Jobicy

614 professionals pay to access exclusive and experimental features on Jobicy

Free

USD $0/month

For people just getting started

  • • Unlimited applies and searches
  • • Access on web and mobile apps
  • • Weekly job alerts and digest
  • • Access to additional tools like Bookmarks, Applications, and more

Plus

USD $8/month

Everything in Free, and:

  • • Ad-free experience
  • • Daily job alerts and digest
  • • Personal career consultant
  • • AI-powered job advice
Go to account ›