Entwicklung und Betrieb mehrerer AWS Cluster für das DyCA Team (Dynamic Campaign Advertising) um auf otto.de Homepage eine effiziente und stabile Performance bei der Ausspielung von personalisierten Banners und Teasers gewährleisten zu können. Ich habe ein kleines Team unterstützt, eine fremde closed-source Software (HCL Unica Interact) für die real-time Personalisierung der Werbungen auf der otto.de Homepage möglichst stabil und performant aufzusetzen und zu betreiben. Dafür war es notwendig, die sehr manuelle und fehleranfällige technische und fachliche Deployments möglichst zu vermeiden, genauso die Beobachtbarkeit (Observability) der Run-time Performance einer closed-source Software zu ermöglichen, damit iterativ die Performance und Stabilität der Marketing-Plattform ermöglicht und technisch erklärbar wird. Abgesehen von der intensiven Arbeit mit den AWS Services und Features (EC2 mit Auto Scaling Groups und optimierten AMIs, RDS for Oracle, Lambda, CloudWatch, ELB), HAProxy und mehreren Komponenten aus dem Unica Interact Marketing Suite, habe ich mich um die Sammlung und technische Auswertung der Metriken (auch über JMX Exporter) von allen relevanten Komponenten in ein zentrales Monitoring (mit Prometheus und Grafana) gekümmert, dass von mir eingerichtet wurde. Außerdem konnte ich die entscheidende Performance-Optimierung erreichen mit der Feststellung, dass sog. External Callouts (Plugin System in der Unica Interact) entwickelt werden müssen, damit eine zufriedenstellende Performance (über 99,5% der technisch und fachlich korrekten Interact API Request) und Stabilität erreicht wird. Diese habe ich entwickelt und zusammen mit Kollegen getestet.
Entwicklung der Digital Farming Plattform und diversen Microservices für Produkte xarvio™ Field Manager und Healthy Fields. In einem größerem Backend-Team (über 30 Software- und DevOps-Ingenieure) habe ich an der Entwicklung mit Java (9 und 11) und Spring Boot, Deployment in Kubernetes und Instandhaltung von über 50 Microservices gearbeitet, die eigene Daten überwiegend in Postgres speichern und miteinander über eigene REST APIs und RabbitMQ kommunizieren. Die REST APIs waren sowohl public als auch privat, die jeweils in OpenAPI spezifiziert wurden. Public API Dokumentation wurde über ReDoc generiert und statische Inhalte über Vuepress.js vervollständigt. Ich habe auch an der GraphQL API gearbeitet, die von xarvio™ mobilen Apps benutzt wurde. Einige Microservices haben S3 fürs speichern von größeren Dateien oder haben mit eigenen AWS Lambda Funktionen und externen Services (z.B. von John Deere oder Arable) kommuniziert. Die Microservices wurden in AWS deployed und mit Kubernetes orchestriert, wobei Deployments von einzelnen Microservices über Helm Charts definiert wurden. Das Testing mit Unit Tests, Integrationstests und Contract Tests über OpenAPI Dokumente und Postman (für die REST APIs) wurden kontinuierlich verbessert. Die CI/CD Pipelines wurden in Git, TeamCIty und Kotlin-basierten Skripten definiert und die Infrastruktur (in Dev und QA Umgebungen) mit ArgoCD deklarativ definiert und deployed. Application Monitoring wurde überwiegend mit in AWS laufenden ELK/Kibana und Grafana gemacht. Kommunikation mit anderen Teams (Mobile, Web, Support und Produktentwicklung) war Teil der Arbeit.
Entwicklung einer Analytics Platform für die Entwicklung von Machine Learning Apps, die zusammen mit Data Scientists gebaut werden, um eine nächstbeste Entscheidung in Inkasso-Prozessen zu treffen. Ich habe in einem Scrum Team in der Data Engineer Rolle zusammen mit Software- und Infrastruktur-Ingenieuren zzgl. 2 Data Scientist Teams gearbeitet.
Entwicklung einer Plattform für zuverlässige Bearbeitung von Lotterie-Tickets, Berechnung von Gewinnern und Quoten für mehrere Märkte. Ich habe in einem Scrum Team erfahrener Software-Entwickler gearbeitet, wo ich an folgenden Aufgaben beteiligt war:
Ich habe folgende Ergebnisse erzielt:
Verbesserung der Entwicklung einer Java Web-App für Customer Self-service. Ich habe in einem Scrum Team gearbeitet, dem ich geholfen habe, wesentliche Tasks zu identifizieren und sich auf sie zu fokussieren; einen besseren Code effizienter und zuverlässiger zu schreiben; und an der kontinuierlicher Verbesserung gearbeitet. Die Web-App wurde auf Stripes, Struts, Hibernate, und WebLogic basiert, mit Schnittstellen (WS, DB) zu externen Systemen.
Android-Entwicklung mit Scala. Ich habe an einem Android-basierten Framework für Labor-Instrumente gearbeitet, wo Scala, Akka und SBT benutzt wurden.
Reactive App und API Entwicklung.
Responsive Web Entwicklung mit Adobe CQ5 CMS, Java, Bootstrap/Modernizr
Search: Tech Lead des Search & Recommendations Teams
API: Als Product Manager habe ich ein Team von 4-5 Entwicklern geleitet, das api.xing.com und begleitendes Dev Portal dev.xing.com (in Ruby) gebaut hat
OpenSocial: Ich habe den OpenSocial Container für das XING Social Network mit Apache Shindig implementiert
---weitere Projekte auf Anfrage---
Zertifikate, Kurse und Schulung:
Resümee:
Ich bevorzuge Projekte, die entweder überwiegend im Großbereich Hamburg (mit maximal 1,5 Stunden Pendelzeit) oder remote abgewickelt werden könnten.
Aus privaten Gründen kann ich bei Kunden vor Ort und außerhalb des Hamburg Großbereichts nur begrenzt arbeiten, d.h. maximal 2 Tage alle 2 Wochen, was bei agilen Projekten nach dem Scrum bzw. Kanban Ansatz für Spring Reviews und Retrospektiven geeignet ist.
Entwicklung und Betrieb mehrerer AWS Cluster für das DyCA Team (Dynamic Campaign Advertising) um auf otto.de Homepage eine effiziente und stabile Performance bei der Ausspielung von personalisierten Banners und Teasers gewährleisten zu können. Ich habe ein kleines Team unterstützt, eine fremde closed-source Software (HCL Unica Interact) für die real-time Personalisierung der Werbungen auf der otto.de Homepage möglichst stabil und performant aufzusetzen und zu betreiben. Dafür war es notwendig, die sehr manuelle und fehleranfällige technische und fachliche Deployments möglichst zu vermeiden, genauso die Beobachtbarkeit (Observability) der Run-time Performance einer closed-source Software zu ermöglichen, damit iterativ die Performance und Stabilität der Marketing-Plattform ermöglicht und technisch erklärbar wird. Abgesehen von der intensiven Arbeit mit den AWS Services und Features (EC2 mit Auto Scaling Groups und optimierten AMIs, RDS for Oracle, Lambda, CloudWatch, ELB), HAProxy und mehreren Komponenten aus dem Unica Interact Marketing Suite, habe ich mich um die Sammlung und technische Auswertung der Metriken (auch über JMX Exporter) von allen relevanten Komponenten in ein zentrales Monitoring (mit Prometheus und Grafana) gekümmert, dass von mir eingerichtet wurde. Außerdem konnte ich die entscheidende Performance-Optimierung erreichen mit der Feststellung, dass sog. External Callouts (Plugin System in der Unica Interact) entwickelt werden müssen, damit eine zufriedenstellende Performance (über 99,5% der technisch und fachlich korrekten Interact API Request) und Stabilität erreicht wird. Diese habe ich entwickelt und zusammen mit Kollegen getestet.
Entwicklung der Digital Farming Plattform und diversen Microservices für Produkte xarvio™ Field Manager und Healthy Fields. In einem größerem Backend-Team (über 30 Software- und DevOps-Ingenieure) habe ich an der Entwicklung mit Java (9 und 11) und Spring Boot, Deployment in Kubernetes und Instandhaltung von über 50 Microservices gearbeitet, die eigene Daten überwiegend in Postgres speichern und miteinander über eigene REST APIs und RabbitMQ kommunizieren. Die REST APIs waren sowohl public als auch privat, die jeweils in OpenAPI spezifiziert wurden. Public API Dokumentation wurde über ReDoc generiert und statische Inhalte über Vuepress.js vervollständigt. Ich habe auch an der GraphQL API gearbeitet, die von xarvio™ mobilen Apps benutzt wurde. Einige Microservices haben S3 fürs speichern von größeren Dateien oder haben mit eigenen AWS Lambda Funktionen und externen Services (z.B. von John Deere oder Arable) kommuniziert. Die Microservices wurden in AWS deployed und mit Kubernetes orchestriert, wobei Deployments von einzelnen Microservices über Helm Charts definiert wurden. Das Testing mit Unit Tests, Integrationstests und Contract Tests über OpenAPI Dokumente und Postman (für die REST APIs) wurden kontinuierlich verbessert. Die CI/CD Pipelines wurden in Git, TeamCIty und Kotlin-basierten Skripten definiert und die Infrastruktur (in Dev und QA Umgebungen) mit ArgoCD deklarativ definiert und deployed. Application Monitoring wurde überwiegend mit in AWS laufenden ELK/Kibana und Grafana gemacht. Kommunikation mit anderen Teams (Mobile, Web, Support und Produktentwicklung) war Teil der Arbeit.
Entwicklung einer Analytics Platform für die Entwicklung von Machine Learning Apps, die zusammen mit Data Scientists gebaut werden, um eine nächstbeste Entscheidung in Inkasso-Prozessen zu treffen. Ich habe in einem Scrum Team in der Data Engineer Rolle zusammen mit Software- und Infrastruktur-Ingenieuren zzgl. 2 Data Scientist Teams gearbeitet.
Entwicklung einer Plattform für zuverlässige Bearbeitung von Lotterie-Tickets, Berechnung von Gewinnern und Quoten für mehrere Märkte. Ich habe in einem Scrum Team erfahrener Software-Entwickler gearbeitet, wo ich an folgenden Aufgaben beteiligt war:
Ich habe folgende Ergebnisse erzielt:
Verbesserung der Entwicklung einer Java Web-App für Customer Self-service. Ich habe in einem Scrum Team gearbeitet, dem ich geholfen habe, wesentliche Tasks zu identifizieren und sich auf sie zu fokussieren; einen besseren Code effizienter und zuverlässiger zu schreiben; und an der kontinuierlicher Verbesserung gearbeitet. Die Web-App wurde auf Stripes, Struts, Hibernate, und WebLogic basiert, mit Schnittstellen (WS, DB) zu externen Systemen.
Android-Entwicklung mit Scala. Ich habe an einem Android-basierten Framework für Labor-Instrumente gearbeitet, wo Scala, Akka und SBT benutzt wurden.
Reactive App und API Entwicklung.
Responsive Web Entwicklung mit Adobe CQ5 CMS, Java, Bootstrap/Modernizr
Search: Tech Lead des Search & Recommendations Teams
API: Als Product Manager habe ich ein Team von 4-5 Entwicklern geleitet, das api.xing.com und begleitendes Dev Portal dev.xing.com (in Ruby) gebaut hat
OpenSocial: Ich habe den OpenSocial Container für das XING Social Network mit Apache Shindig implementiert
---weitere Projekte auf Anfrage---
Zertifikate, Kurse und Schulung:
Resümee:
Ich bevorzuge Projekte, die entweder überwiegend im Großbereich Hamburg (mit maximal 1,5 Stunden Pendelzeit) oder remote abgewickelt werden könnten.
Aus privaten Gründen kann ich bei Kunden vor Ort und außerhalb des Hamburg Großbereichts nur begrenzt arbeiten, d.h. maximal 2 Tage alle 2 Wochen, was bei agilen Projekten nach dem Scrum bzw. Kanban Ansatz für Spring Reviews und Retrospektiven geeignet ist.