Android 开发工程师
Android Developer
关于公司
Snappy Shopper 是英国增长最快的即时零售(Q-commerce)平台,为本地便利店提供快速生鲜配送服务。我们使独立零售商和包括 SPAR、Nisa、Premier、Co-op 等在内的主要合作伙伴能够通过提供当日或快速配送食品、饮料和日常必需品,实现数字化转型,最快可在 30-60 分钟内完成配送。我们平台上的客户通常在线消费比线下更多,帮助零售商提升收入并加深社区互动。
我们不仅仅是一个配送应用,更是本地街道的科技合作伙伴,提供数字销售工具、营销解决方案和集成方案,帮助零售商与更大的在线玩家竞争。
在 Snappy Shopper,我们致力于创新、零售赋能和社区影响,帮助门店在数字领域蓬勃发展,为客户提供卓越的本地便利,并塑造英国按需零售的未来。
我们的办公地点
我们是一家英国公司,全国都有员工,设有邓迪和爱丁堡的办公室。这是一个完全远程的工作岗位,偶尔有机会与同事面对面交流。
关于团队
你将加入我们的 Android 团队,与产品、工程和面向客户的同事紧密合作。
我们的 Android 项目范围不仅限于一个消费者应用。
Snappy Shopper 是我们的消费者下单应用,使用 Kotlin 构建,采用 Jetpack Compose、Coroutines 和 Flow。
Order Manager 负责接收店内订单,支持拣货、替换、退款、收据打印和司机分配。
Snappy Picker 供门店和仓库团队扫描和拣选商品,并管理缺货和替换。
Order Manager 和 Snappy Picker 还需要与运行在数千家门店中的老旧 Kotlin、RxJava2 和 XML 代码库进行交互,这些设备通常在连接不稳定的情况下全天运行。在这里,可靠性比像素级的美化更重要。
关于职位
作为经验丰富的 Android 开发者,你将结合扎实的 Android 开发技能与独立的技术判断和责任感。
日常工作中,你将:
- 在 Snappy Shopper、Order Manager 和 Snappy Picker 上设计、构建和维护 Android 功能。
- 与其他 Android 开发者和更广泛的干系人合作,将业务需求转化为清晰的技术方案和交付成果。
- 做出合理的工程技术决策,考虑架构、可靠性、可维护性等因素。
查看英文原文
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 toinnovation, 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 Pickeris 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.
Originally posted on Himalayas