Learn dependency injection — an important technique for building software systems that are maintainable and testable. Dependency injection is nowhere near as complex as its name implies, and it becomes even easier by using Dagger — Google's framework that will help you solve development and performance issues that have plagued reflection-based solutions.