Navigating the Minefield of Expectations in Interview Take-Home Assignments
The challenges senior Android engineers face during the interview process, particularly with regards to take-home assignments. These assignments can be time-consuming, require a significant amount of work, and are often expected to be completed for free. The expectations placed on engineers can be unrealistic and burdensome, and it's important to remember that their time and expertise are valuable commodities. Companies should set more reasonable expectations and avoid placing unrealistic burdens on senior Android engineers.
Testing Coroutines and Firebase Login Flow
How Kotlin Coroutines can be used to write and test asynchronous code efficiently. Using a AuthViewModelTest class that tests the AuthViewModel class responsible for user authentication and registration using Firebase Authentication. The class uses Coroutines to simulate an asynchronous environment and ensures that the AuthViewModel behaves correctly in the presence of successful and failed login attempts.
Clean Architecture in Android
Clean Architecture is a way to create a scalable and maintainable Android app architecture. It splits the app into four layers: Entities, Use Cases, Domain, and Presentation. MVVM separates UI logic from business logic, and Hilt is a dependency injection library that helps manage dependencies. Use Cases contain the business logic, and the blog post provides Kotlin code examples for each component of the architecture, showing how to implement Clean Architecture in Android.