Skip to content

Engineering

Engineering concepts that support Android development, from maintainable code and runtime behavior to systems spanning mobile clients and services.

Suggested path

Start with code quality and reviews, then revisit OOP, SOLID, and patterns through real design choices. Algorithms and memory help evaluate performance. For distributed features, begin with System Design Fundamentals and continue with the topic that matches your problem; the offline-first example connects the pieces. For Android-specific application structure, see Architecture.

Code and runtime

System Design

System Design follows complete data flows across mobile clients, APIs, services, storage, and workers.