Unser Interview-Partner Nils von zeb

Dev-Interview mit Nils
In diesem Interview quatschen wir mit Nils von zeb über Finanzmathematik, Banken-Software, Cloud und KI – von Dev zu Dev.

Nils: Hi, ich bin Nils und seit drei Jahren als Entwickler bei zeb. Ich habe einen mathematischen Hintergrund, studiert und promoviert in Mathematik. Ich wollte dann aber eher in die Richtung IT oder Entwicklung gehen, mit mathematischem Schwerpunkt, und so bin ich bei zeb gelandet. Dort bin ich seit drei Jahren in unterschiedlichen Themen unterwegs.

Ilja: Ich bin Ilja, Gründer von EntwicklerHeld und Tekkie. Du kannst also abdriften und Fachbegriffe verwenden. Was macht ihr bei zeb? Aus Entwicklerperspektive?

Nils: zeb ist ein Beratungsunternehmen für die Finanzdienstleistungsbranche, wir haben uns auf eine Branche spezialisiert. Bei uns sind ungefähr tausend Leute beschäftigt, und ich persönlich bin in der zeb.it, einer Tochter von zeb. Hier arbeiten hundert Personen. Wir entwickeln Standardsoftware für Banken und Versicherungen. zeb hat auch noch andere Tochterfirmen wie applied by zeb, die aber Individualentwicklung der Software betreiben. Wir machen die Standardsoftware, genannt zeb.control, zum Beispiel im Bereich Gesamtbanksteuerung. Damit meine ich nicht das, womit der Bankkunde zu tun hat, sondern das, was sich im Hintergrund einer Bank so abspielt. Strategische Aufstellung, Simulationen und auch Stresstests, von denen man in den Nachrichten schon mal gehört hat. Wenn man jetzt die Zinsen verändern würde, was würde dann mit der Bank passieren? Das machen wir nun schon gut 25 Jahre. Wir haben verschiedene Module und sind mit einigen im deutschsprachigen Raum Marktführer. Das hat uns langjährige Kundenbeziehungen eingebracht. Und weil es schon so lange geht, haben wir viel Legacy-Software. Wir machen inzwischen aber auch viele moderne Sachen, Stichwort „Cloud“. Die Kunden hatten das bisher immer auf ihren eigenen Servern, aber sie haben gemerkt, dass die an ihre Grenzen stoßen. Und wir Entwickler:innen lassen die Software einfach in der Cloud laufen und vermieten sie dann sozusagen.

Ilja: Verstehe. Zum Thema Legacy-Software: Was sind da typische Probleme, mit denen ihr zu tun habt? Alte Sprachen, die heute kaum noch jemand beherrscht?

Nils: Alte Sprachen sind bei uns nicht das Problem. Aber dass die Leute nicht mehr da sind, weil unsere Software vor zwanzig Jahren entwickelt wurde. Die Legacy-Software haben wir ja sozusagen geerbt von diesen Leuten. Aber ich finde es echt spannend! Da steckt eine Menge Wissen drin. Wegschmeißen wäre da nicht der richtige Ansatz. Einige Pattern waren nicht populär. Saubere Schichtentrennung und so sind ein Problem. Und doch ist es spannend, Legacy-Software zu warten. Eine echte Herausforderung! Aber wir migrieren auch und entwickeln Software neu.


In Legacy Software steckt ja eine Menge Wissen drin. Wegschmeißen wäre da nicht der richtige Ansatz.


Ilja: Ihr schreibt also auch neu. Teams von Google sollen angeblich mal gesagt haben, dass sie alle zwei Jahre was wegschmeißen und neu schreiben. Angeblich wegen des Wartungsaufwands. Andere Firmen migrieren in neuere Systeme und Services. Wie genau ist da euer Ansatz?

Nils: Wir machen beides. Big-Bang-Ansatz, also neu schreiben, ansonsten aber auch Teilbereiche, wo wir einfach den Rechenkern mit der Businesslogik auf eine Cloud-native-Technologie migrieren. Mit der alten Technologie kann man aber nicht ausreichend skalieren. Banken wollen allerdings Millionengeschäfte durchjagen – aber bitte nicht so teuer und nicht so eine große Maschine. Also ziehen wir nur den Rechenkern in die Cloud, und durch verschiedenste Schnittstellen kann er mit Oberflächen und Datenbanken in Verbindung treten. Der grobe Pfad ist also: alles schrittweise mit der Cloud-native-Technologie zu bearbeiten und die Legacy-Software abzubauen.

Ilja: Spielt denn die Sensibilität da eine Rolle? Von wegen Einschränkungen und so?

Nils: Ja, absolut! Man merkt das am Release-Zyklus. Die Banken müssen viele Abnahmetests machen, um die Rechenfähigkeit der Software zu prüfen und neue Features zu testen. Dahinter steckt also ein hoher Aufwand. Wir können nicht mit einem Continuous Deployment arbeiten, sondern mit einem festen Release-Zyklus. Und bei Wartung ist das Problem, dass wir nicht an die Daten kommen, die nur bei der Bank im Intranet und gut abgeschirmt sind. Das ist eine Herausforderung. Da kann man ein gutes Logging einbauen, aus dem man viel rauslesen kann. Oder auch Remote-Zugänge, jedoch sind die Banken da zurückhaltend. Insbesondere über Ländergrenzen hinweg.

Ilja: Und mockt ihr euch die Endsysteme? Simulationen? Oder muss man in der Bank dann probieren?

Nils: (lacht) Ja, beides. Unsere Software muss mit anderen Systemen sprechen. Das geht nur mit Integration. Und da bauen wir uns ein System, SAP zum Beispiel, wo wir gegenprogrammieren. Aber letztlich muss man es dann am Projekt testen. Es hilft, wenn man weiß, was der Kunde mit seinem System machen will.

Ilja: Interessantes Thema: Wo kommen die Anforderungen für Software her? Wie viel hat man mit den Kunden wirklich zu tun? Wenn man bei euch arbeiten will, wie viel muss man von der Finanzwelt verstehen?

Nils: Ich hatte nur eine oder zwei Vorlesungen zur Finanzmathematik. Es war für mich gar kein Problem, bei zeb einzusteigen. Wir haben viel Lernmaterial und Kolleginnen und Kollegen, die jahrelang im Thema drin sind. Und zum Kundenkontakt: Geschmacksfrage. Je nachdem, ob mir das liegt oder nicht. Einige Kolleg:innen sind vor allem auf der technischen Seite aktiv. Ich persönlich mag sehr die Schnittstelle zwischen Entwicklung und Kunden. Anforderungen rausarbeiten, die richtigen Fragen stellen. Anschließend die Planung und die Umsetzung.

Ilja: Bei Banken setzt man ja schon viel auf Auswertung. Ich denk da nur an den SCHUFA-Score. Gebe ich den Kredit oder nicht. Wie ist das bei euch?

Nils: Einerseits haben wir auch ganz klassische Aufgaben bei uns: Wir bauen Weboberflächen, machen REST-API-Calls, hantieren mit JSONs und so weiter. Uns zeichnet aber auch aus, dass wir einen starken quantitativen Bezug haben.

Das Thema unserer EntwicklerHeld-Challenge ist eigentlich sehr typisch für das, was wir machen. Eine Bank will einen Kredit vergeben, wir berechnen den fairen Wert. Laufzeit, Zinssatz und der Kunde fließen da mit ein. All diese Parameter fließen mit ein, um den fairen Wert des Kredits zu bewerten. Da könnte man jetzt sagen: „Aber das verändert sich ja nicht, das konnte unsere Software vor zwanzig Jahren schon.“ Aber es kommen natürlich auch immer wieder neue Produkte auf den Markt, die internationalen Märkte ändern sich.


Present Value Calculation Challenge
In der Present Value Calculation Challenge von zeb dreht sich alles um die Berechnung des Barwerts zukünftiger Zahlungen unter Berücksichtigung von Zinsstrukturen und Risiken. Es muss der Barwert basierend auf Zinsstrukturen ermittelt werden, den Einfluss eines Risikofaktors (Spread) berücksichtigt und den Spread mittels der Newton-Methode berechnet werden. Die Challenge wurde von zeb entworfen und kann in Java und Python gelöst werden.

Hier gehts direkt zur Challenge!


Nils: Der Unterschied, wie lange das Geld gebunden ist, war vor der Finanzkrise 2008 nicht besonders groß, danach schon. Der Basiseffekt war also nicht besonders hoch, und dadurch konnte man in einigen Modellen Vereinfachungen annehmen, die jetzt einfach nicht mehr stimmen. Jetzt muss man das mitdenken. Ein anderes Beispiel sind negative Zinsen, auf einmal gab es die, aber unsere Software war nicht darauf vorbereitet. Unsere mathematischen Modelle sind ausschließlich von positiven Zinsen ausgegangen. Auch neue Regularien stellen immer wieder neue Anforderungen.

Ilja: Spannend. Sprechen wir mal über Arbeitsweise. Wie funktioniert das Onboarding, wenn ich bei euch anfangen würde?

Nils: Die meisten Entwickler:innen sitzen in Münster, und wenn du bei uns anfangen würdest, kriegst du deine Geräte zugesendet, sprich Laptop und Handy, voreingerichtet. Dann wird dir das Unternehmen vorgestellt: Produktpalette und wie wir intern arbeiten. Dann installierst du dir IntelliJ oder Visual Studio oder beides. Dann checkst du die Git-Repos aus, kriegst ein Jira-Ticket zugewiesen, und wir sind bestrebt, dass die Neuangestellten relativ schnell Code schreiben.

Ilja: Ja, ist auch wichtig, schnell ein Glücksgefühl zu schaffen. Man ist angekommen und hat was geschafft. Und hat man Sparringspartner:innen, die man fragen kann? Oder Teams?

Nils: Wir haben zeb-weit ein CDC-Programm. Der oder die CDC (Career Development Counselor) begleitet einen durch die Karriere – über Jahre –, ist in dem Sinne auch Vorgesetzte bzw. Vorgesetzter und gibt Urlaub frei. Aber für die Einarbeitung kriegt man noch mal jemanden aus dem Team zugewiesen.
Mehr zum CDC-Programm erfährst du hier.

Ilja: Du hast ja die Tickets erwähnt. Habt ihr da Sprints? Oder arbeitet ihr in Zyklen? Du meintest ja, ihr könnt nicht so häufig releasen.

Nils: Wir arbeiten agil. Wir haben zwar kein Continuous Deployment, geben den Release nicht jedes Mal an den Kunden ab, aber intern arbeiten wir natürlich schon mit Sprints. Dreiwöchige Sprints, mit Daily Scrum, wo wir besprechen, wer was macht und wer die richtige Ansprechperson ist und so weiter. Mithilfe der Jira-Tickets und Epics können andere nachvollziehen, was man tut, und man kann dokumentieren.

Ilja: Wie seid ihr in Teams aufgeteilt? Oder alle einzeln?

Nils: Hm. Wir sind vielleicht zehn Teams? Und die Teams sind nach den Produkten geschnitten, die wir anbieten. Ein Betriebsteam betreibt jedes Modul. Ein Querschnittsteam, das Support macht, inklusive Hotline für Probleme. In jedem Team decken wir die Skills ab, die man für die Weiterentwicklung braucht. Auch die Scrums sind in den Teams. Alle Teams kommen pro Quartal zusammen, als zeb.it, um zu berichten.

Ilja: Wirklich sehr spannend. Am Ende spreche ich immer gern noch ein aktuelles Thema an. Treibt dich zurzeit technologisch etwas um?

Nils: Ja, KI. Dort schauen wir, wie wir das bei uns unterbringen können. Produkte mit KI verbinden oder Kundensupport mit KI ausstatten und erweitern. Konkreter ist bei uns das Cloud-Thema. Alte Rechenkerne in die Cloud bringen, ordentlich skalieren, Rechenzeit runterbringen. Superspannend, in solche Technologien reinzukommen!

Ilja: Kann ich mir vorstellen. Auch, dass die Portierung gar nicht so einfach ist. Soll ja auch einen Businessvorteil bringen. Wie geht ihr mit AWS um oder damit, dass die Daten vielleicht auf einem deutschen Rechenzentrum liegen, aber es trotzdem schwierig werden kann?

Nils: Wir haben das Thema absolut bei jedem Kunden. In der Schweiz noch mehr. Wir sind aber nicht an AWS gebunden, sondern können jeden Hyperscaler anbinden, Azure Cloud oder Google Cloud. Und erfüllt man die Zertifizierung, ist alles fein.

Ilja: Cool, verstehe. KI finde ich auch total spannend. US-Unternehmen sind wieder mal die Großen. Ich frage ChatGPT auch mal wegen C-Code, weil ich das nur kurz im Studium hatte. Wie ist das bei euch? Auch wegen der geheimen Daten der Banken?

Nils: Supermächtiges Tool, auf jeden Fall. Und bei vielen alten Wissensquellen wäre man geneigt, das alles da reinzukippen. Aber Betriebsgeheimnisse, Kundendaten, etc. dürfen natürlich nicht verwendet werden. Bei isolierten Dingen, Code- Schnipseln, geht das schon. Testdaten generieren lassen. Für unsere Kunden muss das transparent und erkennbar sein.

Ilja: ChatGPT hilft mir, Dinge zu machen, die ich vorher nicht machen konnte. In natürlicher Sprache etwas fragen und anzeigen lassen, was ich brauche, welche Programmiersprache und so. Alles viel einfacher.

Nils: ChatGPT hat die Technologie zugänglicher gemacht, das ist der Verdienst. Wir werden mit hundert Leuten sicher kein eigenes KI-Modell schreiben, sondern eher andere nutzen, Prompt Engineering und so.

Ilja: Guter Ansatz. Und ja, Zugänglichkeit, so war es ja auch mit Docker. Ich meine Container, Namespaces und so. Aber jetzt kriegt man wirklich etwas heraus, wenn man Dinge vorgibt, auch im JSON-Format, wenn ich das will. Spannende Zeit, und ich bin gespannt, wie deutsche Unternehmen damit umgehen. Und jetzt noch kurz einzelne Fragen.

Was war dein erster Rechner?

Nils: Puh, war irgendwas mit Windows 95, frag mich nicht im Detail! (lacht)

Ilja: Die erste Programmiersprache?

Nils: PHP.

Ilja: Und Lieblingsprogrammiersprache?

Nils: Ähm … Scala? Denn das nutze ich grad. Ansonsten Python.

Ilja: Erste Spielekonsole?

Nils: N64.

Ilja: Wann hast du angefangen, zu programmieren?

Nils: Mit 14, oder so.

Ilja: Gut, das wäre es so gewesen. Ich frage immer noch: Kaffee oder Tee?

Nils: Kaffee, eindeutig.

Ilja: Cola oder Mate?

Nils: Cola.

Ilja: Und aus aktuellem Anlass: Homeoffice oder Büro?

Nils: Hybrid. Bei uns sind 100 Prozent Homeoffice möglich, wenn man das möchte, von Tag eins.

Ilja: Dann danke, hat mir Spaß gemacht.

Nils: Ja, danke fürs Gespräch!

Categories:

Tags: