Android Developer
elliott moss consultingJob description
1.Mandatory Skills::
Candidates must be able to demonstrate all five mandatory skills. General Android familiarity is assumed but is 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 12 months.
- Able to work confidently in an established codebase that also contains Java.
- 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.
- Experience limited to small or single-owner apps will not be sufficient.
- Coroutines and Flow, structured concurrency, dispatcher selection and cancellation.
- Able to reason about main-thread contention and race conditions.
- Able to diagnose context leaks and listener retention through heap analysis rather than by inspection.
- 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.
- Application Not Responding (ANR) issues, 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.
- 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.
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.
Important Hiring Criteria::
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 focused on the following activities, without hands-on implementation, will not be considered:
- Team management
- Project management
- Scrum-master activities
- Vendor coordination
- Status reporting
- Architecture governance
Interested in this role?