Android Developer
Snappy Shopper Stirling, Scotland, United Kingdom
Retail · 201-500 employees
About the role
Design, build, and maintain Android features across the company's consumer and store-facing applications. Collaborate with cross-functional teams to turn business requirements into technical deliverables while ensuring code quality and reliability.
What they look for
Requirements
Requires strong modern Kotlin experience and production experience with Jetpack Compose, Coroutines, and Flow. Candidates should have experience with multi-module Clean Architecture and a strong habit of unit testing.
Benefits
Full description
About Us
Snappy Shopper is the UK’s fastest‑growing quick commerce (Q‑commerce) platform powering rapid grocery delivery from local convenience stores. We enable independent retailers and major partners, including SPAR, Nisa, Premier, Co‑op and others, to digitally transform their business by offering same‑day and rapid delivery of food, drink and everyday essentials within as little as 30‑60 minutes. Customers on our platform typically spend significantly more online than in‑store, helping retailers grow revenue and deepen community engagement.
We’re more than a delivery app, we’re a technology partner for local high streets, providing tools for digital sales, marketing solutions, and integrations that help retailers compete with larger online players.
At Snappy Shopper, we’re committed to innovation, retail empowerment and community impact, helping stores thrive digitally, offering exceptional local convenience to customers, and shaping the future of on‑demand retail in the UK.
Our location
We are a UK company with colleagues across the country and offices in Dundee and Edinburgh. This is a fully remote role, with occasional opportunities to connect with colleagues in person.
About the team
You'll join our Android team, working closely with Product, Engineering and customer-facing colleagues across the business.
Our Android estate is broader than a single consumer app.
Snappy Shopper is our consumer ordering app, built in Kotlin with Jetpack Compose, Coroutines and Flow.
Order Manager receives orders in-store and supports picking, substitutions, refunds, receipt printing and driver assignment.
Snappy Picker is used by store and warehouse teams to scan and pick products and manage gaps and substitutions.
Order Manager and Snappy Picker also mean working with older Kotlin, RxJava2 and XML codebases running on rugged hardware in thousands of stores, often over patchy connectivity and in sessions lasting all day. Here, reliability matters more than pixel polish.
About the role
As an experienced Android Developer, you’ll combine strong hands-on Android development with the independent technical judgement and ownership.
Day-to-day, you will:
- Design, build and maintain Android features across Snappy Shopper, Order Manager and Snappy Picker.
- Work with other Android developers and wider stakeholders to turn business requirements into clear technical approaches and deliverables.
- Make sound technical decisions, considering architecture, reliability, maintainability and the wider impact of your implementation.
- Take ownership of the quality and completeness of your solutions before they reach review.
- Review other developers’ code and contribute constructively to technical discussions.
- Troubleshoot existing Kotlin and legacy Java code and help resolve complex production issues.
- Work pragmatically, recognising when something needs solving properly now and when improvement is better left for another day.
To be successful, you'll have:
We’re looking for someone with strong level of Android capability rather than a checklist of every technology we use.
You’ll bring strong modern Kotlin experience, including reviewing other developers’ Kotlin and contributing meaningfully to PR discussions.
You’ll also have:
- Production experience with Jetpack Compose.
- Strong experience with Coroutines and Flow.
- Hilt, Dagger 2 or Koin experience, with a good understanding of dependency scoping.
- Experience working with multi-module Clean Architecture, where architecture and code-quality standards are enforced through tooling and CI.
- A strong unit-testing habit, using technologies such as JUnit and MockK/Mockito.
- Experience with collaborative development, version control and code review.
- Experience working within an Agile/Scrum environment.
Our apps currently ship at minSdk 24–26 and targetSdk 35–36.
We’d also like you to have done at least one of these:
- Worked with RxJava2, including good disposal discipline.
- Shipped a hardware integration using a vendor SDK, AIDL service, Bluetooth device or partner-app Intent.
- Shipped realtime functionality using WebSockets, including fallback and dead-connection handling.
- Worked with custom Dagger scopes or subcomponents with explicit teardown.
Exposure to XML/ViewBinding, Room, Crashlytics, payment SDKs, Firebase Remote Config, WorkManager, Bluetooth printing or similar technologies is useful, but isn't essential.
And there are things we don't expect you to know before you arrive. You'll learn our store domain and the hardware behind it, including Sunmi POS devices and scanners, PayPoint terminals, Zebra scanners and Bluetooth label printers.
Who you are
- Community: You collaborate well, share knowledge and help others reach better technical solutions.
- Be Snappy: You work at pace, adapt to changing priorities and take ownership of delivery.
- Breaking Barriers: You use sound technical judgement to solve difficult problems and aren't afraid to constructively challenge an approach when there's a better one.
- Craic on: You communicate clearly, build trusted relationships and enjoy working with technical and non-technical colleagues.
What’s in it for you
Joining Snappy as an Android Developer means working on more than another consumer mobile app.
You'll work across modern Compose development and established applications that sit at the heart of day-to-day store operations. You'll encounter interesting challenges around reliability, hardware, payments, realtime communication and applications operating in imperfect real-world conditions.
You'll have autonomy in how you solve problems, the opportunity to influence our Android engineering approach and a team that values good judgement as much as technical knowledge.
We offer a competitive salary, flexible remote working and ongoing opportunities for learning and development.
Applying
We want our recruitment process to give you (and us) a proper opportunity to understand whether the role is the right fit.
Following an initial application review, selected candidates will have an introductory conversation with our Engineering team to discuss your experience, the role and Snappy's Android environment.
Candidates progressing from there will take part in practical technical sessions involving different Android development scenarios and live coding exercises, giving us the opportunity to understand how you approach problems, write and work with code, make technical decisions and respond as requirements or constraints evolve.
We welcome applications from people of all backgrounds and are committed to inclusive recruitment.
Please note that due to the volume of applications we receive, we’re only able to contact candidates who are selected to progress to the next stage.
Similar roles
-
Staff Android Software Engineer, Cash App Consumer Platform
Block Seattle, Washington, United States · $264K–$395K/yr
-
Staff Software Engineer, Android Growth Systems and App Foundations
Google London, England, United Kingdom
-
Senior Android Engineer- Hardware
SumUp Berlin, Germany
-
Staff Software Engineer, Android
Toast Bengaluru, Karnataka, India
-
Senior Product Data Scientist, Calling for Android and Business Communication
Google Mountain View, California, United States · $163K–$236K/yr
-
Senior Software Engineer, Mobile, Android, XR
Google San Jose, California, United States · $174K–$252K/yr