Interview with an Android Engineer — Meet Nicolas Ioannou

Pat Kua
InsideN26
Published in
6 min readApr 29, 2019

The Android Platform is an important part of our overall product ecosystem. Our team has grown rapidly to keep up to pace with the growing company. I met with one of our Android Engineers to find out a little bit more about him and how the team works. Read on to find out more.

Nicolas Ioannou, Android Engineer at N26

PK: Hi Nicolas. Thanks for making time to chat. I’d love to hear a little bit about your background.

I originally come from Cyprus. I took my Bachelor’s in Computer Science in the United States at the University of Massachusetts (Amherst) and came to Berlin to work. I worked with another company in maps and navigation as my first company in Berlin and now I’m at N26.

PK: As an Android Engineer, you had a lot of choices. Why did you decide on Berlin?

I decided to move to Europe to see life as it is in the continent. Cyprus is part of the EU but it’s a small place that didn’t offer too many opportunities for me to grow as a professional. I looked at larger cities, where I could be in a diverse environment and work with a company with great technology. Berlin was the place at the time that I felt offered all of that.

“I looked at larger cities, where I could be in a diverse environment and work with a company with great technology.”

PK: How long have you been with N26 now?

Over a year now. I started in March 2018. I just had my one year anniversary.

PK: Congratulations!

Thank you!

PK: Why did you decide to join N26?

One of the biggest reasons was because I knew Lucia, our Android Tech Lead before joining. I knew what N26 was trying to do and how N26 was trying to do it. I knew the technology stack and I also knew who was going to be my manager. Everything felt like it was coming together.

The interview process confirmed that N26 is where I wanted to work.

“I can take something from a specific Product team and bring it to the Android team, and I can take something from the Android team and influence a Product team”

PK: Can you please share how the Android team works?

We have a single Android codebase which we all contribute to. However we contribute to the codebase as a member of a cross-functional team (within a Product Group). This means we play two team members roles — one as team member of a particular cross-functional team (where we sit most of the time), and another as part of the Android team.

As part of a Product Group, we lead that part of the Android codebase. As an Android team we embrace this and use this to our benefit. I can take something from a specific Product team and bring it to the Android team, and I can take something from the Android team and influence a Product team.

As an Android team, we work very closely together. We have a common understanding across the board across the technology we use and technical excellence we strive for. We try to build on this communication and common understanding as a team as we feel it is very important.

PK: How many people are in the Android team and where does everyone sit?

I think we’re fourteen Android developers in Berlin, as of yesterday. We are currently six in Barcelona and one more is joining soon. The developers in Berlin are mostly in the same building. That makes 21 in total (for now).

We try to spend as much time together in our two offices (Berlin and Barcelona) to achieve strong cohesion. Strong cohesion and alignment enables us to communicate more effectively across two points rather than across the 21 different people.

Although we are mostly in the same building, we don’t sit physically together as an Android team. Each of us is located in their Product Team. As an example, I’m part of the Growth Group and each of us are within our own team.

PK: You mentioned earlier about focusing on technical excellence. What are you proud about in the Android team?

We write all new code in Kotlin. We’re using RxJava quite heavily. We’re using MVVM and the architecture components from Android. We have some legacy Java components which we refactor into Kotlin and our reactive architecture whenever we get the chance.

Lucia Payo’s talk, “Reactive, Clean Architecture and Android Architecture Components, a solid formula for a MVVM based architecture.

Tying it all together makes for a very nice modular and reactive architecture. Lucia gave a fantastic talk about that (see it here).

I am particularly proud of some changes the Android team pushed for across the organisation. When a team works so well together, we have more impact. We pushed for the ideas of an Atomic Design Language (ADL) with the design team. We didn’t want to recreate different UI components every time. Instead, we create them once and use them. When we make a component change, everything automatically reflects this.

We took this concept even further beyond the Android team. We discussed this with our iOS team. We discussed this with our design team. Now all of the front end will be talking about a common design language which isn’t even related to programming. It’s a shared human language to describe our designs and how that is translated to code.

We are also champions of Quality Engineering. We really pushed for improved UI automation, putting everything into our CD pipelines and constantly reducing manual regression.

I feel immensely proud of this because it makes life a lot easier for a lot of people.

PK: It scales better and is a huge accomplishment. It’s a great team culture you’ve built up. You should be really proud of that. Tell us more about Growth and that area you’ve been working on.

I’ve been in the Growth Group for three months now. When we talk about Growth, I mean the journey of users learning more about N26. I’m working on the next steps after you create an account. We’re responsible for showing the users who we are, building trust and help users better understand our product offerings.

We’ve noticed for example that some users don’t use the application until they have a physical card. We wanted to give users more information. Our solution was a new user onboarding component that we show if you’re a new user. It helps you understand what you can do with the app. We show you the Cash26 feature, or how you can top up your account even if you don’t have a card.

“N26 sits on a good balance between structure and uncertainty. This balance is a really great opportunity!”

PK: What piece of advice would you offer to people thinking about joining N26 in the future?

I would advise them to embrace the uncertainty that they might find here. N26 sits on a good balance between structure and uncertainty. This is a really great opportunity! Uncertainty is the space where people grow.

We have a great structure for onboarding people and making sure people’s journey is smooth. You’ll see expectations appear very early. If you’re not sure about something, you can always find people to ask and seek guidance from. We like to help each other out!

Embrace the uncertainty and find the path that you want to shape or address. It may not even be in technical areas. You have autonomy to influence this and when you do, you learn. You grow.

N26 is a very very good place for that. Not everything is perfectly defined. You have many opportunities to influence and shape a solution.

PK: That’s a great reflection on your time. It sounds like you’ve really embraced the balance between structure and uncertainty and grown tremendously as well!

Indeed. This is coming from my personal experience. I learned by doing. I feel happy from getting a gentle nudge in the right direction and learning a lot of things.

PK: Thank you very much for sharing your experiences with me.

Want to work with Nicolas in Berlin, Barcelona, New York or Vienna?

If you’d like to join us on the journey of building the mobile bank the world loves to use, have a look at the Android Engineer roles we’re looking for here.

--

--

Pat Kua
InsideN26

Tech Leader. Author. Keynote speaker. Former CTO/Chief Scientist @N26 , @ThoughtWorks alum. Runs http://levelup.patkua.com and http://techlead.academy