Buffl

Ubermich

AR
by Alexander R.

VOLL


Ich arbeite als Software-Entwickler mit Schwerpunkt auf Java und Spring Boot, bringe aber auch Erfahrung im Frontend- und Mobile-Umfeld mit.


Meine berufliche Laufbahn habe ich bei der Humanitas Foundation als Full-Stack-Entwickler begonnen. Dort habe ich End-to-End-Anwendungen auf Basis von Java EE entwickelt, inklusive Messaging mit RabbitMQ. Im Frontend kam JSF zum Einsatz, und für CI/CD habe ich Jenkins verwendet, um Builds, Tests und Deployments zu automatisieren.


Anschließend war ich bei der DEVcell als Backend-Entwickler tätig. Dort habe ich an der Entwicklung nativer Mobile-Applikationen sowie an Spring-Boot-basierten Microservices gearbeitet, die produktiv auf Kubernetes betrieben wurden. Die Anwendung richtete sich an eine Firma, die deutschlandzweit große Objekte wie Pflegeheime und Krankenhäuser ausgestattet hat. Projektleiter konnten Projekte anlegen, Unterlagen und Zeichnungen hochladen, während sich Montagefirmen bewerben und Angebote abgeben konnten. Die Monteure dokumentierten anschließend die Umsetzung direkt in der App.


Im Rahmen meiner Projekt- und Bachelorarbeit habe ich zusätzlich eine native Mobile-Applikation für Monteure mitentwickelt, über die tägliche Aufträge erfasst, bearbeitet und nach Abschluss mit Bildmaterial und Protokollen dokumentiert wurden. Auf Basis der dokumentierten Aufträge konnten Rechnungen automatisch erstellt und nach Freigabe versendet werden. Parallel habe ich Services implementiert, die Fahrzeug- und Fahrstreckendaten aus OBD-Geräten ausgelesen haben, woraus automatisch signierte PDFs als Stundenzettel generiert wurden. Ergänzend entstand ein Administrations-Dashboard mit Angular, über das alle Services, Geräte und Komponenten überwacht, geloggt und getraced wurden.


In meiner aktuellen Position bei IQVIA / DAVASO arbeite ich an einem Portal für den sicheren Informations- und Dokumentenaustausch zwischen medizinischen Diensten, Krankenkassen, Landesbehörden und Landesverbände. Von Beginn an war ich an der Entwicklung mehrerer zentraler Prozesse beteiligt, die die Funktionalität des Portals deutlich erweitert haben.


Nach erfolgreichem Abschluss dieser Features habe ich den technischen Modernisierungsprozess angestoßen, um bestehende technische Schulden abzubauen. Dafür habe ich zunächst einen gemeinsam genutzten Kern entkoppelt, den unser Projekt mit einem weiteren System teilte. Dadurch konnten wir die Anwendung eigenständig betreiben und volle Kontrolle über Architektur, Releasezyklen und Qualitätssicherung gewinnen.


Darauf aufbauend habe ich die Migration von Java 8 auf Java 21 sowie von Spring Boot 2 auf Spring Boot 3 umgesetzt. Zusätzlich habe ich die Schnittstellen vollständig auf OpenAPI umgestellt, wodurch eine zuvor sehr komplexe und verteilte Implementierung deutlich vereinfacht werden. In diesem Zuge habe ich bestehende API-Tests überarbeitet und in die Jenkins-Release-Pipeline integriert.


Im verlauf habe ich festgestellt, dass im Frontend weiterhin manuelle Tests notwendig waren. Deshalb habe ich eine Lösung für visuelle Regressionstests eingeführt, mit der UI-Änderungen automatisch validiert werden. Dadurch sparen wir heute pro Release etwa ein Arbeitstag.


Aktuell arbeite ich zusätzlich in einem Team, das sich mit der Containerisierung und dem Deployment unserer Anwendungen auf Kubernetes beschäftigt. Dabei erstelle und pflege ich Helm Charts für unsere Services und unterstütze bei Deployments über ArgoCD nach dem GitOps-Prinzip. Zu meinen Aufgaben gehört die Konfiguration von ArgoCD Applications, das Durchführen von Deployments und Updates sowie die Integration neuer Services in die Kubernetes-Umgebung. Im Alltag arbeite ich mit Kubernetes-Ressourcen wie Deployments, Services, Ingress, ConfigMaps und Secrets und unterstütze Teams bei der Anpassung von Deployment Konfigurationen.


Außerdem bin ich Teil eines Code-Review-Pools, wodurch ich regelmäßig Einblick in andere Projekte bekomme und auch teamübergreifend von anderen Projekten lerne.

----------------------

Zusätzlich habe ich letztes Jahr einen Kurs zum ISO 27001 Lead Implementer absolviert, um mein Wissen im Bereich Informationssicherheit zu vertiefen. Das Thema Security interessiert mich zunehmend auch aus architektonischer Perspektive.


Und da ich bisher noch nicht in einem größeren Produktivprojekt mit Kafka gearbeitet habe, habe ich eigenständig ein mittleres Übungsprojekt umgesetzt, um praktische Erfahrung zu sammeln. In diesem Projekt habe ich eine Stadt-Simulation entwickelt, in dem verschiedene Services wie Verkehr, Energieversorgung und Notfallmanagement über Kafka-Topics miteinander kommunizieren. Dabei habe ich Producer- und Consumer-Logik implementiert, Partitionierung, Consumer Groups sowie Idempotenz- und Fehlerszenarien getestet, um ein realistisches Event-Streaming-Szenario nachzubilden.

----------------------

Technische und fachliche Dokumentation erfolgt zentral über Confluence. Die erzeugten Build-Artefakte werden in einem Nexus-Repository abgelegt und versioniert, während der gesamte Quellcode in GitLab verwaltet wird. Unsere CI/CD-Pipelines sind mit Jenkins umgesetzt und automatisieren den kompletten Prozess von Build, Test und Qualitätssicherung bis hin zum Deployment. Die Anwendungen selbst laufen vollständig containerisiert und werden auf einer Kubernetes-Plattform betrieben.


Neue Anforderungen oder Features werden gemeinsam mit dem Product Owner im Rahmen von Refinements besprochen, fachlich und technisch geklärt, anschließend in Tickets verfeinert, priorisiert und umgesetzt.

KURZ



Ich arbeite als Softwareentwickler mit Schwerpunkt auf Java und Spring Boot und habe mehrere Jahre Erfahrung in der Entwicklung von Backend-Systemen. Gleichzeitig bringe ich auch Erfahrung im Frontend- und Mobile-Bereich mit.


Meine erste Job war als Full-Stack-Entwickler bei der Humanitas Foundation. Dort habe ich End-to-End-Anwendungen auf Basis von Java EE entwickelt und erste Erfahrungen mit Messaging-Systemen sowie CI/CD-Prozessen gesammelt.


Danach war ich bei der DEVcell als Backend-Entwickler tätig. Dort habe ich an Microservice-basierten Systemen sowie mobilen Anwendung gearbeitet, die produktiv eingesetzt wurden. Die Plattform unterstützte unter anderem die Organisation und Dokumentation größerer Montageprojekte.


Aktuell arbeite ich bei DAVASO an einer Plattform für den sicheren Informations- und Dokumentenaustausch im Gesundheitswesen. Hier war ich an mehreren zentralen Prozessen beteiligt und habe einen technischen Modernisierungsprozess eigenständig umgesetzt, unter anderem durch Technologie-Upgrades sowie die Überarbeitung der Schnittstellen und Tests.


Neben der klassischen Backend-Entwicklung beschäftige ich mich aktuell stärker mit Themen rund um Containerisierung und Deployment unserer Anwendungen. Wir arbeiten hier mit Kubernetes, Helm und ArgoCD, sodass ich nicht nur an der Entwicklung der Anwendungen beteiligt bin, sondern auch an deren Auslieferung und Betrieb.


Darüber hinaus bilde ich mich auch kontinuierlich weiter. Ich habe zum Beispiel einen Kurs zum ISO 27001 Lead Implementer absolviert, weil mich Themen rund um Informationssicherheit zunehmend interessieren. Zusätzlich beschäftige ich mich auch mit Event-Streaming-Technologien wie Kafka, um mein Wissen im Bereich verteilter Systeme weiter zu vertiefen.

-----------

In unserer täglichen Arbeit nutzen wir verschiedene Tools und Plattformen. Die Dokumentation erfolgt über Confluence, der Quellcode wird in GitLab verwaltet und Artefakte werden versioniert in Nexus abgelegt. Unsere CI/CD-Pipelines laufen über Jenkins und teilweise, je nach Projekt, auch über GitLab. Die Anwendungen selbst laufen containerisiert auf einer Kubernetes-Plattform, wobei wir Helm Charts für die Paketierung der Services nutzen. Deployments erfolgen über ArgoCD nach dem GitOps-Prinzip, und für bestimmte Automatisierungs- und Prozessabläufe setzen wir zusätzlich Argo Workflows ein.

-----------

Neue Anforderungen oder Features werden gemeinsam mit dem Product Owner im Rahmen von Refinements besprochen, fachlich und technisch geklärt, anschließend in Tickets verfeinert, priorisiert und umgesetzt.

Author

Alexander R.

Information

Last changed