What is a Mobile Engineer at Commonwealth Bank of Australia?
A Mobile Engineer at Commonwealth Bank of Australia (CBA) is a guardian of the most-used banking application in the country. You are responsible for building, maintaining, and scaling the CommBank app, which serves millions of Australians daily. Your work directly impacts the financial well-being of a significant portion of the population, requiring a blend of high-performance coding, rigorous security standards, and a deep commitment to user accessibility.
At CBA, mobile engineering is not just about shipping features; it is about building a resilient ecosystem that handles massive transaction volumes while remaining intuitive for every demographic. You will work within cross-functional "squads" to deliver features ranging from real-time spending insights and digital wallets to sophisticated fraud prevention tools. The complexity of the role lies in balancing the rapid delivery of modern, Jetpack Compose or SwiftUI interfaces with the stability of a core banking engine.
This position is critical to the bank’s "digital-first" strategy. As the primary touchpoint for customers, the mobile platform is the engine of innovation for the bank. Joining this team means taking ownership of high-stakes projects where performance bottlenecks or security vulnerabilities have real-world consequences, making it a highly rewarding environment for engineers who value scale and social impact.
Common Interview Questions
See every interview question for this role
Sign up free to access the full question bank for this company and role.
Sign up freeAlready have an account? Sign inPractice questions from our question bank
Curated questions for Commonwealth Bank of Australia from real interviews. Click any question to practice and review the answer.
Explain when to use Swift structs versus classes on iOS, focusing on value semantics, identity, mutation, and performance tradeoffs.
Explain how Swift closures capture references, create retain cycles, and how to prevent leaks with weak or unowned captures.
Tests conflict resolution and leadership through a specific example of mediating tension between teammates and restoring team performance.
Sign up to see all questions
Create a free account to access every interview question for this role.
Sign up freeAlready have an account? Sign inGetting Ready for Your Interviews
Preparing for a Mobile Engineer role at Commonwealth Bank of Australia requires a dual focus: demonstrating deep platform-specific expertise and showing an alignment with the bank’s culture of reliability and customer-centricity. Your interviewers will look for candidates who don't just write code that works, but code that is testable, maintainable, and secure.
Technical Mastery – You must demonstrate an expert-level understanding of your primary platform, whether iOS (Swift) or Android (Kotlin). Interviewers evaluate your knowledge of memory management, concurrency, and the latest framework updates, as well as your ability to work with legacy patterns that still exist within a large-scale enterprise codebase.
Architectural Integrity – CBA values clean, scalable architecture. You will be assessed on your ability to implement patterns like MVVM, Clean Architecture, or VIPER. Be prepared to justify your architectural choices based on modularity and ease of testing.
Resilience and Security – In a banking environment, "good enough" is never enough. You must show how you handle edge cases, network failures, and data encryption. Demonstrating a "security-first" mindset is essential for passing the technical deep dives.
Collaborative Leadership – Even for individual contributor roles, CBA looks for engineers who can communicate technical trade-offs to non-technical stakeholders. Your ability to navigate ambiguity and contribute to a positive team culture is just as important as your ability to solve a coding challenge.
Tip
Interview Process Overview
The interview process for a Mobile Engineer at Commonwealth Bank of Australia is designed to be comprehensive, focusing on both your immediate technical skills and your long-term potential within the engineering organization. You can expect a structured progression that moves from high-level screening to deep technical evaluation, often concluding with a focus on leadership and team dynamics.
The process typically begins with a talent acquisition screen to discuss your background and expectations. This is followed by a technical assessment, which may include a live coding session or a take-home assignment designed to mirror real-world tasks you would encounter at the bank. The final stages involve panel interviews with senior engineers and managers, where the focus shifts to system design, architectural patterns, and behavioral alignment.
This timeline illustrates the typical stages from initial contact to the final decision. Candidates should use this to pace their preparation, focusing heavily on core platform fundamentals in the early stages before shifting to high-level architecture and behavioral examples for the final panel. Note that the duration of the take-home assignment phase can vary depending on the complexity of the task and your own schedule.
Deep Dive into Evaluation Areas
Platform Core & Language Proficiency
This area assesses your fundamental knowledge of the mobile operating system and the languages used to build for it. For iOS candidates, this means a deep dive into Swift, UIKit/SwiftUI, and Combine. For Android candidates, the focus is on Kotlin, Jetpack Compose, and Coroutines.
Be ready to go over:
- Memory Management – Understanding ARC (iOS) or Garbage Collection (Android) and how to prevent memory leaks in complex views.
- Concurrency – How to handle background tasks effectively using modern APIs like Swift Concurrency or Kotlin Coroutines.
- Interoperability – Handling legacy code, such as Objective-C or older Java patterns, which is common in large enterprise apps.
Advanced concepts (less common):
- Custom transition animations and high-performance UI rendering.
- Low-level networking and custom URL protocol implementations.
- Modularization strategies for multi-module projects.
Example questions or scenarios:
- "Explain the difference between a struct and a class in Swift and when you would use each in a banking context."
- "How would you manage a complex state across multiple screens using Jetpack Compose?"
- "Describe a situation where you had to debug a difficult memory leak in a production app."
Mobile Architecture & System Design
At the scale of CBA, how code is organized is just as important as the code itself. Interviewers will look for your ability to design systems that are decoupled, testable, and easy for other engineers to contribute to.
Be ready to go over:
- Design Patterns – Deep knowledge of MVVM, Coordinator, and Dependency Injection.
- Data Persistence – Strategies for local storage (CoreData, Room, or encrypted databases) and synchronization with remote APIs.
- Testing Strategy – Writing robust Unit and UI tests to ensure financial calculations and user flows remain accurate.
Example questions or scenarios:
- "Design a modular architecture for a new 'Rewards' feature that needs to be shared across multiple apps."
- "How do you ensure data consistency between a local database and a REST API in an offline-first mobile app?"
- "What is your approach to Dependency Injection, and why is it critical for testability?"




