About the role
Responsibilities:
- Own one or more core mobile systems with end-to-end reliability, performance, and user experience. Not just the features. The whole platform.
- Lead the design and architecture of scalable mobile systems, shared frameworks, and platform libraries aligned with Locus's technical strategy across Android and iOS.
- Drive mobile operational excellence: define roadmaps for app reliability, crash-free rates, observability, and performance improvements that matter in the field.
- Architect and optimise for the hardest mobile constraints: low-end Android devices, unreliable networks, offline-first workflows, and real-time location demands all at enterprise scale.
- Build and own the mobile platform layer: shared architecture patterns, design systems, native SDKs, and tooling that other mobile engineers build on top of.
- Work closely with teams across biological and digital product, backend, data, and infrastructure to translate complex B2B workflows into mobile experiences that field operators can rely on.
- Mentor and guide mobile engineers, fostering a culture of technical ownership, craft, and continuous learning.
- Establish and uphold mobile engineering standards, architecture reviews, code quality, release hygiene, and best practices across both platforms.
- Stay ahead of the curve on emerging mobile technologies, platform capabilities, and patterns to strengthen Locus's mobile foundation.
- Contribute to hiring: identify and attract engineers who build things that hold up in the real world.
Requirements:
- Strong CS fundamentals: data structures, algorithms, design patterns, and mobile-specific problem-solving.
- 8+ years of experience in mobile development with deep, hands-on expertise in native Android
- Proven experience in architecting and shipping production-grade mobile applications used by tens of thousands of users.
- Mastery of offline-first architecture, local persistence strategies, conflict resolution, sync protocols, and graceful degradation under poor connectivity.
- Deep understanding of mobile performance optimisation, memory management, rendering efficiency, battery consumption, and performance on low-end and mid-range devices.
- Hands-on experience with real-time location, maps, and geospatial data on mobile, including background processing, GPS accuracy tradeoffs, and battery-aware design.
- Solid understanding of mobile concurrency, threading models, and async processing patterns on both platforms.
- Experience with CI/CD pipelines for mobile, crash reporting and observability.
- Strong sense of code quality, platform idioms, and long-term maintainability across two native codebases.
- Excellent communication skills, able to articulate mobile architecture decisions clearly to backend engineers, product managers, and non-technical stakeholders alike.
- Self-driven, curious, and adaptable; sees a broken experience in the field and can't let it go unfixed.
Good to Have:
Degrees don't tell us much. These do:
- You've shipped a mobile platform that held up under real-world scale, and you know exactly what broke, where, and why.
- You've solved something genuinely hard on mobile: sync under flaky networks, maps at scale, and smooth UI on an 8,000 Android phone.
- You've built something on your own time, open source, a side project, or an internal tool that other engineers actually use.
- You've contributed meaningfully to a top open-source mobile project.
- You've written technical content that others reference or spoken at a conference on mobile engineering.
- You've competed in or completed something gruelling: ultra-marathons, Ironman, competitive programming, and hackathon wins.
The stack:
- Android: Jetpack Compose, XML layouts, Koin, Dagger2 Ktor, Retrofit, Auth0 Room DB, Couchbase, Coroutines, RxJava, SDUI, location services, background jobs.