Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Agenda 1. Some background contexts 2. First line of Kotlin 3. Adoption process 4. Is it easy or not? 5. Lessons learnt 6. Where we are now? 7. Questions

Slide 4

Slide 4 text

Background contexts (facts) - Starting as MVP project in 5 months - All Java - “1-man project” - 1+ year since Kotlin official support from Google (May 2017)

Slide 5

Slide 5 text

First line of Kotlin (1) July 27, 2018

Slide 6

Slide 6 text

First line of Kotlin (2) July 27, 2018

Slide 7

Slide 7 text

Adoption - phase 1 - “the honeymoon” - Enjoy the language features: data class, extension functions, out-of-the-box lambda support, collection API, Null-safety!!!, immutability support - Bit by bit: testing code, data object - The brevity vs the verbosity - clear winner! - Introduce the language with weighted risks - like you are driving your car at 60 mph

Slide 8

Slide 8 text

Adoption - phase 2 - “spreading” - New components are written in Kotlin - Converting from Java to Kotlin is encouraged (but optional) - Supported by: code review process, pair-programming

Slide 9

Slide 9 text

Adoption - phase 3 - “acceleration” - First factor: New hire with Kotlin filter (Belarus team expanding) - Refactoring: - Convert from java to Kotlin become a mandatory - New components are written in Kotlin as always

Slide 10

Slide 10 text

Is it easy? 1. Java inter-ops capability 2. Rich API collections 3. Reading it in a similar style with Java 4. Functional concepts

Slide 11

Slide 11 text

Lessons learnt - Pair-programming sessions help the adoption become team-friendly and less stressful - Guild to share the knowledge - via Code Review, filling-water talks,

Slide 12

Slide 12 text

Where we are now?

Slide 13

Slide 13 text

Questions

Slide 14

Slide 14 text

Next session - Firechat