Vertel eens over… hoe Cake gebouwd werd

Door Sophie Docx
Andy Verbunt

Er is niemand beter om over Cake te vertellen dan de mensen die er werken. In deze reeks “Vertel eens over…” gaan we in gesprek met Cake medewerkers.

In deze reeks geven we vandaag het woord aan Andy Verbunt, Cloud Software Architect, en Pieter Schelfhout, co-founder en Head of Engineering at Cake.👇

Wat doen jullie bij Cake?

Pieter: Wij zijn verantwoordelijk voor de technologie die achter Cake zit. Wij hebben uitgedacht hoe het geraamte, de architectuur, van Cake eruit ziet. En we blijven dit elke dag verder uitwerken. We doen dit natuurlijk niet alleen. Elke developer in ons team wordt betrokken bij de uitwerking van onze architectuur en we evolueren op die manier stapsgewijs met elke nieuwe feature.

Hoe ziet dat geraamte van Cake er dan uit?

Pieter: Wij hebben gekozen voor een “cloud native” aanpak. Dit wil zeggen dat de architectuur van Cake is gebouwd op een cloud infrastructuur waarbij we volop inzetten op bestaande standaard technologieën. Dit was van bij het begin een zeer bewuste keuze. 
En dit zowel voor ons gebruikers platform als voor ons partner platform. Cake heeft immers niet enkel een gebruikerskant maar ook een partnerkant waar de analyses van de data realtime gebeuren en waar door de commerciële partners van Cake geanonimiseerde rapporten kunnen uitgedraaid worden.

Andy: Een cloud infrastructuur betekent dat wij geen eigen servers en geen eigen hardware hebben maar gebruik maken van een externe leverancier die die service aanbiedt in de cloud. Daarop ontwikkelen we zelf microservices. Dit zijn kleine componenten die onafhankelijk van elkaar werken en die we elk apart kunnen beheren. Al deze componenten zijn met elkaar verbonden door middel van “event communicatie”.

We gebruiken zoveel mogelijk reeds bestaande technologie. “Off-the-shelf” zoals we dat noemen. Zo hebben we de keuze uit een bestaande bibliotheek van technologieën. Waarom zouden we elke feature zelf willen bouwen als er al zoveel voorhanden is? We leggen liever de focus op het bouwen van features die ons onderscheiden en die de grootst mogelijke impact hebben voor onze gebruikers.

Welke technologie gebruiken jullie dan?

Pieter: We werken voor al onze infrastructuur met Amazon Web Services (AWS).  Daarbij gebruiken we vaak managed services voor bijvoorbeeld databases zoals DynamoDB of RDS aurora. Kinesis voor onze event communicatie, ECS en EKS om onze services te hosten. Maar ook diensten zoals Textract voor ons KYC process kunnen we goed inzetten om snel robuuste oplossingen te ontwikkelen. Allemaal met de bedoeling zo min mogelijk tijd te spenderen aan het beheren van deze diensten, want dat doet AWS voor ons.

Verschilt dat van hoe andere bedrijven dit doen?

Pieter: In de financiële sector is dit absoluut vernieuwend. De traditionele banken werken op een heel andere manier.

Andy: Zij hebben van in het begin alle infrastructuur zelf gebouwd. En dat gaat niet alleen over de software maar dit gaat over servers, gebouwen waarin die hardware draait die gevestigd zijn op geografisch gespreide locaties om het risico te spreiden, technische teams voor het onderhoud van die infrastructuur en gebouwen.

Pieter: Wij beschouwen dat soort taken (beheer van gebouwen, bouwen van servers, …) niet als onze core business. Onze core business is het bouwen van een gebruiksvriendelijke banking app waarbij de gebruiker centraal staat. 

Welke voordelen zijn er dan aan de Cake-way? 

Pieter: Er zijn ontzettend veel voordelen. In de eerste plaats zijn wij een pak sneller. Als wij alles wat er nu al staat op anderhalf jaar tijd van scratch hadden moeten bouwen dan hadden we daar makkelijk dubbel zo veel tijd voor nodig gehad. Nu hebben we bij manier van spreken op dag één beslist hoe we de architectuur gingen bouwen en met welke technologieën we gingen werken en op dag twee konden we beginnen werken aan de core van onze business, de app.
En doordat we geen tijd nodig hebben voor het onderhouden van onze infrastructuur kunnen we meer tijd steken in het ontwikkelen van nieuwe features en blijven we dus ook sneller evolueren.

Andy: Banken werken meestal met vier releases per jaar. Om zo’n release te kunnen doen moet het hele systeem worden uitgezet gedurende een aantal uren. Dan worden alle nieuwigheden geïmplementeerd en dan wordt het systeem terug aangezet. Gebruikers zien deze boodschap regelmatig verschijnen in hun online banking. Meestal wordt dit gelukkig ‘s nachts of in het weekend ingepland. Maar heel vervelend als je net op dat moment gepland had om wat bankzaken in orde te brengen.
Onze always-on architectuur van microservices en eventcommunicatie laat toe dat wij, als we dat zouden willen, meerdere keren per dag een nieuwe release kunnen doen terwijl onze app gewoon beschikbaar blijft.
Je kan dit vergelijken met het vervangen van één lamp in een lokaal. Bij de traditionele banken moet daarvoor met de hoofdschakelaar de stroom van een groot gebouw volledig uitgezet worden. Terwijl wij die ene lichtschakelaar in het lokaal zelf even uit- en en weer aanzetten terwijl in de rest van het gebouw alles normaal blijft draaien.

Die zogenaamde maintenance windows bij banken zijn niet alleen erg vervelend voor de klanten maar ook bijzonder frustrerend voor de mensen die er werken. Elk kwartaal is er een vaste deadline te halen. Pas dan kan je update gereleased worden. Mis je die deadline dan is het onherroepelijk weer enkele maanden langer wachten tot de volgende update. Frustrerend als werknemer maar ook als klant van de bank wacht je zo nodeloos lang op nieuwe features of blijf je maandenlang met een vervelende bug opgezadeld wanneer er iets mis liep.

Pieter: Daarnaast besparen we natuurlijk ook ontzettend veel kosten. We hebben enerzijds geen upfront investeringen in hardware en infrastructuur. En door te werken met gespecialiseerde leveranciers genieten we van een schaalvoordeel dat we zelf nooit kunnen realiseren. Neem het AWS voorbeeld, zij leveren services aan miljoenen bedrijven over de hele wereld en kunnen die diensten daardoor op de meest concurrentiële manier aanbieden.

Andy: En dan is er nog het voordeel van de schaalbaarheid. Momenteel is de app enkel nog maar beschikbaar in België en is onze gebruikersgroep nog beperkt. Maar onze groeiplannen zijn ambitieus en binnenkort starten we onze eerste testen in Nederland en ook een aantal andere Europese landen staan op de planning. Als onze gebruikersgroep morgen explodeert dan is het kwestie van een knop omdraaien bij onze huidige leveranciers en we gaan weer door. 

Waarom beginnen banken dan ook niet op deze manier te werken?

Andy: Door hun legacy architectuur. Ze slepen een hele infrastructuur uit het verleden mee en onvermijdelijk ook een heel aantal processen met veel manuele stappen. Los van de technische kant is er ook een cultuurwijziging nodig, en in een groot bedrijf is dat nog het moeilijkst.

Pieter: Ze beginnen er wel mee te experimenteren hoor maar ze blijven achter door die erfenis. De adoptie van nieuwe technologieën gaat ook traag door het ontbreken van de juiste mindset bij het management.

Is dat dan wel allemaal even veilig?

Pieter: Ja, absoluut. En dat is, gezien we met bankgegevens werken, ook onze grootste prioriteit.

Enerzijds werken wij natuurlijk met een licentie van de Nationale Bank van België (NBB) en vallen wij ook onder hun controle. Wij moeten met andere woorden voldoen aan alle voorwaarden waaraan elke betalingsinstelling moet voldoen.

Ons hele business model is ook gebaseerd op de GDPR en PSD2. Alles is gebouwd met die Europese privacy richtlijnen in gedachten. Waar andere bedrijven een hele switch dienden te maken konden wij dit van bij de start allemaal goed implementeren. 

Andy: Veel bedrijven zien security als iets wat achteraf nog even wordt toegevoegd. Bij ons is dit deel van de opbouw. Bovendien zijn zo goed als al onze processen geautomatiseerd. Minder menselijke inmenging maakt ook dat er minder kans is op fouten. We laten onze aanpak ook periodiek doorlichten door gespecialiseerde bedrijven.

Pieter: En uiteraard hebben we wel alle nodige processen geïmplementeerd om alles op te volgen en aan te pakken. Onze Compliance Officer, Olivier en ons Head of Legal, Yves, waken over de goede gang van zaken onder het waakzame oog van externe auditors.

Security is natuurlijk iets waar je permanent mee bezig bent. Het is een blijvende inspanning en een werk dat nooit af is maar we hebben wel een voorsprong ten opzichte van klassieke bedrijven.

Hoe weten we zeker dat deze manier van werken future proof is? Dat we zelf niet op een dag ook een erfenis meesleuren?

Andy: Enerzijds kunnen wij door onze architectuur de focus houden op onze core business, de consument en gebruiker van de app.

En de leveranciers van de technologieën houden zich bezig met het up to date houden van hun core business. 

En er zal altijd een bibliotheek van nieuwe technologieën bestaan die we kunnen implementeren waarmee we snel op de kar van de nieuwste evoluties en noden kunnen springen.

Pieter: Ondanks onze ambitieuze groeiplannen voor het aantal gebruikers van de app hebben we die niet voor het team. Dat willen we klein en agile houden, en met de juiste mindset.

Jullie doen dit niet alleen?

Andy: Voor wat wij doen werken wij met een team van ongeveer 15 mensen. Dat lijkt misschien veel maar dat is echt heel weinig. 

Pieter: Vaak zeggen wij al lachend dat wij één persoon hebben waar een ander bedrijf vaak een heel team voor heeft. Wij hebben bijvoorbeeld maar één android en één iOS developer.
Waar in veel bedrijven ook een muur staat tussen development en operations is dat bij ons niet zo. Ontwikkelen en in productie zetten verloopt in één flow.

Andy: En iets ontwikkelen waar ergens anders 3 maanden voor nodig zijn, vraagt bij ons een week van onze tijd.😀

Pieter: Het team is samengesteld met onze architectuur en doelstellingen in gedachten. Daarbij hebben we gezocht naar mensen met de juiste skills maar zeker ook met de juiste mindset.

Andy: De mindset is super belangrijk. De mentaliteit van “over het muurtje gooien”, die ik wel eens heb gezien bij vorige werkgevers werkt hier niet. Bij Cake pakken mensen een probleem vast en laten het pas los als het opgelost is. 
Die mindset werkt in twee richtingen: er wordt blindelings vertrouwen gegeven maar er wordt dan ook verwacht dat je de verantwoordelijkheid neemt. En dat zorgt voor betrokkenheid van iedereen. Iedereen helpt iedereen en je hebt nooit het gevoel dat je er alleen voor staat. 

Pieter: We hebben de juiste mensen vooral gevonden via ons eigen netwerk. En via hen hebben we dan weer anderen gevonden. En ze komen uit diverse sectoren, van de financiële sector tot de media. Ondanks het feit dat de profielen die we nodig hadden veel gevraagd zijn hadden we eigenlijk weinig moeite om ze te vinden. Er zitten overal mensen met de juiste skills maar je moet hen vooral de vrijheid geven om die skills te ontplooien. Wij bieden hen die kans maar daarvoor moesten ze wel de juiste mindset hebben. Met de juiste mindset en de vrijheid om je skills te ontplooien volgt de rest vanzelf.

Hoe lukt dat zonder kantoor?

Pieter: Heel vlot. We werken vanaf het begin volledig remote dus al onze systemen en processen zijn daar ook op ingesteld. De aanpassingen voor remote-work die in veel bedrijven moesten gebeuren naar aanleiding van de Corona-crisis hebben wij niet gekend. Daar hebben we al eens een volledig blog artikel aan gewijd. 

Andy: Het team begint elke dag met een zogenaamde “stand-up”-meeting om kort af te stemmen. En bij de start van de week wordt er een “engineering-meeting” gedaan waarbij er wat langer ingegaan wordt op de projecten en planning.

Daarnaast is er een belangrijke rol weggelegd voor de Product Owner, Peter Van Hees. In veel andere bedrijven is dit een gedeelde rol of rapporteert de Product Owner op zijn beurt weer aan iemand anders die op zijn of haar beurt weer invloed heeft op de beslissingen. Bij Cake is de beslissingsmacht van de Product Owner absoluut wat maakt dat er heel snel beslissingen kunnen genomen worden.

Het is ook voor iedereen duidelijk dat de richting waarin we ontwikkelen belangrijker is dan het doel op zich. En die visie is er en is ook gekend door iedereen. Kleine realisaties in de juiste richting zijn wat tellen. Ook voor de gebruiker die de app op die manier continu ziet evolueren. 

Pieter: En dat sluit dan weer helemaal aan bij de architectuur die we gekozen hebben voor het ontwikkelen van de app met frequente releases. En zo is de cirkel rond!

De Cake app is sinds begin dit jaar gratis te downloaden. Hoewel het nog steeds een bètaversie is, biedt ze al meer dan voldoende features om je financiële inzichten te verbeteren en je bankrekening weer te laten opbrengen.

Download de app in de App Store of via Google Play.