
Senior iOS 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
The Mission:
Millions of people open their banking app every day, and it can't freeze or show a blank screen when a backend service slows down. You'll make the Android app keep working through outages, and you'll help build Open Banking features that let customers link accounts from other banks.
The Role:
This is a contractor role open to candidates based in Australia. You'll join a mobile engineering squad at one of Australia's largest banks and build an offline-first architecture in Kotlin and Jetpack Compose. It uses a SQLite persistence layer, with networking and database code generated from gRPC definitions. The first 2 to 4 weeks are onsite in Melbourne, then it moves to hybrid.
Most Important:
-
5+ years of senior native Android engineering, with expert Kotlin and Jetpack Compose
-
Production experience with offline-first apps on SQLite: local caching, schema migrations, and thread-safe data sync
-
Kotlin Coroutines and Flow, used to keep UI rendering separate from background network work
-
Hands-on gRPC, Protocol Buffers, and automated code generation on Android
-
Clean Architecture, MVVM or MVI, and dependency injection with Hilt or Dagger
-
Android security fundamentals: Keystore or EncryptedSharedPreferences, certificate pinning, and OAuth2
-
Based in Australia and able to work onsite in Melbourne for the first 2 to 4 weeks
The Bonus Skills:
-
Code-generation tools that map API definitions to SQLite schemas and DAO interfaces
-
LaunchDarkly or similar feature flagging, for staged rollouts and kill-switches
-
Working knowledge of Swift and SwiftUI, to keep behavior consistent with the iOS squad
-
FinTech background: financial dashboards, Open Banking (Consumer Data Right), or retail banking apps
Personal Traits:
-
You design for the bad day. When an API times out, the screen keeps working.
-
You prefer strongly typed contracts over loose JSON, and you like it when tooling generates the boilerplate.
-
You treat security and pen test findings as part of the build, not a review at the end.
-
You share context easily, with a new team onsite and with iOS colleagues after that.