Ik werk aan een app voor honderdduizenden gebruikers
“Ik werk met veel tools in een groot team aan een app voor heel veel klanten. Ontzettend leerzaam.” Geen wonder dat Hylke het als app developer prima naar zijn zin heeft bij Achmea. In dit blog vertelt Hylke met welke technieken hij werkt, voor welke uitdagingen hij staat en hoe hij dagelijks werkt aan zijn motto ‘elke dag een beetje beter’. Lees zijn blog en je snapt waarom hij op de juiste plek zit.
Met wat voor technieken en tools werk je?
Dat is vaak de eerste vraag die vakgenoten mij stellen. Nou vooruit, daar komt ie. We werken voor de Android app conform de industrie standaarden. Dus met Native Android, met behulp van Kotlin en Dagger2. Verder werken we volgens het MVVM pattern, gebruiken we SafeRoom voor onze data persistentie en Retrofit voor onze netwerklaag. Met RxJava2 koppelen we alles functioneel aan elkaar. Ook gebruiken we steeds vaker de nieuwste Jetpack tools. Zo gebruiken we sinds kort Jetpack Compose. Ook hebben we een build straat op Azure DevOps ingericht. Zo die eerste vraag is beantwoord.
De Centraal Beheer app wordt steeds groter
Genoeg uitdagingen daardoor. We sleutelen bijvoorbeeld met 3 teams aan de code-base. Dat is tricky, want we willen wel een vergelijkbare werkwijze en uniforme visie op de architectuur behouden. Daar zijn we alert op. Helemaal als je weet dat communicatie over de teams heen niet altijd vanzelfsprekend is.
Als team herschrijven we de app op een tactische manier
De app is inmiddels al ruim 8 jaar in ontwikkeling. Dat zie je ook terug in de app, bijvoorbeeld aan de vormgeving. Maar zeker ook aan de technische implementatie. Met daarin nog verouderde industrie standaarden. Dit maakt dat bepaalde delen van de app er oud uitzien en dat oudere app-onderdelen moeilijker te onderhouden zijn. Daarom zijn we als team bezig om de app op een tactische manier te refactoren. Dat noemen we ook wel herschrijven.
Ons motto is ‘Elke dag een beetje beter’
Geen loze kreet, want je merkt het in alles wat we doen. Zowel technisch inhoudelijk als procesmatig. We werken met 3 teams aan de app. Een core team, een schade team en een financiële diensten team. De 2 feature teams bouwen nieuwe en onderhouden bestaande features die logischerwijs binnen hun ‘lane’ vallen. Het core-team doet alle zaken daaromheen. Zoals releases en inlogfunctionaliteit. Maar dat team is ook verantwoordelijk voor een architectuur visie en het doorvoeren daarvan in de app.
Het doorvoeren lukt als alle app developers er volledig achter staan
Daarom organiseren we elke 2 weken een community dag. Dan bepreken we deze zaken met alle developers. Een voorbeeld hiervan is dat we onze voorheen monolithische app modulair hebben gemaakt. We kunnen nieuwe features nu stukje bij beetje in aparte feature modules onderbrengen. Dit zorgt ervoor dat de features harder worden gescheiden en voorkomen we spaghetti code.
De roep om uniformiteit klinkt steeds luider
Vanuit Centraal Beheer en vanuit meerdere kanten. Daarom zetten we nu samen met de UI/UX designers een design systeem op. Via zo’n systeem kunnen designers eenvoudiger ‘simpele’ schermen uitdenken. Dat levert ze veel tijd op. Tijd die ze dan mooi in complexere en leukere schermen steken. Ook zorgt dit systeem ervoor dat wij als developers deze ‘simpele’ schermen sneller kunnen implementeren. Nog een voordeel: toekomstige wijzigingen aan de huisstijl van onze app voer je in een handomdraai door.
Mijn job past perfect bij me, bij wat ik graag doe
Ik werk aan een app met honderdduizenden gebruikers, (deels) in de financiële sector en met een groot team. Prachtig! Dat past veel beter bij me dan kleinere projecten waarin je snel moet opleveren en veel effort steekt in nieuwe features. Hier ligt de focus veel meer op het bouwen van een stabiele, uitbreidbare en secure app.
Code die ik hier schrijf, schrijf ik niet alleen primair om iets te laten werken
Ik schrijf hier code op zo’n manier dat mijn collega’s eenvoudig snappen wat het doet. Ook heb ik hier veel geleerd en toegepast rond security. Genoeg zaken waar je in de meeste apps niet mee te maken krijgt. Als je jezelf in hoog tempo wilt ontwikkelen zit je hier goed.”