FINTECH22. September 2021

FinTech rubarb und die App-Entwicklung: Fabian Scholz über die Grundsätze des Erstellens einer App

App-Entwicklung: Fabian Scholz über die Grundsätze des Erstellens einer App
Fabian Scholz, rubarbrubarb

rubarb (Website) ist eine FinTech-App, über die automatisiert gespart und in ETFs investiert werden kann. Das Besondere: Dabei würden nur 0,27 % Kosten anfallen, keine Verwaltungs- und keine Depotgebühren. Und: Die App soll besonders leicht zu bedienen sein. CEO Fabian Scholz im FinTech-Interview.

Herr Scholz, welche technischen Grundsätze haben Sie bei der Entwicklung der App befolgt?

Unsere App steht auf drei elementaren Säulen: Sicherheit, Skalierbarkeit und Einfachheit.

Die Säule, die die größte Last trägt, ist die Sicherheit. Datenschutz ist in Deutschland ein enorm wichtiges Thema.”

Unsere Kunden bringen uns eine Menge Vertrauen entgegen, deshalb hat es für uns oberste Priorität, verantwortungsvoll mit ihren Daten umzugehen. Ohnehin ist es auch deutlich effektiver und effizienter, ein System von vornherein auf Sicherheit zu trimmen, als zu einem späteren Zeitpunkt Sicherheitslücken flicken zu müssen. Deshalb setzen wir auf Security by Design.

Macht das den Entwicklungsprozess nicht gerade zu Beginn deutlich aufwändiger und komplizierter?

Wir sind ein FinTech – bei uns geht es um Geld. Das heißt, es geht um ein sehr sensibles Thema, bei dem Vertrauen alles ist und nur durch Datensicherheit gewonnen werden kann. Und genau deshalb war es uns von Beginn an auch wichtig, lieber etwas mehr Aufwand in die Entwicklung der App zu stecken, als das Vertrauen unserer Nutzer unnötig zu verspielen. Insofern sind selbstverständlich alle von uns gesammelten Daten bestmöglich verschlüsselt und gesichert.

Um schon die grundlegenden Prozesse so sicher wie möglich zu gestalten, haben wir mit  vielen Experten zusammengearbeitet. Besonders wichtig ist es uns, garantieren zu können, dass unsere Nutzer unter keinen Umständen auf die Daten anderer Nutzer zugreifen können. Dafür sind Hürden im Fundament der App eingelassen, die technisch nicht umgangen werden können. Das sind zwar Maßnahmen, die nicht gerade günstig sind und so manches technisches Vorgehen für uns komplizierter machen. Aber:

Der Grat zwischen Performance und Sicherheit ist immer ein schmaler und wir sind zufrieden mit dem Weg, den wir eingeschlagen haben. Datensicherheit geht einfach vor!”

Damit ist es aber natürlich nicht getan, schließlich ist darüber hinaus noch eine Vielzahl von weiteren Sicherheitsmaßnahmen erforderlich. Man sollte nie davon ausgehen, dass das eigene System lückenlos sicher ist. Deshalb wird unser Code laufend auf bekannte Sicherheitslücken überprüft, um im Fall der Fälle Patches so schnell wie möglich ausrollen zu können.

Und wie steht es vor diesem Hintergrund um das Thema Skalierbarkeit? 

Wer als FinTech skalierbar sein will, sollte aus unserer Sicht stets darauf achten, dass die technischen Entscheidungen den unternehmerischen folgen – und nicht umgekehrt. Die Technik ist bloß ein Mittel zum Zweck, sie ermöglicht es dem operativen Geschäft, Probleme zu erkennen und sie zu lösen, aber auch Potenziale auszuschöpfen.

Zu Anfang müssen viele grundlegende Entscheidungen getroffen werden, beispielsweise bei der Wahl des Cloud-Anbieters oder der passenden Programmiersprache. Hier sollte man sich im Vorhinein gut informieren, welche Grundsätze für das Unternehmen – und auch für seine Skalierbarkeit – entscheidend sind. Hat man einmal eine Wahl getroffen, sollte man übrigens auch bei dieser Entscheidung bleiben.

Erneute Wechsel bringen meist nur einen  überschaubaren Vorteil mit sich und verschwenden Ressourcen, die gerade kurz nach der Gründung sehr wertvoll sind.”

Auch wir haben uns beispielsweise bei der Wahl unserer Programmiersprache schwer getan, uns aber letztendlich für Golang entschieden. Diese macht unsere App sehr schnell, effizient und gut skalierbar. Dabei war uns zwar klar, dass es schwierig sein würde, geeignete Experten zu finden, die Golang beherrschen. Trotzdem haben wir uns für diese Priorität entschieden – und sie bisher auch nicht bereut.

Autor Fabian Scholz, rubarb
Fabian Scholz ist CEO der FinTechs rubarb (Webseite). Der 30-Jährige leitete bereits Teams und skalierte Unternehmen bis hin zur Rentabilität. Nach seinem Abschluss an der Bucerius Law School und einem Management Master in London fand er den Einstieg in die Welt der Start-ups.

Außerdem ist ein gewisser Grad an Automatisierung zwingend erforderlich, um die agile Entwicklung und Weiter-Entwicklung von Systemen und Funktionen beständig zu ermöglichen. Und auch ein konsequentes Monitoring ist alternativlos. Wie sollte man sonst feststellen, ob ein Prozess reibungsfrei funktioniert und falls nicht, was der Ursprung des Problems ist?

Heißt das, man muss von Anfang an in großen Dimensionen denken?

Ja und nein. Die Grundvoraussetzungen für eine schnelle Skalierung – vorausgesetzt, das ist das wirtschaftliche Ziel – sollten vorhanden sein. Wichtig ist aber vor allem, dass man flexibel bleibt. Das System muss nicht schon zu Beginn für 100.000 Nutzer ausgelegt sein und funktionieren, obwohl erst 100 Menschen die App nutzen. Der Grund: Es hat keinen Sinn, auf Basis von Vermutungen zu überoptimieren – das kostet im Ernstfall wertvolle Ressourcen, die an anderer Stelle besser aufgehoben wären.

Optimierungen sollten nach und nach stattfinden – eben alles zu seiner Zeit. So ist es beispielsweise auch im Umgang mit Technischen Schulden, die erst mit wachsender Nutzerzahl sichtbar werden. Ein Beispiel: Als wir unsere App gerade gelauncht haben, konnten wir regelmäßig eine Liste, die alle Transaktionen unserer Kunden beinhaltete, an die Bank schicken. Das hat problemlos funktioniert.

Mit der Zeit – und immer mehr Usern – hat sich dieser Prozess immer weiter in die Länge gezogen, bis diese Lösung nicht mehr praktikabel war.”

Also mussten wir Zeit reinvestieren, um die Befehle in parallelen Blöcken zu senden. Diese Lösung ist für unsere aktuelle Nutzerzahl am sinnvollsten.

Sie haben gerade schon das Thema Technische Schulden erwähnt. Wie sind Sie im Entwicklungsprozess mit ihnen umgegangen?

Technische Schulden sind beim Aufbau eines Systems unvermeidbar und müssen früher oder später inklusive Zinsen zurückgezahlt werden – wie in meinem Beispiel gerade eben. Entscheidend ist, dass man nie den Überblick über sie und ihre Auswirkungen verliert.

Wir haben uns entschieden, unsere Prozesse in zwei Teilbereiche zu unterteilen:

in solche, in denen Technische Schulden um jeden Preis vermieden werden und solche, in denen sie bedingt hinnehmbar sind.”

Auch bei letzteren stellen wir aber sicher, dass sie früher oder später – eben dann, wenn es erforderlich ist – abgebaut werden. Und dafür muss natürlich auch Zeit eingeplant sein.

In welchen Bereichen akzeptieren Sie denn keine Technischen Schulden?

Beispielsweise dann, wenn es um das Geld unserer Kunden geht. Datensicherheit hat bei uns wie anfangs erwähnt natürlich Priorität Nummer eins. Darüber hinaus versuchen wir im gesamten Banking-Interface unserer App die Technischen Schulden auf ein Minimum zu reduzieren. Auch wenn sie hier nur zu Verzögerungen führen sollten:

Sie betreffen den User direkt. Das wollen wir auf jeden Fall vermeiden, denn sonst leidet das Nutzererlebnis.”

Wenn die anderen Fälle Ihre Nutzer gar nicht betreffen – wie entscheiden Sie dann, wann es an der Zeit ist, die Technischen Schulden zu begleichen?

Das ist für uns eine mathematische Gleichung, denn: Technische Schulden kosten uns immer etwas. Dabei kann es sich auch um Lohn oder Rechenleistung handeln. Irgendwann sind Umgehungslösungen nicht mehr profitabel, denn sie kosten Arbeitszeit. Das wertvollste für uns sind unsere Entwickler und Ingenieure. Wenn unseren Prozessen durch Technische Schulden Simplizität verlorengeht oder Konstrukte und Arbeitsabläufe unübersichtlich werden, dann wissen wir, dass es an der Zeit ist, auch hier Technische Schulden zurückzuzahlen.

Was ist gerade bei der App-Entwicklung die Besonderheit mit Technischen Schulden?

App-Entwicklung ist ein schnelllebiger Mikrokosmos – auf Nutzerseite genauso wie im Backend. Vor allem Sicherheitsanforderungen innerhalb des App-Clients bedeuten, dass ständig neue Updates bereitgestellt und auf neue Versionen des Gerätebetriebssystems reagiert werden muss. Darüber hinaus ist es wichtig, bei der Einführung neuer Funktionen ungenutzten Code zu entfernen, um das System sicher und übersichtlich zu halten.

Wenn man diese Schritte vernachlässigt, sind die Konsequenzen so einfach wie fatal: eine unsichere App mit schlechtem Nutzungserlebnis.”

aj

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert