Kamal Kamal Mohamed


Software Engineer – Android at Outware Mobile

Kamal is a software engineer focused on the mobile world and, in particular, on the Android platform. After working in Italy for 3 years delivering high-quality apps to national companies, he moved to Melbourne about 1 year ago to start working at Outware Mobile. Since then he’s been working to deliver awesome mobile experiences to Australian and international clients. He’s currently diving deep into possible architectures for Android mobile apps.

YOW! Connected 2015 Melbourne

A Separation of Concerns: Clean Architecture on Android


As an Android developer, I want to deliver features without making compromises on code quality.

Scenario 1 – Given I am dealing with 1000+ line activities, When I have to develop a complicated feature, Then I waste time orienting myself and fixing bugs.

Scenario 2 – Given I have integrated a backend API directly into my app logic, When that API changes, Then I have to refactor large segments of unrelated logic in order to utilise the new API.

Scenario 3 – Given I have cleanly architected my application, When business/presentation/backend logic changes, Then I can easily update the relevant code without breaking unrelated features!

In this talk, two Android developers will present their take on what a cleanly architected app looks like and why it makes our lives easier. A well-defined separation of concerns has benefits not just for our sanity as developers, but also for the project workflow as it allows multiple developers to collaborate on a single feature with ease. We will be exploring how the domain-driven approach can improve code clarity, allow you to easily write tests, and provide a scalable infrastructure for you to quickly iterate on. Join us on our path of discovery as we discuss the advantages, drawbacks and implementation specifics in the context of a small sample project.