I'm working on an app for hundreds of thousands of users

I’m working on an app for hundreds of thousands of users

“I’m part of a large team working with a lot of tools on an app for a lot of customers. It’s tremendously educational.” It’s no surprise that Hylke Bron (27) enjoys his work as an app developer at Achmea, the largest insurance company in the Netherlands. He works on Centraal Beheer’s Android app. Read his blog and you will understand why he enjoys it so much.

 

“What technology and tools do you use?” is often the first question my peers ask me. Well, here goes: We work according to the industry standards for the Android app, i.e. Native Android, using Kotlin and Dagger2. We also work according to the MVVM pattern; we use SafeRoom for our data persistence and Retrofit for our network layer. Everything is functionally linked with RxJava2. We are also starting to use the latest Jetpack tools more; we recently started using Navigation Component and we set up a build street on Azure DevOps. That should answer that question. ☺

 

Plenty of challenges

Now, let’s talk more about the Centraal Beheer app, which is constantly growing. That alone creates plenty of challenges. For instance, three teams work on the codebase, which is tricky because we want to maintain a similar working method and a uniform vision of the architecture. We pay a lot of attention to that, especially because cross-team communication is not always a given. Another challenge is the app’s age; it has been under development for over five years now. That shows in the app, in the design, for example. It also shows in the technical implementation with outdated industry standards. The result is that some parts of the app look dated, and older app components are more difficult to maintain. 


Preventing spaghetti code

About my daily work, then. Our motto is “A little better every day”. It’s not an empty slogan; it shows in everything we do, both in terms of technical content and process. Three teams work on the app: a core team, a damages team and a financial services team. The two feature teams work on new features and maintain existing ones that logically fit into their lane. The core team oversees everything around that, such as releases and login functionality. The core team is also responsible for the architecture vision and its implementation in the app. The implementation is only possible if all app developers fully support it. To that end, we organise a community of practice to discuss these things with all the developers every two weeks. One recent improvement is that we have made our monolithic app modular. We can now gradually add new features in separate feature modules. This ensures a better separation between features and prevents spaghetti code.

 

Saving time with the component library

The call for uniformity is growing on all sides at Centraal Beheer. To achieve that, we are now building a component library together with the UI/UX designers. The library makes it easier for designers to come up with “simple” screens. It saves them a lot of time, time that they can then spend on more complex and nicer screens. The library also makes it faster for us as developers to implement the “simple” screens. Another benefit: future changes to the design of the app can be implemented with minimal effort.

 

I am developing my skills rapidly

My job fits me perfectly; it’s what I love doing. I am working in a large team on an app with hundreds of thousands of users. It’s amazing! It suits me much better than small projects with fast turnaround time and lots of work on new features. The focus here lies much more on building a stable, expandable and secure app. The code I write is not just about making something work. I have to write code in a way that my colleagues can easily understand what it does. I have also learned a lot about security and applied it to my work. There are a lot of things here that you won’t have to deal with in most other apps. If you want to achieve rapid personal and professional development, this is the place to be.”

 

This blog was all about Hylke’s work as an app developer. If you would like to learn more about his job and working at Achmea, read the interview with Hylke and his colleague Jeroen Leenarts.