
Senior Android Engineer
X-Team
Visa & sponsorship
- AU CSOL: this role is on the national occupation list. The posting doesn't state a salary we could check against the threshold.
Job description
About the role
X-Team is seeking talented Senior Android Engineers to join a mobile engineering squad at one of Australia's largest banks, working on two priority projects: making the mobile banking app resilient that is used by millions of customers, and building Open Banking features. You'll build it in Kotlin and Jetpack Compose with a SQLite persistence layer, using networking and database code generated from gRPC definitions.
Key responsibilities
-
Build offline-first architecture ensuring the Android app remains resilient when backend services go down
-
Develop Open Banking features that let customers link accounts from other banks
-
Implement SQLite persistence layer with local caching and schema migrations
-
Work with gRPC definitions and Protocol Buffers for automated code generation
-
Ensure thread-safe data synchronization across the application
-
Implement Kotlin Coroutines and Flow to keep UI rendering separate from background network work
-
Apply Clean Architecture, MVVM or MVI patterns with dependency injection
-
Implement Android security fundamentals including Android Keystore, certificate pinning, and OAuth2
About you
-
5+ years of senior native Android engineering, with expert Kotlin and Jetpack Compose
-
Strong backend engineering expertise
-
Production experience building offline-first apps with SQLite, including local caching, schema migrations, and thread-safe data synchronization
-
Hands-on experience with gRPC, Protocol Buffers, and automated code generation on Android
-
Experience with Clean Architecture, MVVM or MVI, and dependency injection with Hilt or Dagger
-
Android security fundamentals: Android Keystore or EncryptedSharedPreferences, certificate pinning, and OAuth2
-
Able to work onsite in Melbourne CBD for the first 2 to 4 weeks
Nice to have
-
Experience building or using code-generation tools that map API definitions to SQLite schemas and DAO interfaces
-
LaunchDarkly or similar feature flagging experience for staged rollouts and instant kill-switches
-
Working knowledge of iOS patterns (Swift and SwiftUI) to keep behavior consistent with the iOS squad