The posting
Hands-on engineering role. The successful candidate must be writing production code daily.
The role
We are looking for hands-on Android engineers to build and support critical customer journeys and shared native capabilities within a large-scale consumer banking application.
We work in a single shared native codebase serving multiple business domains. A change made in one journey can affect the whole application, so we need engineers who work with that in mind.
This is a hands-on engineering role. We are not filling a lead, architect, delivery-lead or coordination position. Candidates whose recent work has been predominantly team management, project management, scrum-master activity, vendor coordination, status reporting or architecture governance without implementation will not be considered. This is the most important filter on this role.
What you will work on
Customer journeys and the reusable native capabilities beneath them, including:
• Customer authentication, including biometric authentication
• Account summary and account information journeys
• Application navigation and deep linking
• Application configuration and feature management
• Customer notifications and in-app messaging
• Analytics and customer-insight integration
• Secure storage and session management
• Native frameworks and reusable components shared across journeys
• Integration between native and web-based journeys
You will work alongside other native engineers, web, security and platform teams, in a codebase multiple teams contribute to. . We are seeking a suitable candidate for this role as part of a key project requirement
Candidates must be able to demonstrate all five. General Android familiarity is assumed, not sufficient.
1. Kotlin depth with recent hands-on delivery. Four or more years of commercial Android development in Kotlin, personally writing production code throughout the most recent twelve months. Able to work confidently in an established codebase that also contains Java.
2. Android SDK and lifecycle in a large multi-team codebase. Activity and Fragment lifecycle, configuration changes, process death and state restoration, task and back-stack behaviour, background execution limits, and modularisation across a multi-module project. Jetpack Compose is valued, particularly integrating it into a predominantly View-based application. We are not looking for experience limited to small or single-owner apps.
3. Concurrency and memory under real conditions. Coroutines and Flow, structured concurrency, dispatcher selection and cancellation. Able to reason about main-thread contention and race conditions, and to diagnose context leaks and listener retention through heap analysis rather than by inspection.
4. Platform security. Android Keystore, encrypted local storage, BiometricPrompt including biometric-enrolment change handling, certificate pinning, permissions, scoped storage, and root or tamper signals. Able to handle sensitive customer data correctly without being told where the risks are.
5. Production debugging across a fragmented device base. ANRs, jank and frame drops, startup time, crash analysis, and device or OS version fragmentation. Able to reason from a customer-reported symptom through to root cause without escalating to a lead or architect.
Strongly preferred
• Carrying an annual target-API or Android SDK upgrade through a large production application, including behaviour changes such as edge-to-edge and Play Store compliance requirements
• App Links, custom URL schemes and digital asset link verification, including troubleshooting links that fail to resolve to the application
• Diagnosing behavioural differences introduced by Android OS, target SDK, WebView or Chromium version changes — recognising when an apparent application defect actually originates at the platform or WebView boundary
• Integration between native and web-based journeys — WebView or hybrid content, deep-link entry into web journeys, and session and configuration hand-off between native and web
• Banking, financial services, fintech, wallets or another secure, high-volume consumer application
• Contribution to an internal SDK, design system or framework consumed by other teams
• Mobile observability and crash or performance analytics instrumentation
• Ownership of CI/CD pipelines or native test automation



