Phase 4 - 6 to 12 months
Own features beyond your own code.
Goal: design and deliver larger app areas, improve quality for other engineers, and make trade-offs explicit before the implementation becomes expensive.
What to learn
- Android system design: feature boundaries, offline-first decisions, data ownership, API contracts.
- Modularization: feature modules, core modules, dependency direction, build speed impact.
- Performance: startup time, jank, memory, battery, tracing, baseline profiles, and lazy rendering.
- Accessibility and inclusive UX: semantics, touch targets, dynamic text, contrast, screen reader behavior.
- Security and privacy: token storage, permissions, data minimization, logging boundaries, threat modeling basics.
- Team practice: code review quality, design docs, rollout plans, incident notes, and mentoring.
Build this project
Create a modular marketplace app with buyer, seller, catalogue, checkout mock, and support modules. The point is not business complexity; the point is clean boundaries and measurable quality.
App shell
Buyer
Seller
Core APIs
| Technical proof | Module graph, public APIs, performance trace, accessibility checklist, and release checklist. |
|---|---|
| Leadership proof | Design doc, rejected alternatives, review checklist, rollout risks, and mentoring notes. |
Exit gate
- You can design a feature before coding and defend key trade-offs.
- You can improve build, runtime, or accessibility quality with measured evidence.
- You can review another engineer's Android code beyond style comments.
- You can identify when a local abstraction is useful and when it is premature.
- You can translate product ambiguity into engineering options and risks.