KotlinConf 2017 - Kickstarting Kotlin Culture: The Journey from Java to Kotlin by Neil Power
This talk is about our experience building a strategy for the adoption of Kotlin. Based on the lessons we learned at Hootsuite, we want to share our story so others can accelerate their adoption. We are growing Kotlin culture at Hootsuite and facilitating that growth in the community at large. We discuss the initial adoption of Kotlin at Hootsuite. At first, our developers wrote Java code with Kotlin syntax; we didn’t yet understand the deeper differences between Kotlin and Java. After many discussions, research, and experience, we started writing Kotlin idiomatic code with a consistent style across the company. The core of our story is about empowering other individuals and companies to learn from our experiences, what we have done and are doing to grow Kotlin culture at Hootsuite. We founded a Kotlin guild for informal learning. We started a Kotlin Book Club to facilitate more structured learning. We held an official Kotlin 1.1 Event at Hootsuite and founded a Vancouver Kotlin user group to help grow the developer community in Vancouver and beyond. This group helps us share our learning and best practices beyond Hootsuite and to receive similar feedback from other early adopters of Kotlin. The story of Kotlin culture at Hootsuite is centered around the decomposition of our Android app into smaller, maintainable, reusable libraries. We have a "Java monolith", hundreds of thousands of lines of Java code that make the Hootsuite Android app. We started in 2016, breaking this monolith up into libraries, Library Driven Development. This is analogous to Hootsuite’s move from a PHP monolith to microservices. Many companies have similarly large legacy Java-based Android apps. We feel that "slicing up" these existing applications while adopting Kotlin, or accelerating the adoption of it, is one of the cornerstones of our successes with Kotlin. Refactoring some areas of the app into Kotlin while decomposing other areas into standalone Kotlin libraries, helps us to deliver a more maintainable, well tested, clean Android app. This Library Driven Development helps us stay nimble in the market, to deliver new features, or even new applications by composing libraries together. Neil is an Android Developer at Hootsuite. Originally from Newfoundland, he now calls Vancouver home. Along with the rest of the Hootsuite Android team, he made the switch to Kotlin early in 2016 and hasn't looked back.