Adopting Kotlin at Prime Video for higher developer satisfaction and less code
A deep dive into the adoption of Kotlin for developing microservices at Prime Video.
Choosing a programming language for a new project is a tough decision that can have long-lasting effects. The decision involves considering how well the language integrates with your team’s existing technology stack, how mature the language is, and the learning curve that would be required.
In 2020, our team at Prime Video decided to use Kotlin, instead of Java, to develop new microservices. We used a phased approach by first only implementing unit tests in Kotlin, followed by actual business logic. Our team made extensive use of Kotlin language features, such as co-routines and data classes. As a part of this project, the team also developed the AWSSSMChaosRunner library, an open-source library in Kotlin for chaos engineering on Amazon Web Services (AWS) .
The team’s Kotlin adoption has been a positive experience with long-term benefits, including code reduction, increased application throughput, and higher developer satisfaction. The team’s Kotlin code base is more readable compared with a similar Java code base, but also makes it easier to work with NullPointer exceptions and leverages a more robust type system.
For more information about this, see our Adopting Kotlin at Prime Video for higher developer satisfaction and less code article on the AWS Open Source Blog.