Im Zuge der Migration zur Azure Cloud wird die automatische Verarbeitung von Schadensanträgen neu entwickelt. Ziel ist es, fehlertolerante, redundante und skalierbare Prozesse bereitzustellen unter einhaltung von Regulatorischen Anforderungen und Dokumentation der Einhaltung.
Senior Software Engineer / DevOps Engineer
Programmierung und Weiterentwicklung Java Services auf Basis von Camunda, Spring Boot mit Tomcat oder auch JakartaEE
Weiterentwickeln von Microservice Frontends mit Typescript und Angular
Entwicklung im Kontext einer dezentralen Data Mesh Architektur
Schreiben von VAIT Dokumentation um einhaltung von regulatorischen Anforderungen nachzuweisen
Containerisierung mit Docker und Cloud Migration diverser Anwendung
Bereitstellung von Infrastruktur durch Kubernetes, ArgoCD und Terraform
Persistierungslayer realisiert durch Datenbank Aurora PostgresQL
Abhängigkeitsverwaltung mittels Maven und npm (pnpm)
Implementierung von OAuth2 Authentifizierung und Autorisierung mit EntraID
Einsatz von OpenAPI um eine dokumentierte API bereitzustellen
Testing mit JUnit und Mockito und Wiremock
Nutzung von Azure Service Bus Queues um Anwendungsschritte zu entkoppeln
Arbeiten in agilen SCRUM-Teams und Koordination durch JIRA, um eine agile und effiziente Projektumsetzung zu gewährleisten.
Zusammenarbeit und Koordination mit mehreren Projektteams
Continuous Delivery und Integration (CI/CD) der Anwendung durch Azure DevOps Pipelines
Umsetzung der Projektanforderungen gemäß KRITIS-Standards im ITIL Modell
Implementierung von umfangreichem Monitoring, Alerts und Health-Checks mit Prometheus, Grafana und Spring Boot Actuator
Explorative Arbeit LLMs (Copilot, Gemma4:eb) einzubinden in Review Pipelines
JavaCamundaTomcatJakartaEETypeScriptAngular (1721)
KubernetesTerraform
Azure PostgreSQLAzure Service BusDockerEntra ID
MavenSpring BootJUnitMockitoWiremockActuatornpmpnpm
Azure DevOpsPrometheusGrafanaArgoCD
JIRASCRUMITILKRITISLLMs (Github CopilotGemma4)
Data Mesh Architektur
Versicherung
1 Jahr 4 Monate
2023-09 - 2024-12
Compliance-fokussierte Portalentwicklung für die Bundescloud-Infrastruktur
JavaKotlinPython...
Project Overview
Entwicklung einer zentralen und sicherheitskritischen Komponente der Bundescloud. Der Fokus lag auf der Programmierung einer zertifizierbaren Architektur gemäß strengen KRITIS-Vorgaben und regulatorischen Anforderungen sowie der fachlichen Begleitung des gesamten Zertifizierungsprozesses, um die volle Compliance und Einsatzfähigkeit für Behörden sicherzustellen.
Senior Devops Engineer
Programmierung und Weiterentwicklung einer Bestellkonsole in Java+Kotlin und Spring Boot mit Tomcat zur Optimierung der Bestellprozesse
Arbeit an Zertifizierungsprozessen um einhaltung von regulatorischen Anforderungen nachzuweisen
Persistierung-Layer realisiert durch Datenbank MariaDB
Erstellung und Verwaltung der Applikation mittels Maven, um konsistente Builds und eine einfache Verwaltung von Abhängigkeiten zu gewährleisten
Aufsetzen und Konfigurieren von Linux-Umgebungen mittels Ansible, um eine skalierbare und wiederholbare Infrastruktur bereitzustellen
Entwicklung einer API-First-Strategie zur Sicherstellung, dass alle Schnittstellen zuerst als API spezifiziert und implementiert werden.
Einsatz von OpenAPI für die API-First-Entwicklung, um eine standardisierte und dokumentierte API bereitzustellen.
Software Testing mit JUnit und Wiremock, um die Qualität und Zuverlässigkeit der Anwendung sicherzustellen.
Arbeiten in SCRUM-Teams und Koordination durch JIRA, um eine agile und effiziente Projektumsetzung zu gewährleisten.
Zusammenarbeit und Koordination mit mehreren Projektteams zur Synchronisation der Entwicklungsaktivitäten und zur Sicherstellung der Projektziele.
Deployment der Anwendung innerhalb von RHEL Linux, um eine stabile und sichere Produktionsumgebung zu nutzen.
Nutzen eines intern verwalteten RabbitMQ zur Kommunikation mit asynchronen Systemen.
Umsetzung der Projektanforderungen gemäß KRITIS-Standards im ITIL Modell
Einsatz von Podman als Containerlösung zur Isolierung und Verwaltung der Anwendungsprozesse
Implementierung von umfangreichem Monitoring und Health-Checks mit Prometheus und Spring Boot Actuator zur Überwachung der Systemgesundheit und zur frühzeitigen Erkennung von Problemen
Scripting von Automatisierungen in Python und Bash, um wiederkehrende Aufgaben zu automatisieren und die Effizienz zu steigern.
Hilfsservices für den Betrieb realisiert mit Python+FastAPI
Wartung und Optimierung von CI-Pipelines in Gitlab CI und Jenkins, um kontinuierliche Integration und Auslieferung sicherzustellen und die Entwicklungsprozesse zu beschleunigen
Entwicklung im ITIL Modell
Explorative Arbeit, um mit selbstgehosteten LLMs (LLama) erarbeiten von Zertifizierungen und Dokumentation zu unterstützen
Implementierung einer In-Memory-optimierten Big-Data-Architektur, die durch effiziente Kompressionsalgorithmen das Einlesen und den Zugriff auf großvolumige Datensätze signifikant beschleunigt.
Senior Software Engineer
Schreiben einer Linux-Software in Kotlin zum Arbeiten und Querying von Big Data Lakes
Ausrollen der Software auf Amazon Elastic Container Service (AWS ECS) mittels Terraform, Amazon Simple Storage Service (AWS S3) und Amazon CloudWatch
CI/CD Pipelines durch GitLab CI. Implementiert in bash mit dem AWS CLI, mit Testing, Building und Deployment Stages
Schnittstelle und Integration mit Services, die auf Kubernetes gehostet sind
Anpassen der Services
Deployment und Updates in Tanzu Application Platform Umgebung
Konzeption und Bauen eines zugeschnittenen Linux-Images mittels Docker. Mittels Multistage Dockerfiles konnte ein minimal kleines Image erstellt werden, das plattformunabhängig mit Docker gebaut werden konnte.
Eigens entwickelte Testing Strategie mit Kotlin und S3, um die Software zu benchmarken.
Monitoring mittels Prometheus-Integration
Bei der Umsetzung wurde jeweils auch die englischsprachige Produktdokumentation genutzt
Die Arbeit trug dazu bei, effizienter und mit minimaler Latenz riesige Data Lakes verwalten zu können.
Koordination mit Jira, GitLab und Scrum + Kanban basierter Arbeitsweise.
Caching implemented ElastiCache MemCached
Agile Umsetzung des Projektes auf Basis Scrum
scrumAtlassian JIRA
Kotlin
JenkinsTerraformDockerDockerfileGitLabGitLab CiPrometheusTanzu
Amazon Elastic Container Service (AWS ECS)Amazon Simple Storage Service (AWS S3)Amazon CloudWatchAWS CLIElastiCacheMemCached
LinuxJiraScrumKanban
Einführung von standardisierten Prozessen zur Veröffentlichung privater Bibliotheken und Modernisierung des Frontend-Codes
Konzeption und Implementierung von standardisierten Möglichkeiten zur Veröffentlichung privater Bibliotheken. Diese beinhaltete die Erstellung von Projekt-Templates mit dedizierten CI-Pipelines in Github Actions, was die Konsistenz und Qualität der veröffentlichten Bibliotheken gewährleistete.
Ziel der Aktivitäten war es, das Frontend zunehmend aufzusplitten und den Code in Teilen zu modernisieren, um die Anwendungsleistung zu verbessern und die Pflege zu vereinfachen.
Als Build-System wurde Webpack gewählt, um eine breite gefächerte Menge an gewünschten Technologien (React, Cypress, Cypress-React-Integration, Jest, TypeScript, Storybook) gleichzeitig verwenden zu können.
Einrichtung von Lösungen für private Bibliotheken, einschließlich der Einrichtung von CI-Pipelines zur Veröffentlichung in npm-Repos. Dies ermöglichte eine reibungslose Integration und Aktualisierung von privaten Bibliotheken in verschiedenen Projekten.
Entwicklung von Programmen zur automatischen Generierung von Release Notes projektweit. Diese Programme zogen Informationen aus erfolgreich gemergten Pull Requests und nutzten die GitHub API und Git zur vollständigen Automatisierung des Prozesses.
Nutzung von Github Actions zur Automatisierung von Build-, Test- und Deployment- Aufgaben, wodurch die Effizienz des Entwicklungsprozesses verbessert wurde.
Diese Arbeiten trugen zur Modernisierung des Frontends bei, verbesserten die Qualität und Konsistenz der veröffentlichten privaten Bibliotheken und erleichterten die Pflege und Aktualisierung der Anwendung.
Optimierung und Kostenanalyse der Google Cloud Platform (GCP) Infrastruktur
DevOps EngineerKubernetesKubecost
DevOps Engineer
Optimierung und Kostenanalyse der Google Cloud Plattform (GCP) Infrastruktur
Als DevOps und Cloud-Spezialist, war ich mit der Aufgabe betraut, eine detaillierte Kostenanalyse der Google Cloud Plattform (GCP) Ressourcen durchzuführen. Ziel war es, eine vollständige Transparenz über die Cloud-Ausgaben und die Auslastung der genutzten Ressourcen zu erhalten.
Ich erstellte eine Auslastungsanalyse der gebuchten Ressourcen, um einen Überblick über den aktuellen Ressourcenverbrauch und Möglichkeiten zur Optimierung zu gewinnen
Aufsetzen von Kubecost, einem führenden Tool zur Kostenüberwachung und -optimierung in Kubernetes-Umgebungen. Kubecost ermöglichte die Echtzeit-Kostenverfolgung und half dabei, die Ausgaben effektiv zu kontrollieren.
Die Implementierung dieser Tools und Verfahren trug zur Optimierung der Cloud-Ausgaben bei, erhöhte die Effizienz der genutzten Ressourcen und verbesserte die Transparenz und Kontrolle über die Cloud-Kosten.
KubernetesKubecost
Logistik
7 Monate
2021-01 - 2021-07
Entwicklung und Implementierung eines Services für End-to-End- und Regressionstests
Entwicklung und Implementierung eines Services für End-to-End- und Regressionstests gegen das Frontend, mit erweiterter Infrastruktur und Integration von Drittanbieter-APIs
Als DevOps-Spezialist und Frontend-Entwickler war ich für die Einrichtung und Bereitstellung der Infrastruktur für das Frontend auf der Basis von Google Kubernetes Engine (GKE) zuständig
Implementierung und Verwaltung von CI/CD-Prozessen mit CircleCI und Google Cloud Build zur Automatisierung von Build-, Test- und Deploy-Phasen des Frontends
Entwicklung einer Regressionstest-Lösung für das Frontend, um die Qualität und Stabilität der Anwendung 24/7 zu überprüfen und gewährleisten. Das Programm basierte auf Cypress und wurde in Golang geschrieben. Die Arbeit umfasste das Schreiben von automatisierten Testskripten und die Integration der Applikation in den CI/CD-Prozess, um End-to-End-Tests bereits vor dem Deployment des Frontends durchführen zu können.
Einsatz von Prometheus zur Überwachung der Testlösung an sich, und als Proxy, um die Testergebnisse zu überwachen
Wartung und Konfiguration von Grafana-Dashboards zur Visualisierung der von Prometheus erfassten Metriken. Dadurch wurden Leistungs-Engpässe und Systemfehler schnell identifiziert und behoben, da das Frontend eine Schnittstelle in die gesamte unterliegende Backend-Infrastruktur ist
Integration der Mail- und Slack-APIs zur Verbesserung der Kommunikation und Zusammenarbeit im Team. Dies umfasste das Senden automatisierter Benachrichtigungen über Systemereignisse und -updates aus den im Backend laufenden Test-Services
Entwicklung und Wartung von SLA-relevanten Services
DevOps EngineerGolangPythonKubernetes...
DevOps Engineer
Entwicklung und Wartung von SLA-relevanten Services im Kontext einer Microservices-Architektur. Diese Services lesen Daten aus verschiedenen Quellen, führen statistische Auswertungen durch und senden diese periodisch an Kunden. Hierbei wurden Golang (Go) und ElasticSearch für die Datenverarbeitung und -analyse, sowie Python und Matplotlib für die Erstellung von Diagrammen und Visualisierungen eingesetzt.
Ein besonderer Schwerpunkt lag auf der Generierung von PDF-Dokumenten in Golang, welche die Ergebnisse der statistischen Auswertungen in einem benutzerfreundlichen Format präsentieren.
Es wurde eine robuste Lösung für die Kundendatenanalyse und -kommunikation realisiert
Migration von Amazon Web Services (AWS) zu Google Cloud Platfrom (GCP) und Umsetzung eines alert-basierten Überwachungssystems
Durchführung einer umfassenden Migration von Amazon Web Services (AWS) zu Google Cloud Platform (GCP), einschließlich Anwendungen, Daten und Infrastruktur. Ziel war es, die Vorteile der GCP und vor allem Kubernetes zu nutzen
Migration von CircleCI zu Google Cloud Build (und zum Teil Github Actions) für CI/CD-Prozesse. Dies beinhaltete das Anpassen und Umbauen der existierenden Pipelines, um den nahtlosen Übergang zu gewährleisten
Implementierung eines Services in Golang zur Generierung von Alerts aus Google Cloud Build. Dieser Service nutzt:
Die Cloud Build API zur Erfassung von Build-Informationen und Status
Die Slack API zur Benachrichtigung des Teams über Build-Status und Alerts
SMTP für die E-Mail-Benachrichtigungen.
Die durchgeführten Arbeiten trugen zur Optimierung der Cloud-Infrastruktur bei, verbesserten die Effizienz der CI/CD-Prozesse und stellten eine effektive Überwachung und Benachrichtigung über den Status der Builds sicher.
Amazon Web Services (AWS)Google Cloud Platform (GCP)Google Cloud BuildGolangSlackKubernetesCircleCIGithub Actions
Ausführung von DevOps-Aufgaben für eine Logistik-Plattform auf der Google Cloud Platform (GCP). Die Tätigkeiten umfassten die Arbeit mit GCP-Diensten wie GKE, Service Accounts und Google Cloud Build
Einsatz und Konfiguration von CircleCI zur Automatisierung der Build-, Test- und Deployment-Prozesse
Als Ansprechpartner für Kubernetes-Themen war ich verantwortlich für die Beratung des Teams, die Problemlösung und die strategische Planung im Kontext der Kubernetes-Nutzung. Vor allem auch bei Problemen mit internen Microservices, war ich zuständig
Einführung von Gloo als API-Gateway-Lösung für die Kubernetes-Umgebung. Gloo verbessert das Routing, die Sicherheit und die Features für Entwickler bei der Arbeit mit Microservices und Serverless-Anwendungen.
Durchführung von internen Docker-Workshops, um das Wissen und die Fähigkeiten des Teams in Bezug auf Docker-Technologien und Best Practices zu verbessern.
Erstellen einer Entwicklerfreundlichen Schnittstelle
DevOps EngineerPulumiTerraformCircleCI...
DevOps Engineer
Erstellen einer Entwickler-freundlichen Schnittstelle zum Deployment von Microservices auf Basis von Pulumi zur Infrastrukturverwaltung
Durchführung einer umfassenden Optimierung von CI Pipelines, mit dem Ziel, den Build- und Deployment-Prozess in wiederverwendbare CircleCI Orbs zu gliedern
Einführung und Administration von Pulumi zur Verwaltung der Infrastruktur as Code (IaC). Pulumi wurde eingesetzt, um Terraform abzulösen und eine stabilere und entwicklerfreundliche Infrastrukturverwaltung zu ermöglichen
Implementierung einer flexibleren Logik in den CI Pipelines, um eine bessere Anpassungsfähigkeit an verändernde Anforderungen und Bedingungen zu gewährleisten
Entwicklung eines Automatisierungssystems zur Konfiguration von Ingress in Kubernetes. Dies beinhaltete die automatisierte Generierung von Endpoints für neue Services, was den Prozess der Service-Integration und -bereitstellung erheblich vereinfachte
Entwicklung und Wartung einer JavaScript (JS) Schnittstelle zur Deployment-Konfiguration. Dies beinhaltete die Implementierung neuer Features und die Verbesserung der Benutzerfreundlichkeit
Die durchgeführten Arbeiten führten zu einer erheblichen Verbesserung der Effizienz und Flexibilität der CI Pipelines und der Infrastrukturverwaltung. Darüber hinaus wurde die Verwaltung und Bereitstellung von Services in der Kubernetes-Umgebung durch die Automatisierung von Ingress-Konfigurationen erleichtert.
PulumiTerraformCircleCIJavaScriptBashKubernetes
Logistik
5 Monate
2019-10 - 2020-02
Entwicklung von Cloud-Provider-unabhängigen und entwicklerfreundlichen Systemen
Entwicklung von Cloud-Provider-unabhängigen und entwicklerfreundlichen Systemen. Dies umfasste Infrastruktur und Bibliotheken, die dazu dienten, Microservices effizient und zuverlässig zu deployen.
Anwendung von Pulumi für die Infrastruktur als Code (IaC). Mit Pulumi wurden dynamische, wiederholbare und sichere Infrastrukturen geschaffen, die sowohl auf AWS als auch auf GCP (insbesondere GKE) eingesetzt werden konnten.
Einsatz und Konfiguration von CircleCI zur Automatisierung der Build-, Test- und Deployment-Prozesse. Dies half dabei, eine schnelle und zuverlässige Bereitstellung von Microservices zu gewährleisten.
Die Arbeiten trugen dazu bei, die Unabhängigkeit von bestimmten Cloud-Providern zu erhöhen und eine effiziente, zuverlässige und entwicklerfreundliche Umgebung für die Bereitstellung von Microservices zu schaffen.
AWSCircleCIGCP (insbesondere GKE)Pulumi
Logistik
4 Monate
2019-06 - 2019-09
Automatisierung von Geschäftsprozessen durch Backend-Entwicklung
Software EngineerJSONNode.jsREST API
Software Engineer
Automatisierung von Geschäftsprozessen durch Backend-Entwicklung
Als Backend-Entwickler verantwortlich für die Automatisierung von Geschäftsprozessen, wie zum Beispiel das Umstellen von Kundenplänen auf neue Versionen von Produkten. Dies führte zu einer effizienteren und fehlerfreien Durchführung von Routineaufgaben.
Implementierung von Funktionen zur Verarbeitung und Übermittlung von JSON-Daten an eine REST API. Dies ermöglichte eine zuverlässige und effiziente Datenkommunikation zwischen verschiedenen Systemen und Services.
Entwicklung von Routinen zur Transformation von JSON-Dateien. Diese Routinen ermöglichten es, die Struktur der JSON-Daten anzupassen, um sie für verschiedene Anwendungen und Prozesse nutzbar zu machen.
Einsatz von Node.js für die Backend-Entwicklung. Mit Node.js und JavaScript/ TypeScript wurden Services mit leichter Wartbarkeit entwickelt, die eine schnelle und zuverlässige Datenverarbeitung und -kommunikation ermöglichten. Der Stack wurde gewählt, weil hier JSON hervorragend integriert werden kann, und möglichst viele Entwickler potenziell den Code übernehmen können durch weit verbreitete JavaScript Kenntnisse.
Die durchgeführten Arbeiten verbesserten die Effizienz und Zuverlässigkeit der Geschäftsprozesse.
JSONNode.jsREST API
Logistik
1 Jahr 2 Monate
2018-04 - 2019-05
Entwicklung einer flexibel konfigurierbaren Landing Page
Entwicklung einer flexibel konfigurierbaren Landing Page, und anpassbaren Graphen für statische Auswertungen für ein ERP System
Import und Export von tabellarischen Daten aus und in das System zu ermöglichen
Datenverarbeitung in Kotlin und PostgreSQL implementiert
Entwicklung einer anpassbaren Landingpage mit komplexen Widgets
Modelliert durch objektorientierte Strukturen im Backend, Frontend und Datenbank
Besondere Herausforderungen waren das Serializieren/ Deserializieren von JSON, und das effiziente Speichern in der PostgreSQL Datenbank
Entwickeln und Implementieren von Lösungen, um Systemdaten nach Kundenwunsch in bestimmte Formen zu bringen
Entwickeln von einer Lösung, um diese Daten grafisch aufzuwerten.
Die durchgeführten Arbeiten verfügte das System über import/export Schnittstellen zu Exceldaten, war in der Lage aus Systemdaten interaktive Grafiken zu entwickeln, und bot die Möglichkeit, dem Kunden ein stark anpassbares System entgegenzubringen.
JavaScriptChartJSKotlinPostgreSQL
Logistik/ Finanzen
1 Jahr 1 Monat
2017-04 - 2018-04
Entwicklung einer Auftrags- und Angebotsverwaltung in ERP-Software
Entwicklung einer Auftrags- und Angebotsverwaltung in ERP-Software für die Verwaltung von Lagerbeständen, Finanzen usw. in Java
Ich war als Fullstack-Entwickler verantwortlich für die Entwicklung der Backend- und Frontend-Komponenten der Software.
Backend-Entwicklung mit Kotlin und dem Spring Framework, um robuste und performante Services zu erstellen.
Frontend-Entwicklung mit JavaScript und Vue.js, sowie der Verwendung von Jade/ Pug für die Template-Erstellung
Hosting der Anwendung auf der Amazon Web Services (AWS)-Plattform.
Verwendung verschiedener AWS-Services wie Elastic Compute Cloud (EC2) für die Bereitstellung von virtuellen Maschinen und AWS RDS für die Datenbank.
Scrum und Kanban basiertes arbeiten mit Gitlab
Datenbank: Verwendung von PostgreSQL für die Speicherung der Daten.
Die durchgeführten Arbeiten trugen zur Entwicklung einer umfassenden ERP-Software bei, die effiziente Lagerbestandsverwaltung, Finanzfunktionen und mehr ermöglicht.
Im Zuge der Migration zur Azure Cloud wird die automatische Verarbeitung von Schadensanträgen neu entwickelt. Ziel ist es, fehlertolerante, redundante und skalierbare Prozesse bereitzustellen unter einhaltung von Regulatorischen Anforderungen und Dokumentation der Einhaltung.
Senior Software Engineer / DevOps Engineer
Programmierung und Weiterentwicklung Java Services auf Basis von Camunda, Spring Boot mit Tomcat oder auch JakartaEE
Weiterentwickeln von Microservice Frontends mit Typescript und Angular
Entwicklung im Kontext einer dezentralen Data Mesh Architektur
Schreiben von VAIT Dokumentation um einhaltung von regulatorischen Anforderungen nachzuweisen
Containerisierung mit Docker und Cloud Migration diverser Anwendung
Bereitstellung von Infrastruktur durch Kubernetes, ArgoCD und Terraform
Persistierungslayer realisiert durch Datenbank Aurora PostgresQL
Abhängigkeitsverwaltung mittels Maven und npm (pnpm)
Implementierung von OAuth2 Authentifizierung und Autorisierung mit EntraID
Einsatz von OpenAPI um eine dokumentierte API bereitzustellen
Testing mit JUnit und Mockito und Wiremock
Nutzung von Azure Service Bus Queues um Anwendungsschritte zu entkoppeln
Arbeiten in agilen SCRUM-Teams und Koordination durch JIRA, um eine agile und effiziente Projektumsetzung zu gewährleisten.
Zusammenarbeit und Koordination mit mehreren Projektteams
Continuous Delivery und Integration (CI/CD) der Anwendung durch Azure DevOps Pipelines
Umsetzung der Projektanforderungen gemäß KRITIS-Standards im ITIL Modell
Implementierung von umfangreichem Monitoring, Alerts und Health-Checks mit Prometheus, Grafana und Spring Boot Actuator
Explorative Arbeit LLMs (Copilot, Gemma4:eb) einzubinden in Review Pipelines
JavaCamundaTomcatJakartaEETypeScriptAngular (1721)
KubernetesTerraform
Azure PostgreSQLAzure Service BusDockerEntra ID
MavenSpring BootJUnitMockitoWiremockActuatornpmpnpm
Azure DevOpsPrometheusGrafanaArgoCD
JIRASCRUMITILKRITISLLMs (Github CopilotGemma4)
Data Mesh Architektur
Versicherung
1 Jahr 4 Monate
2023-09 - 2024-12
Compliance-fokussierte Portalentwicklung für die Bundescloud-Infrastruktur
JavaKotlinPython...
Project Overview
Entwicklung einer zentralen und sicherheitskritischen Komponente der Bundescloud. Der Fokus lag auf der Programmierung einer zertifizierbaren Architektur gemäß strengen KRITIS-Vorgaben und regulatorischen Anforderungen sowie der fachlichen Begleitung des gesamten Zertifizierungsprozesses, um die volle Compliance und Einsatzfähigkeit für Behörden sicherzustellen.
Senior Devops Engineer
Programmierung und Weiterentwicklung einer Bestellkonsole in Java+Kotlin und Spring Boot mit Tomcat zur Optimierung der Bestellprozesse
Arbeit an Zertifizierungsprozessen um einhaltung von regulatorischen Anforderungen nachzuweisen
Persistierung-Layer realisiert durch Datenbank MariaDB
Erstellung und Verwaltung der Applikation mittels Maven, um konsistente Builds und eine einfache Verwaltung von Abhängigkeiten zu gewährleisten
Aufsetzen und Konfigurieren von Linux-Umgebungen mittels Ansible, um eine skalierbare und wiederholbare Infrastruktur bereitzustellen
Entwicklung einer API-First-Strategie zur Sicherstellung, dass alle Schnittstellen zuerst als API spezifiziert und implementiert werden.
Einsatz von OpenAPI für die API-First-Entwicklung, um eine standardisierte und dokumentierte API bereitzustellen.
Software Testing mit JUnit und Wiremock, um die Qualität und Zuverlässigkeit der Anwendung sicherzustellen.
Arbeiten in SCRUM-Teams und Koordination durch JIRA, um eine agile und effiziente Projektumsetzung zu gewährleisten.
Zusammenarbeit und Koordination mit mehreren Projektteams zur Synchronisation der Entwicklungsaktivitäten und zur Sicherstellung der Projektziele.
Deployment der Anwendung innerhalb von RHEL Linux, um eine stabile und sichere Produktionsumgebung zu nutzen.
Nutzen eines intern verwalteten RabbitMQ zur Kommunikation mit asynchronen Systemen.
Umsetzung der Projektanforderungen gemäß KRITIS-Standards im ITIL Modell
Einsatz von Podman als Containerlösung zur Isolierung und Verwaltung der Anwendungsprozesse
Implementierung von umfangreichem Monitoring und Health-Checks mit Prometheus und Spring Boot Actuator zur Überwachung der Systemgesundheit und zur frühzeitigen Erkennung von Problemen
Scripting von Automatisierungen in Python und Bash, um wiederkehrende Aufgaben zu automatisieren und die Effizienz zu steigern.
Hilfsservices für den Betrieb realisiert mit Python+FastAPI
Wartung und Optimierung von CI-Pipelines in Gitlab CI und Jenkins, um kontinuierliche Integration und Auslieferung sicherzustellen und die Entwicklungsprozesse zu beschleunigen
Entwicklung im ITIL Modell
Explorative Arbeit, um mit selbstgehosteten LLMs (LLama) erarbeiten von Zertifizierungen und Dokumentation zu unterstützen
Implementierung einer In-Memory-optimierten Big-Data-Architektur, die durch effiziente Kompressionsalgorithmen das Einlesen und den Zugriff auf großvolumige Datensätze signifikant beschleunigt.
Senior Software Engineer
Schreiben einer Linux-Software in Kotlin zum Arbeiten und Querying von Big Data Lakes
Ausrollen der Software auf Amazon Elastic Container Service (AWS ECS) mittels Terraform, Amazon Simple Storage Service (AWS S3) und Amazon CloudWatch
CI/CD Pipelines durch GitLab CI. Implementiert in bash mit dem AWS CLI, mit Testing, Building und Deployment Stages
Schnittstelle und Integration mit Services, die auf Kubernetes gehostet sind
Anpassen der Services
Deployment und Updates in Tanzu Application Platform Umgebung
Konzeption und Bauen eines zugeschnittenen Linux-Images mittels Docker. Mittels Multistage Dockerfiles konnte ein minimal kleines Image erstellt werden, das plattformunabhängig mit Docker gebaut werden konnte.
Eigens entwickelte Testing Strategie mit Kotlin und S3, um die Software zu benchmarken.
Monitoring mittels Prometheus-Integration
Bei der Umsetzung wurde jeweils auch die englischsprachige Produktdokumentation genutzt
Die Arbeit trug dazu bei, effizienter und mit minimaler Latenz riesige Data Lakes verwalten zu können.
Koordination mit Jira, GitLab und Scrum + Kanban basierter Arbeitsweise.
Caching implemented ElastiCache MemCached
Agile Umsetzung des Projektes auf Basis Scrum
scrumAtlassian JIRA
Kotlin
JenkinsTerraformDockerDockerfileGitLabGitLab CiPrometheusTanzu
Amazon Elastic Container Service (AWS ECS)Amazon Simple Storage Service (AWS S3)Amazon CloudWatchAWS CLIElastiCacheMemCached
LinuxJiraScrumKanban
Einführung von standardisierten Prozessen zur Veröffentlichung privater Bibliotheken und Modernisierung des Frontend-Codes
Konzeption und Implementierung von standardisierten Möglichkeiten zur Veröffentlichung privater Bibliotheken. Diese beinhaltete die Erstellung von Projekt-Templates mit dedizierten CI-Pipelines in Github Actions, was die Konsistenz und Qualität der veröffentlichten Bibliotheken gewährleistete.
Ziel der Aktivitäten war es, das Frontend zunehmend aufzusplitten und den Code in Teilen zu modernisieren, um die Anwendungsleistung zu verbessern und die Pflege zu vereinfachen.
Als Build-System wurde Webpack gewählt, um eine breite gefächerte Menge an gewünschten Technologien (React, Cypress, Cypress-React-Integration, Jest, TypeScript, Storybook) gleichzeitig verwenden zu können.
Einrichtung von Lösungen für private Bibliotheken, einschließlich der Einrichtung von CI-Pipelines zur Veröffentlichung in npm-Repos. Dies ermöglichte eine reibungslose Integration und Aktualisierung von privaten Bibliotheken in verschiedenen Projekten.
Entwicklung von Programmen zur automatischen Generierung von Release Notes projektweit. Diese Programme zogen Informationen aus erfolgreich gemergten Pull Requests und nutzten die GitHub API und Git zur vollständigen Automatisierung des Prozesses.
Nutzung von Github Actions zur Automatisierung von Build-, Test- und Deployment- Aufgaben, wodurch die Effizienz des Entwicklungsprozesses verbessert wurde.
Diese Arbeiten trugen zur Modernisierung des Frontends bei, verbesserten die Qualität und Konsistenz der veröffentlichten privaten Bibliotheken und erleichterten die Pflege und Aktualisierung der Anwendung.
Optimierung und Kostenanalyse der Google Cloud Platform (GCP) Infrastruktur
DevOps EngineerKubernetesKubecost
DevOps Engineer
Optimierung und Kostenanalyse der Google Cloud Plattform (GCP) Infrastruktur
Als DevOps und Cloud-Spezialist, war ich mit der Aufgabe betraut, eine detaillierte Kostenanalyse der Google Cloud Plattform (GCP) Ressourcen durchzuführen. Ziel war es, eine vollständige Transparenz über die Cloud-Ausgaben und die Auslastung der genutzten Ressourcen zu erhalten.
Ich erstellte eine Auslastungsanalyse der gebuchten Ressourcen, um einen Überblick über den aktuellen Ressourcenverbrauch und Möglichkeiten zur Optimierung zu gewinnen
Aufsetzen von Kubecost, einem führenden Tool zur Kostenüberwachung und -optimierung in Kubernetes-Umgebungen. Kubecost ermöglichte die Echtzeit-Kostenverfolgung und half dabei, die Ausgaben effektiv zu kontrollieren.
Die Implementierung dieser Tools und Verfahren trug zur Optimierung der Cloud-Ausgaben bei, erhöhte die Effizienz der genutzten Ressourcen und verbesserte die Transparenz und Kontrolle über die Cloud-Kosten.
KubernetesKubecost
Logistik
7 Monate
2021-01 - 2021-07
Entwicklung und Implementierung eines Services für End-to-End- und Regressionstests
Entwicklung und Implementierung eines Services für End-to-End- und Regressionstests gegen das Frontend, mit erweiterter Infrastruktur und Integration von Drittanbieter-APIs
Als DevOps-Spezialist und Frontend-Entwickler war ich für die Einrichtung und Bereitstellung der Infrastruktur für das Frontend auf der Basis von Google Kubernetes Engine (GKE) zuständig
Implementierung und Verwaltung von CI/CD-Prozessen mit CircleCI und Google Cloud Build zur Automatisierung von Build-, Test- und Deploy-Phasen des Frontends
Entwicklung einer Regressionstest-Lösung für das Frontend, um die Qualität und Stabilität der Anwendung 24/7 zu überprüfen und gewährleisten. Das Programm basierte auf Cypress und wurde in Golang geschrieben. Die Arbeit umfasste das Schreiben von automatisierten Testskripten und die Integration der Applikation in den CI/CD-Prozess, um End-to-End-Tests bereits vor dem Deployment des Frontends durchführen zu können.
Einsatz von Prometheus zur Überwachung der Testlösung an sich, und als Proxy, um die Testergebnisse zu überwachen
Wartung und Konfiguration von Grafana-Dashboards zur Visualisierung der von Prometheus erfassten Metriken. Dadurch wurden Leistungs-Engpässe und Systemfehler schnell identifiziert und behoben, da das Frontend eine Schnittstelle in die gesamte unterliegende Backend-Infrastruktur ist
Integration der Mail- und Slack-APIs zur Verbesserung der Kommunikation und Zusammenarbeit im Team. Dies umfasste das Senden automatisierter Benachrichtigungen über Systemereignisse und -updates aus den im Backend laufenden Test-Services
Entwicklung und Wartung von SLA-relevanten Services
DevOps EngineerGolangPythonKubernetes...
DevOps Engineer
Entwicklung und Wartung von SLA-relevanten Services im Kontext einer Microservices-Architektur. Diese Services lesen Daten aus verschiedenen Quellen, führen statistische Auswertungen durch und senden diese periodisch an Kunden. Hierbei wurden Golang (Go) und ElasticSearch für die Datenverarbeitung und -analyse, sowie Python und Matplotlib für die Erstellung von Diagrammen und Visualisierungen eingesetzt.
Ein besonderer Schwerpunkt lag auf der Generierung von PDF-Dokumenten in Golang, welche die Ergebnisse der statistischen Auswertungen in einem benutzerfreundlichen Format präsentieren.
Es wurde eine robuste Lösung für die Kundendatenanalyse und -kommunikation realisiert
Migration von Amazon Web Services (AWS) zu Google Cloud Platfrom (GCP) und Umsetzung eines alert-basierten Überwachungssystems
Durchführung einer umfassenden Migration von Amazon Web Services (AWS) zu Google Cloud Platform (GCP), einschließlich Anwendungen, Daten und Infrastruktur. Ziel war es, die Vorteile der GCP und vor allem Kubernetes zu nutzen
Migration von CircleCI zu Google Cloud Build (und zum Teil Github Actions) für CI/CD-Prozesse. Dies beinhaltete das Anpassen und Umbauen der existierenden Pipelines, um den nahtlosen Übergang zu gewährleisten
Implementierung eines Services in Golang zur Generierung von Alerts aus Google Cloud Build. Dieser Service nutzt:
Die Cloud Build API zur Erfassung von Build-Informationen und Status
Die Slack API zur Benachrichtigung des Teams über Build-Status und Alerts
SMTP für die E-Mail-Benachrichtigungen.
Die durchgeführten Arbeiten trugen zur Optimierung der Cloud-Infrastruktur bei, verbesserten die Effizienz der CI/CD-Prozesse und stellten eine effektive Überwachung und Benachrichtigung über den Status der Builds sicher.
Amazon Web Services (AWS)Google Cloud Platform (GCP)Google Cloud BuildGolangSlackKubernetesCircleCIGithub Actions
Ausführung von DevOps-Aufgaben für eine Logistik-Plattform auf der Google Cloud Platform (GCP). Die Tätigkeiten umfassten die Arbeit mit GCP-Diensten wie GKE, Service Accounts und Google Cloud Build
Einsatz und Konfiguration von CircleCI zur Automatisierung der Build-, Test- und Deployment-Prozesse
Als Ansprechpartner für Kubernetes-Themen war ich verantwortlich für die Beratung des Teams, die Problemlösung und die strategische Planung im Kontext der Kubernetes-Nutzung. Vor allem auch bei Problemen mit internen Microservices, war ich zuständig
Einführung von Gloo als API-Gateway-Lösung für die Kubernetes-Umgebung. Gloo verbessert das Routing, die Sicherheit und die Features für Entwickler bei der Arbeit mit Microservices und Serverless-Anwendungen.
Durchführung von internen Docker-Workshops, um das Wissen und die Fähigkeiten des Teams in Bezug auf Docker-Technologien und Best Practices zu verbessern.
Erstellen einer Entwicklerfreundlichen Schnittstelle
DevOps EngineerPulumiTerraformCircleCI...
DevOps Engineer
Erstellen einer Entwickler-freundlichen Schnittstelle zum Deployment von Microservices auf Basis von Pulumi zur Infrastrukturverwaltung
Durchführung einer umfassenden Optimierung von CI Pipelines, mit dem Ziel, den Build- und Deployment-Prozess in wiederverwendbare CircleCI Orbs zu gliedern
Einführung und Administration von Pulumi zur Verwaltung der Infrastruktur as Code (IaC). Pulumi wurde eingesetzt, um Terraform abzulösen und eine stabilere und entwicklerfreundliche Infrastrukturverwaltung zu ermöglichen
Implementierung einer flexibleren Logik in den CI Pipelines, um eine bessere Anpassungsfähigkeit an verändernde Anforderungen und Bedingungen zu gewährleisten
Entwicklung eines Automatisierungssystems zur Konfiguration von Ingress in Kubernetes. Dies beinhaltete die automatisierte Generierung von Endpoints für neue Services, was den Prozess der Service-Integration und -bereitstellung erheblich vereinfachte
Entwicklung und Wartung einer JavaScript (JS) Schnittstelle zur Deployment-Konfiguration. Dies beinhaltete die Implementierung neuer Features und die Verbesserung der Benutzerfreundlichkeit
Die durchgeführten Arbeiten führten zu einer erheblichen Verbesserung der Effizienz und Flexibilität der CI Pipelines und der Infrastrukturverwaltung. Darüber hinaus wurde die Verwaltung und Bereitstellung von Services in der Kubernetes-Umgebung durch die Automatisierung von Ingress-Konfigurationen erleichtert.
PulumiTerraformCircleCIJavaScriptBashKubernetes
Logistik
5 Monate
2019-10 - 2020-02
Entwicklung von Cloud-Provider-unabhängigen und entwicklerfreundlichen Systemen
Entwicklung von Cloud-Provider-unabhängigen und entwicklerfreundlichen Systemen. Dies umfasste Infrastruktur und Bibliotheken, die dazu dienten, Microservices effizient und zuverlässig zu deployen.
Anwendung von Pulumi für die Infrastruktur als Code (IaC). Mit Pulumi wurden dynamische, wiederholbare und sichere Infrastrukturen geschaffen, die sowohl auf AWS als auch auf GCP (insbesondere GKE) eingesetzt werden konnten.
Einsatz und Konfiguration von CircleCI zur Automatisierung der Build-, Test- und Deployment-Prozesse. Dies half dabei, eine schnelle und zuverlässige Bereitstellung von Microservices zu gewährleisten.
Die Arbeiten trugen dazu bei, die Unabhängigkeit von bestimmten Cloud-Providern zu erhöhen und eine effiziente, zuverlässige und entwicklerfreundliche Umgebung für die Bereitstellung von Microservices zu schaffen.
AWSCircleCIGCP (insbesondere GKE)Pulumi
Logistik
4 Monate
2019-06 - 2019-09
Automatisierung von Geschäftsprozessen durch Backend-Entwicklung
Software EngineerJSONNode.jsREST API
Software Engineer
Automatisierung von Geschäftsprozessen durch Backend-Entwicklung
Als Backend-Entwickler verantwortlich für die Automatisierung von Geschäftsprozessen, wie zum Beispiel das Umstellen von Kundenplänen auf neue Versionen von Produkten. Dies führte zu einer effizienteren und fehlerfreien Durchführung von Routineaufgaben.
Implementierung von Funktionen zur Verarbeitung und Übermittlung von JSON-Daten an eine REST API. Dies ermöglichte eine zuverlässige und effiziente Datenkommunikation zwischen verschiedenen Systemen und Services.
Entwicklung von Routinen zur Transformation von JSON-Dateien. Diese Routinen ermöglichten es, die Struktur der JSON-Daten anzupassen, um sie für verschiedene Anwendungen und Prozesse nutzbar zu machen.
Einsatz von Node.js für die Backend-Entwicklung. Mit Node.js und JavaScript/ TypeScript wurden Services mit leichter Wartbarkeit entwickelt, die eine schnelle und zuverlässige Datenverarbeitung und -kommunikation ermöglichten. Der Stack wurde gewählt, weil hier JSON hervorragend integriert werden kann, und möglichst viele Entwickler potenziell den Code übernehmen können durch weit verbreitete JavaScript Kenntnisse.
Die durchgeführten Arbeiten verbesserten die Effizienz und Zuverlässigkeit der Geschäftsprozesse.
JSONNode.jsREST API
Logistik
1 Jahr 2 Monate
2018-04 - 2019-05
Entwicklung einer flexibel konfigurierbaren Landing Page
Entwicklung einer flexibel konfigurierbaren Landing Page, und anpassbaren Graphen für statische Auswertungen für ein ERP System
Import und Export von tabellarischen Daten aus und in das System zu ermöglichen
Datenverarbeitung in Kotlin und PostgreSQL implementiert
Entwicklung einer anpassbaren Landingpage mit komplexen Widgets
Modelliert durch objektorientierte Strukturen im Backend, Frontend und Datenbank
Besondere Herausforderungen waren das Serializieren/ Deserializieren von JSON, und das effiziente Speichern in der PostgreSQL Datenbank
Entwickeln und Implementieren von Lösungen, um Systemdaten nach Kundenwunsch in bestimmte Formen zu bringen
Entwickeln von einer Lösung, um diese Daten grafisch aufzuwerten.
Die durchgeführten Arbeiten verfügte das System über import/export Schnittstellen zu Exceldaten, war in der Lage aus Systemdaten interaktive Grafiken zu entwickeln, und bot die Möglichkeit, dem Kunden ein stark anpassbares System entgegenzubringen.
JavaScriptChartJSKotlinPostgreSQL
Logistik/ Finanzen
1 Jahr 1 Monat
2017-04 - 2018-04
Entwicklung einer Auftrags- und Angebotsverwaltung in ERP-Software
Entwicklung einer Auftrags- und Angebotsverwaltung in ERP-Software für die Verwaltung von Lagerbeständen, Finanzen usw. in Java
Ich war als Fullstack-Entwickler verantwortlich für die Entwicklung der Backend- und Frontend-Komponenten der Software.
Backend-Entwicklung mit Kotlin und dem Spring Framework, um robuste und performante Services zu erstellen.
Frontend-Entwicklung mit JavaScript und Vue.js, sowie der Verwendung von Jade/ Pug für die Template-Erstellung
Hosting der Anwendung auf der Amazon Web Services (AWS)-Plattform.
Verwendung verschiedener AWS-Services wie Elastic Compute Cloud (EC2) für die Bereitstellung von virtuellen Maschinen und AWS RDS für die Datenbank.
Scrum und Kanban basiertes arbeiten mit Gitlab
Datenbank: Verwendung von PostgreSQL für die Speicherung der Daten.
Die durchgeführten Arbeiten trugen zur Entwicklung einer umfassenden ERP-Software bei, die effiziente Lagerbestandsverwaltung, Finanzfunktionen und mehr ermöglicht.