5 Reasons Why N26 is Moving to Kotlin

Pat Kua
Pat Kua
May 3, 2018 · 4 min read

Like any modern technology company, we use many tools to bring our banking platform to life. Many of our backend services, for example, are implemented in Java. And our engineering team has tried out both Scala and Typescript — but later decided it wasn’t for us.

N26 loves Kotlin!

As part of our way forward, I’m excited to announce that we are moving towards adopting Kotlin as our major development language for our backend services.

In this article I’ll outline why and how we came to that decision.

Why Kotlin?

I like to describe our engineering culture as pragmatic. We don’t pick tools because they are “shiny,” “new” or “theoretically better.” Instead, we pick tools because they help us solve customer problems in a more simple, clearer way. Simplicity is one of our company values after all. It’s also another reason that our “Get Stuff Done” mindset carries over to the name of our “Get Stuff Done Days (GSDD).”

We went down the path of exploring Kotlin for a number of reasons including the following:

  1. Kotlin is easy to learn — Kotlin has an incremental learning curve. It doesn’t look too different from Java and our team found it easy to feel productive when they started learning and playing around with it.

There are many other reasons we ended up with Kotlin, but I am very happy with the result. It means our engineers have a more productive toolkit that lets them focus on building software that addresses real customer needs. All this without leaving a build, deployment, and tooling ecosystem that already provides a lot of value.

How we chose Kotlin

Since we’re becoming a larger company, standardizing the implementation language helps engineers move from service to service and focus on learning the domain, rather than a completely new tech stack. It also means that teams benefit from the same platform infrastructure (logging, monitoring, etc) that enables us to spin up new services quickly and enables much more productivity.

Our process for picking Kotlin looked like:

  1. Enough engineers talked about Kotlin as something that we should look into.

On our journey of adoption

We’ve already managed to convert 10% of our GitHub repositories are into Kotlin and we are learning more about the ecosystem and gotchas that it, like all languages, has. I’m betting that the developer-usability focus that Jetbrains brings will help Kotlin succeed in becoming a popular language that engineers enjoy developing in. I know that our engineering team enjoys it too.

Interested in writing some Kotlin with us?

If you’re interested in Kotlin and would like to join us on the journey of building the mobile bank the world loves to use have a look at some of the roles we’re looking for here.

InsideN26

It takes people of all makeups to create a bank that adapts…

InsideN26

It takes people of all makeups to create a bank that adapts to the needs of millions. That's why we mix data, intuition, and heart. To build a powerful tool, to make life that much easier. We're some of the best at what we do. And want you to be too.

Pat Kua

Written by

Pat Kua

Chief Scientist, former #CTO of @N26 #author of http://thekua.io/evolarch http://thekua.io/twtl http://thekua.io/retrobook . ThoughtWorks alum.

InsideN26

It takes people of all makeups to create a bank that adapts to the needs of millions. That's why we mix data, intuition, and heart. To build a powerful tool, to make life that much easier. We're some of the best at what we do. And want you to be too.