Devoxx UK 2019
from Wednesday 8 May to Friday 10 May 2019.
Irwan has been working as a developer in the Java platform since 2007. He has worked in various projects using the Java platform in both private (oil and gas, banking) and public (pension and health) sectors.
Generally Irwan has wide and strong professional interests, and specifically he has a passion for software quality achieved through effective methodologies and practices. He is very interested in the Software Craftsmanship movement where one takes personal pride in the works one does and its result.
As one of those Java programmers who feel energised and inspired by Kotlin, I want to use it right away in my project. It is an internet banking application for the business market redesigned and redeveloped in 2015 to comply with ISO 20022 (Universal financial industry message scheme). By the time it was first launched in 2017, the codebase was already "modern" enough with Java 8. However, like most complex java applications it still suffers, among others: POJO boiler plate in its domain and DTO classes, aggressive null-checks due to downstream data we consume, and less readable code caused by a combination of the previous points.
Adopting Kotlin in the codebase, especially due to its interoperability, can be seen as a refactoring or a way to potentially improve the codebase with Kotlin's features. Here I will present a critical analysis of the refactoring with the focus on performance and readability of the resulting code.