À propos du … développement de Cake

Par Sophie Docx
Andy Verbunt & Pieter Schelfhout

Nul n’est mieux placé pour parler de Cake que les personnes qui y travaillent. Dans cette nouvelle série « Parlez-nous de… », nous nous entretenons avec des collaborateurs de Cake.

Dans cette série, nous donnons aujourd’hui la parole à Andy Verbunt, Cloud Software Architect, et Pieter Schelfhout, cofondateur de Cake et Head of Engineering.👇

Que faites-vous chez Cake ?

Pieter : Nous sommes responsables de la technologie qui se cache derrière Cake. Nous en avons imaginé le squelette, l’architecture. Et nous continuons à nous y atteler tous les jours. Bien entendu, nous ne sommes pas seuls. Chaque développeur de notre équipe est impliqué dans l’élaboration de notre architecture et, de cette façon, nous évoluons pas à pas avec chaque nouvelle fonctionnalité.

À quoi ressemble le squelette de Cake ?

Pieter : Nous avons opté pour une approche « cloud native », c’est-à-dire que l’architecture de Cake est construite sur une infrastructure cloud, où nous utilisons pleinement les technologies standard existantes.

Ce fut un choix délibéré dès le départ, tant pour notre plateforme utilisateurs que pour notre plateforme partenaires. Cake n’a pas seulement une facette utilisateur, mais aussi une facette partenaire où les données sont analysées en temps réel et où nos partenaires commerciaux peuvent générer des rapports anonymisés.

Andy : Une infrastructure cloud signifie que nous ne disposons pas de nos propres serveurs et de notre propre matériel, mais que nous faisons appel à un fournisseur externe qui offre ce service dans le cloud. Nous y développons nous-mêmes des microservices, de petits composants qui fonctionnent indépendamment les uns des autres et que nous pouvons gérer séparément. Tous ces éléments sont reliés entre eux au moyen de la « communication d’événement ».

Nous utilisons autant que possible les technologies existantes ou, pour reprendre notre expression, « off-the-shelf ». Nous pouvons ainsi choisir dans une bibliothèque de technologies existantes. Pourquoi construire nous-mêmes chaque fonctionnalité s’il en existe déjà tant ? Nous préférons nous concentrer sur la création de fonctionnalités qui nous distinguent et qui ont un impact maximal pour nos utilisateurs.

Quelle technologie utilisez-vous ?

Pieter : Pour l’ensemble de notre infrastructure, nous avons recours aux Amazon Web Services (AWS).  Nous utilisons souvent des « services managés », par exemple, pour des bases de données telles que DynamoDB ou RDS aurora, Kinesis pour notre communication d’évènement ainsi qu’ECS et EKS pour l’hébergement de nos services. Des services tels que Textract nous sont également utiles pour notre processus KYC afin de développer rapidement des solutions robustes. L’objectif est de passer le moins de temps possible à gérer ces services, car AWS le fait pour nous.

Est-ce différent de ce que font les autres entreprises ?

Pieter : Dans le secteur financier, c’est tout à fait novateur. Les banques traditionnelles fonctionnent d’une manière très différente.

Andy : Elles ont construit elles-mêmes toutes les infrastructures depuis le début. Et il ne s’agit pas seulement du logiciel, mais aussi des serveurs, des bâtiments qui abritent ce matériel et qui sont disséminés géographiquement afin de répartir le risque ainsi que des équipes techniques pour entretenir l’infrastructure et les bâtiments.

Pieter : Selon nous, ce genre de tâches (gestion de bâtiments, construction de serveurs, etc.) ne fait pas partie de notre activité principale. Celle-ci consiste à créer une application bancaire conviviale et centrée sur l’utilisateur. 

Quels sont donc les avantages de la « Cake-way »  

Pieter : Il y a énormément d’avantages. Tout d’abord, nous sommes beaucoup plus rapides. Si nous avions dû tout construire de A à Z en un an et demi, nous aurions eu besoin de deux fois plus de temps. Façon de parler, nous avons décidé, le premier jour, de la manière de construire l’architecture et des technologies à utiliser et, le deuxième jour, nous avons pu nous atteler au cœur de notre activité : l’application.

Étant donné que nous ne devons pas passer du temps à entretenir notre infrastructure, nous pouvons nous consacrer davantage au développement de nouvelles fonctionnalités et ainsi continuer à évoluer plus rapidement.

Andy : En règle générale, les banques lancent quatre mises à jour par an, ce qui nécessite d’arrêter l’ensemble du système pendant plusieurs heures. Une fois que toutes les nouvelles fonctionnalités ont été mises en œuvre, le système est remis en marche. Les utilisateurs voient régulièrement ce message apparaître dans leur banque en ligne. Heureusement, cette opération se déroule généralement pendant la nuit ou le week-end. C’est toutefois très ennuyeux si vous aviez prévu de régler quelques questions bancaires à ce moment-là.

Grâce à notre architecture de microservices et de communication d’évènement qui est active en permanence, nous sommes à même de lancer une nouvelle mise à jour plusieurs fois par jour si nous le souhaitons, tout en gardant notre application disponible.

Vous pouvez comparer cela au remplacement d’une ampoule dans une salle de classe. Dans les banques traditionnelles, il faut couper complètement l’alimentation électrique d’un grand bâtiment au niveau de l’interrupteur principal. Chez nous, tout le reste du bâtiment continue à fonctionner normalement pendant que nous éteignons et rallumons la lumière dans la salle de classe.

Ces « fenêtres de maintenance » dans les banques sont non seulement agaçantes pour les clients, mais aussi particulièrement frustrantes pour les personnes qui y travaillent. Chaque trimestre, il y a un délai à respecter. Ce n’est qu’alors que la mise à jour peut être lancée. Si vous ne respectez pas ce délai, il faut irrévocablement attendre la prochaine mise à jour pendant quelques mois de plus. C’est frustrant pour un employé, mais le client de la banque attend, lui aussi, inutilement longtemps de nouvelles fonctionnalités ou reste confronté à un bug ennuyeux pendant des mois quand quelque chose ne va pas.

Pieter : Il va de soi que nous économisons aussi beaucoup d’argent. D’une part, nous n’avons pas d’investissements initiaux dans du matériel et des infrastructures. Le recours à des fournisseurs spécialisés nous offre une économie d’échelle que nous ne pourrions jamais réaliser nous-mêmes. Prenons l’exemple d’AWS, qui fournit des services à des millions d’entreprises dans le monde entier et peut donc les proposer de la manière la plus compétitive.

Andy : Ajoutons-y l’avantage de l’évolutivité. Actuellement, l’application n’est disponible qu’en Belgique et notre groupe d’utilisateurs est encore limité. Nous avons toutefois des projets d’expansion ambitieux et commencerons bientôt nos premiers tests aux Pays-Bas et dans plusieurs autres pays européens. Si le nombre de nos utilisateurs explose demain, il suffira d’appuyer sur un bouton chez nos fournisseurs actuels et nous pourrons continuer.

Pourquoi les banques ne commencent-elles pas à travailler de cette manière ?

Andy : C’est à cause de l’architecture dont elles ont hérité. Elles trimballent toute une infrastructure du passé et, inévitablement, un ensemble de processus impliquant de nombreuses étapes manuelles. Indépendamment de l’aspect technique, un changement culturel est également nécessaire, et dans une grande entreprise, c’est ce qui est le plus difficile.

Pieter : Elles commencent cependant à l’expérimenter, mais elles restent à la traîne en raison de cet héritage. L’adoption de nouvelles technologies est également lente parce que le management n’a pas le bon état d’esprit.

Est-ce que tout ça est sûr ?

Pieter : Oui, absolument ! Et c’est d’ailleurs notre priorité absolue étant donné que nous travaillons avec des données bancaires.

Nous avons évidemment une licence de la Banque nationale de Belgique (BNB) et nous sommes également sous leur contrôle. En d’autres termes, nous devons respecter toutes les conditions auxquelles tout établissement de paiement doit satisfaire.

Notre business model est intégralement basé sur le RGPD et la PSD2. Tout a été construit en tenant compte de ces directives européennes sur la protection de la vie privée. Alors que d’autres entreprises ont dû procéder à un changement complet, nous avons pu mettre cela en œuvre dès le début. 

Andy : De nombreuses entreprises considèrent la sécurité comme un élément à ajouter ultérieurement. Chez nous, elle fait partie de la construction. De plus, pratiquement tous nos processus sont automatisés. Moins d’interférence humaine implique également moins de risques d’erreurs. Notre approche est également analysée périodiquement par des entreprises spécialisées.

Pieter : Et bien sûr, nous avons mis en place les processus nécessaires pour tout suivre et tout régler. Olivier, notre Compliance Officer, et Yves, notre Head of Legal, veillent à ce que tout se déroule bien, sous l’œil attentif d’auditeurs externes.

La sécurité est évidemment une préoccupation permanente. C’est un effort continu et un travail qui n’est jamais terminé, mais nous avons une avance sur les entreprises traditionnelles.

Comment pouvons-nous être sûrs que cette façon de travailler est à l’épreuve du temps ? Que nous ne trimballerons pas un héritage un jour ?

Andy : Notre architecture nous permet de nous concentrer sur notre activité principale, le consommateur et l’utilisateur de l’application.

Les fournisseurs de technologies, quant à eux, s’occupent de tenir à jour leur activité essentielle. 

Il y aura toujours une bibliothèque de nouvelles technologies que nous pourrons mettre en œuvre afin de pouvoir suivre les dernières évolutions et répondre aux besoins rapidement.

Pieter : Bien que nous ayons des projets de croissance ambitieux en ce qui concerne le nombre d’utilisateurs de l’application, nous n’en avons aucun pour l’équipe. Nous voulons qu’elle reste petite et agile, avec le bon état d’esprit.

Vous n’agissez pas seuls ?

Andy : Pour ce que nous faisons, nous travaillons avec une équipe d’environ 15 personnes. Cela peut sembler beaucoup, mais c’est en réalité très peu. 

Pieter : Nous disons souvent, en riant, que nous avons une personne là où une autre entreprise a généralement toute une équipe. Par exemple, nous avons un Android Developper et un iOS Developer.

Contrairement à de nombreuses entreprises, nous n’avons pas de mur entre le développement et les opérations. Le développement et la mise en production se déroulent dans un seul flux.

Andy : Le développement de quelque chose qui prendrait 3 mois ailleurs nécessite une semaine chez nous.😀

Pieter : L’équipe est constituée en tenant compte de notre architecture et de nos objectifs. Nous avons recherché des personnes ayant les bonnes compétences, mais aussi le bon état d’esprit.

Andy : L’état d’esprit est super important. La mentalité du « jeter par-dessus le mur » que j’ai vue chez mes précédents employeurs ne fonctionne pas ici. Chez Cake, les gens s’attaquent à un problème et ne le lâchent pas tant qu’il n’est pas résolu. 

Cet état d’esprit fonctionne dans les deux sens : on accorde une confiance aveugle, mais on attend de votre part que vous preniez vos responsabilités. Il en résulte une implication de chacun. Tout le monde aide tout le monde, et on n’a jamais l’impression d’être seul. 

Pieter : Nous avons trouvé les bonnes personnes principalement grâce à notre propre réseau. Et nous en avons trouvé d’autres grâce à elles. Elles sont issues de différents secteurs, des finances aux médias. Bien que les profils dont nous avions besoin sont très demandés, nous n’avons pas eu beaucoup de mal à les trouver. Il y a partout des gens qui ont les compétences adéquates, mais il faut surtout leur donner la liberté de les développer. Nous leur offrons cette chance, mais elles devaient avoir l’état d’esprit nécessaire à cet effet. Avec le bon état d’esprit et la liberté de développer les compétences personnelles, le reste suivra naturellement.

Comment y parvenez-vous sans avoir de bureaux ?

Pieter : Le plus facilement du monde. Nous travaillons intégralement à distance depuis le début. Tous nos systèmes et processus y sont donc adaptés. Nous n’avons pas connu les ajustements que de nombreuses entreprises ont dû réaliser en matière de travail à distance en raison de la crise sanitaire. Nous y avons d’ailleurs consacré un article de blog

Andy : L’équipe démarre la journée par un « stand-up meeting » visant à se coordonner brièvement. Au début de la semaine, nous organisons un « engineering meeting » où nous parlons plus longuement des projets et du planning.

Le Product Owner, Peter Van Hees, joue un rôle important. Dans de nombreuses autres entreprises, ce rôle est partagé ou le Product Owner rend compte à quelqu’un d’autre qui, à son tour, influence les décisions. Chez Cake, le pouvoir de décision du Product Owner est absolu, ce qui permet de prendre des décisions très rapidement.

Il est également clair pour tout le monde que la direction que prend le développement est plus importante que le but en soi. Cette vision est bien connue de tous. Ce qui compte, ce sont de petites réalisations dans la bonne direction. Pour l’utilisateur aussi, qui voit ainsi l’application évoluer en permanence. 

Pieter : Et cela rejoint totalement l’architecture que nous avons choisie pour développer l’application avec des mises à jour fréquentes. La boucle est donc bouclée.

Téléchargez l’application dans l’App Store et sur Google Play et faites-nous savoir ce que vous en pensez via la fonction de feed-back ! 📝

Ceci vous intéressera peut-être aussi

Parlez-nous de… données