Hotwire Tech Blog

Scribes from Hotwire Engineering

What is Kotlin?

Kotlin is a new programming language from JetBrains, the maker of the world’s best IDEs.

  • Kotlin compiles to JVM bytecode or JavaScript.
  • Kotlin is a statically-typed programming language.
  • Kotlin is designed to interoperate with Java code and is reliant on Java code from the existing Java Class Library.
  • The syntax is lean and intuitive. It is a lot like Scala but much more comprehensible for Java developers. It does not completely destroy your OOP paradigm vision.
  • It does not enforce you to use only functional or only OOP style, which really simplifies the migration for existing Java…



Hotwire follows microservices based architecture. However, splitting the core functionality into microservices is a challenge in itself. Integration testing is very important to make sure all the microservices work well together. That is a primary reason why teams here rely more on test automation. Test automation make it easier for teams to be agile and deliver faster. However, just writing lot of integration tests is not enough; making them deterministic really matters. If tests are non-deterministic, SEs/SDETs end up spending more time…



There are many test case management tools available out there but if the automation team does not select the right tool, they could face one or more of the below limitations:

  • Cannot update test case execution results automatically.
  • Cannot easily integrate with our defect tracking tool.
  • Cannot create custom reports.
  • Cannot notify test results to interested parties automatically.


The Android team has used various tools for managing test cases ranging from simple ones like Word, Excel to full blown ones like TestLink. With Word, Excel etc. we can just list the…