A2A-Zahlungen: Agil per Ruby, Go & Python über Google Cloud – GoCardless CTO Neil Turner im Interview
GoCardless ist ein Anbieter von Account-to-Account-Zahlungen (ermöglicht es Unternehmen, einmalige und wiederkehrende Zahlungen von Bankkonten einzuziehen) und hat rund 65.000 Unternehmen als Kunden. Neil Turner, CTO bei GoCardless erläutert bei IT Finanzmagazin das How-To und die Technologie.
Herr Turner, wer sind Ihre Kunden?
Wir arbeiten mit Unternehmen jeder Größe zusammen, die sich direkt in unsere API-Plattform integrieren, und wir arbeiten mit Partnern zusammen, die GoCardless-Zahlungen in ihren Plattformen ermöglichen. Beispiele hierfür sind Xero, Quickbooks und Zuora.[Anm. d. Red: eine vollständige Liste finden Sie hier]
Wie werden die Produkte entwickelt? Wie sieht der Prozess aus?
Wir arbeiten in Teams zusammen, um Kundennutzen und Wirkung zu erzielen.
Die Teams sind multidisziplinär und umfassen Ingenieure, Produktmanager, Designer, Datenwissenschaftler usw., je nachdem, was für den jeweiligen Problembereich erforderlich ist.”
Unsere Ingenieur-Teams haben einen Engineering Manager und einen technischen Leiter, die sie unterstützen. Die technischen Leiter sind für die Gesamtleistung, die Gesundheit und das Wohlbefinden des Teams verantwortlich. Die technischen Leiter sind dafür verantwortlich, dass wir unsere Systeme so gestalten und aufbauen, dass sie skalierbar, sicher und zuverlässig sind.
Produktmanager gehören wie die technischen Leiter zu einem oder mehreren Teams und sind für das “Was” zuständig. Sie stellen sicher, dass wir sowohl den kundenorientierten Funktionen als auch den nicht funktionalen Anforderungen, die wir erfüllen müssen, Priorität einräumen.
Wir arbeiten agil, aber mit einem vierteljährlichen Blick auf die nächsten Prioritäten. Wir liefern mehrmals täglich über eine automatisierte Continuous Integration/Continuous Delivery-(CI/CD-)Pipeline an die Produktion aus.”
Wie entscheiden Sie, was als nächstes entwickelt werden soll?
Wir setzen uns jährlich Unternehmensziele mit Schwerpunkten, die mindestens ein Quartal lang gelten. Wir versuchen, uns an maximal drei Ziele zu halten, um sicherzustellen, dass wir uns darauf konzentrieren, sie zu erreichen. Daraus ergibt sich ein Großteil der Arbeit der Ingenieure. Wir haben jedoch auch Produkt-, Gruppen- und Teamziele sowie Investitionsaufgaben, die wir priorisieren müssen. Die Priorisierung wird vom Produktmanagement geleitet und von den technischen Managern und den technischen Leitern unterstützt.
Welche Programmiersprachen und Tools verwenden Sie?
Die wichtigsten Sprachen sind Ruby, Go und Python, je nachdem, wo in unserem Stack man arbeitet.”
Für die Front-End-Entwicklung verwenden wir TypeScript, React und verschiedene Javascript-Bibliotheken. Da wir auf Google Cloud aufbauen, verwenden wir vorzugsweise deren Tools, wenn sie unseren Anforderungen entsprechen. Ansonsten bevorzugen wir Open Source, anstatt eine Lösung zu bauen oder zu kaufen.
Wie sehr verlassen Sie sich auf Automatisierung?
Automatisierung ist eine Prämisse von GoCardless für die Orchestrierung verschiedener Systeme und Konten, um Geld zu bewegen.
Innerhalb der Entwicklungsteams verlassen wir uns auf Automatisierung, um unsere Self-Service-Infrastruktur zu unterstützen. Diese ermöglicht uns, nicht-linear zu skalieren zwischen der Größe unserer Teams und dem von ihnen erzeugten Output.
Wir verlassen uns in hohem Maße auf automatisierte Tests, die uns die Sicherheit geben, Dinge schnell zu liefern.”
Wir haben manuelle Fallback-Prozesse, damit wir uns bei einem Ausfall eines Drittanbieters nicht vollständig auf die Automatisierung verlassen müssen. Aber wir stützen uns stark darauf, um schnelle und zuverlässige Ergebnisse zu gewährleisten.
Wie werden die Produkte in Ihrem Unternehmen entwickelt – Wasserfall, agil usw.?
Wir arbeiten mit einer agilen Denkweise, überlassen aber bewusst den Teams die Entscheidung, welchem Prozess sie folgen wollen.”
Wir haben vierteljährliche Checkpoints, an denen wir überprüfen, was geliefert wurde, und vereinbaren, worauf sich das Team oder die Gruppe in den kommenden Monaten konzentrieren sollte. Die Teams arbeiten in der Regel in Sprints, die zwei Wochen dauern. Unser übergreifender Ansatz beruht auf zwei Dingen, die uns wichtig sind – Ergebnisse und Wirkung. Erstens geht es uns um den Einfluss auf unsere Kunden. Wir wollen sicherstellen, dass wir Ergebnisse liefern, die für sie von Bedeutung sind. Zweitens sind wir ein Daten-fokussiertes Unternehmen. Die Messung der Auswirkungen unseres Handelns ist also auch in unserer DNA verankert. So können wir Sicherheit, Datenschutz, Skalierbarkeit usw. neben neuen kundenorientierten Funktionen priorisieren. Für den Prozess ist der Produktmanager zuständig, aber er holt sich auch Anregungen und bemüht sich um einen Konsens mit den Leitern der anderen Teams.
Ein Beispiel für unsere Denkweise und die damit erzielten Ergebnisse ist die Entwicklung unserer ersten Open-Banking-Zahlungsfunktion, Instant Bank Pay. Dies war ein wichtiger Schritt für GoCardless. Er steht sinnbildlich für den Wechsel unseres Angebots von den zuvor ausschließlichen Bank-Abbuchungen hin zu einem Angebot, das alle Arten von Konto-zu-Konto-Zahlungs-Technologien umfasste. Unser Team entwickelte Instant Bank Pay in einem iterativen Prozess und arbeitete team- und disziplinübergreifend. Vom Beginn der Entwicklung bis zum Markt-Launch brauchten wir für die erste Version weniger als vier Monate.
Welche Basistechnologien sind im Einsatz? Wie sieht es zum Beispiel mit dem Einsatz von KI aus?
Wir verwenden einen “Standard”-Stack für CI/CD und verwalten alles als Code; Github, argoCD, terraform usw. Wir verwenden auch Tools, um sicherzustellen, dass wir eine angemessene Cloud-Sicherheitslage aufrechterhalten (Prisma Cloud). Die datengesteuerte Verwaltung unserer Systeme ist von entscheidender Bedeutung, aber das bedeutet nicht, dass wir auf KI-Tools umgestiegen sind.
Die wahrscheinlichen Bereiche, in denen ML und KI für uns außerhalb unseres Kernprodukt-Angebots in Zukunft nützlich sein werden, sind die Verwaltung von Daten und ein tieferes Verständnis unserer internen APIs (sowohl aus betrieblichen als auch aus Sicherheitsgründen).”
Innerhalb unseres Produkts nutzen wir maschinelles Lernen sowohl für unsere Betrugs-Modellierung und -Prävention als auch für unser Success+-Produkt, das Kunden zur Optimierung von Zahlungswiederholungen nach einer ersten fehlgeschlagenen Zahlung nutzen.
Setzt Gocardless auf Cloud-Lösungen (AWS, Azure & Co.) – und warum?
Wir nutzen die Google Cloud Platform. Der Grund dafür ist für mich sehr einfach. Durch die Nutzung von Google muss ich mich nicht mehr um meine eigene Server-Infrastruktur, Auslastung usw. kümmern.
Außerdem kann ich von Tausenden Ingenieuren profitieren, die bei Google an der Lösung von Problemen arbeiten und die ich ohne Kosten nutzen kann.”
Wie garantieren und testen Sie die Sicherheit Ihrer Systeme?
Wir lassen uns von den Richtlinien leiten, die wir im Rahmen unserer ISO 27001-Zertifizierung festgelegt haben. Dies gibt uns die Möglichkeit, Sicherheits-Entscheidungen auf der Grundlage von Risiken zu treffen, aber dennoch innerhalb eines überprüfbaren Rahmens.”
Wir arbeiten dann daran, die Sicherheit in unsere technische Kultur einzubetten, mit einem unterstützenden Ansatz für Sicherheitsdesign und Beratung, indem wir gemeinsam mit unseren Ingenieuren technische Standards festlegen. Wir testen an einer Reihe von Punkten im Entwicklungszyklus, führen regelmäßig Penetrationstests durch und betreiben außerdem Bug-Bounty- und Schwachstellen-Offenlegungsprogramme.
Ein kleiner Blick in die Zukunft – welche Technologie wird in fünf Jahren die größten Auswirkungen auf Ihr Unternehmen haben – in was werden Sie investieren?
Fünf Jahre sind in unserer Welt eine sehr lange Zeit.
Vorerst werden wir uns weiterhin darauf konzentrieren, Daten als Wettbewerbsvorteil zu nutzen. Wir glauben, dass wir mit den Daten, die wir über viele Jahre hinweg gesammelt haben, maschinelles Lernen nutzen können, um wettbewerbsfähige neue Produkte und Angebote für unsere Kunden zu entwickeln.”
Ein Beispiel dafür ist Success+, eine Funktion, die wir im letzten Jahr eingeführt haben und die automatisch die Wiederholungsversuche für Kunden optimiert, so dass sie im Durchschnitt 76 Prozent der fehlgeschlagenen Zahlungen wiederherstellen können. Success+ stützt sich auf maschinelles Lernen und die Milliarden von Transaktionen, die wir verarbeitet haben.
Herr Turner, vielen Dank für das Interview.aj
Sie finden diesen Artikel im Internet auf der Website:
https://itfm.link/124199
Schreiben Sie einen Kommentar