X-Team logo

Senior iOS Engineer

X-Team

Hybrid๐Ÿ‡ฆ๐Ÿ‡บMelbourne, VIC, AustraliaseniorPosted 11d ago

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.