This is part 3 of a blog series of a talk I gave at Droidcon NYC and Londroid earlier this year. Dagger has a steep learning curve that frequently leaves developers not wanting to explore it further once they've integrated it. This series attempts to show some neat "party tricks" and other clever Dagger patterns to inspire more advanced usage.
Kotlin is justifiably lauded for its language features compared to today’s Java. It has constructs which allow expressing common patterns with more concise alternatives. An overused example in every intro-to-Kotlin talk or blog post is comparing a Java “POJO” to a Kotlin data class.
OkHttp uses synchronized as an allocation free mutex. Our concurrency model is tricky enough that we’ve documented the rules! And if we forget the rules, we also use runtime assertions to catch mistakes.
App Modularization has plenty of benefits and a lot of Android devs today are starting to modularize their android app. A common problem though that most folks will start to run into is – how do you manage your database objects in these modules? do you create a single module with all your database dependencies (modularize by layer), do you do the right thing and modularize by feature so each module has it’s own database file etc.?
There are many different types of developers. I’ve encountered and had the pleasure to work with a hugely diverse crowd of people with varying skills and experiences. Different people have different goals in life and career. Some people in tech have drive to move forwards, become a better developer and to take the next step in their career (no, I don’t believe that a developer should become a manager if they’re great at their job). This post is written with people with passion in mind, to possibly help them to move forward and to focus on their career.