Kotlin provides a mountain of features that Java developers previously never had access to. This creates endless opportunities. This also creates confusion akin to that of a kid in a candy store, which is exacerbated by the transition from simple beginner demos to production code, expected to be readable, performant and maintainable. Which to choose? Should I be doing this?
There are multiple origins of this confusion and hence different ways of alleviating it. Some are about something as seemingly trivial as figuring out the difference between a for-loop and a forEach, both achieving the same result. Others are about getting annoyed at a language for not supporting your exact preferred method of solving a problem, purely out of habit (from another language), rather than out of necessity.
This talk attempts to address most of these origins and provide appropriate recommendations, anywhere from "pick one and stick with it" to more in-depth analysis of decompiled code and alternative methods. The goal of this session is not to teach you new tricks, you probably already know a lot, it's to help lay the existing tricks down in your mind and make them useful for production development, by sharing my experience of attempting to do the same.
Mike Gouline is a software engineer who refuses to identify himself with any particular technology, while still being firmly in the Android and Kotlin camps. Past adventures include iOS apps, Python backends and Java web applications for startups and corporates. Currently, the lead of all things Android at Cochlear. Spare time spent organizing Sydney Kotlin User Group and pretending to be a photographer.