Projekte mit dem Einsatz von Design Pattern

Um alle Projekte zu sehen, entfernen Sie den Filter

PaedNet (Teil des Schulportal Hessen)

Zeitraum: 09/2024 – 03/2026
Rolle: Softwareentwickler
Auftraggeber: Lehrkräfteakademie Hessen
Teamgröße: 10
Personentage: 380

PaedNet kommt innerhalb des lokalen Schulnetzwerkes zum Einsatz. Es dient der Administration der Computer im Computerraum und der Steuerung unterrichtlicher Szenarien mit schuleigenen Geräten. Die Software ermöglicht unter anderem die zentrale Steuerung von Rechnern im Fachraum (Monitorsperre, Internetsperre), die automatisierte Verteilung und das Einsammeln von Dateien, die Installation und Aktualisierung von Software auf allen Schulrechnern sowie die Generierung standardisierter Code-Abschnitte mit AI.

Eigene Leistungen im Projekt::
  • Architekturneuentwurf für bestehende Software
  • Modernisierung von bestehender Software
  • Coderefactoring mit Fokussierung auf Wartbarkeit
  • Einführung aktueller Standards (Logging, Dependency Injection)
  • Schulung in den Best Practices der Standards
  • Etablierung von automatischen Tests
  • Vermittlung agiler Konzepte (Anforderungsverfeinerung, regelmäßige Reviews)
  • Beratung und Konzeption von pragmatischen Lösungsansätzen zur Reduzierung technischer Komplexität

cLean – Inkassosoftware

Zeitraum: 03/2020 – 04/2023
Rolle: Softwareentwickler
Auftraggeber: Lowell
Teamgröße: 3
Personentage: 280

Lowell verfolgte mit dem Projekt cLean den Aufbau einer einheitlichen Inkassosoftware für alle Unternehmen. Dabei sollten alle Forderungen der DACH-Organisation in einem hochverfügbaren System möglichst automatisiert verarbeitet werden. Ein Hauptaugenmerk war dabei die mögliche Skalierung des Systems zu bestimmen Zeiten, in denen viele Forderungen importiert werden mussten. C# war die primäre Programmiersprache aber einzelne Services wurden mit Kotlin und Go umgesetzt.

Eigene Leistungen im Projekt::
  • Architektur des Microservices-Systems
  • Schneiden der Services nach den Domänen der Fachlichkeit (DDD)
  • Schneiden der Daten in Aggregate
  • Konzept und Entwurf eines sowohl menschen- als auch computerlesbaren Aktenzeichens
  • Konzept einer unveränderbaren Buchhaltung mit Event Sourcing
  • Konzept und Implementierung der Buchhaltungskomponente unter Einhaltung der fachlichen Regeln
  • Recherche der Verrechnungslogik in Deutschland und Österreich
  • Implementierung der Fachlogik
  • Realisierung von Suchanfragen über verteilte Systeme (separater Service mittels CQRS)
  • Teamübergreifendes Coaching, Schulungen und Hilfestellungen

Zentraler Dateiservice

Zeitraum: 03/2020 – 06/2023
Rolle: Softwareentwickler
Auftraggeber: Lowell
Teamgröße: 3
Personentage: 20

Lowell verarbeitet viele Dokumente. Dies sind eingescannte Briefe, rechtliche Dokumente, Nachweise von Forderungen und Dateien von Konsumenten. Ziel des Projekts war es, einen zentralen Dateiservice bereitzustellen, der große Mengen an unstrukturierten Dokumenten revisionssicher speichern und bereitstellen kann.

Eigene Leistungen im Projekt::
  • Konzept und Erstellung des Fileservice und Entscheiden wie wir die Metadaten speichern
  • Konzept der gRPC-API
  • Upload und Download Funktion im Gateway zum Konsumentenportal
  • Erweiterung des Fileservice um Mime-Type (für den Download notwendig)

API-First

Zeitraum: 03/2020 – 06/2023
Rolle: Softwareentwickler
Auftraggeber: Lowell
Teamgröße: 3
Personentage: 120

Lowell verfolgt eine API-First Strategie. Ziel war es, die API auch außenstehenden Prozessen zur Verfügung zu stellen. Deswegen wurde eine zentrale API vollautomatisch bereitgestellt und von allen Services genutzt. Die API unterliegt strengen Richtlinien an Design und Abwärts- und/oder Aufwärtskompatibilität je nach Anwendungsfall.

Eigene Leistungen im Projekt::
  • Konzept und Erstellung eines zentralen API-First-Repositories auf Basis von Protobuf
  • Automatisierte Erzeugung von Release und Pre-Release Versionen für mehrere Programmiersprachen für die Optimierung der Entwicklungsgeschwindigkeit
  • Konzept einer API-Versionierung
  • Erstellen von APIs
  • Dokumentation der API
  • Review von APIs mit primärem Fokus auf Verständlichkeit, Dokumentation und Breaking Changes

Umzug eines On-Premise Kubernetes Clusters in die Azure Cloud

Zeitraum: 03/2020 – 09/2020
Rolle: Softwareentwickler
Auftraggeber: Lowell
Teamgröße: 3
Personentage: 120

Zunächst wurden die Services in einem On-Premise Kubernetes Cluster betrieben. Ziel des Projekts war, alle Services auf die Azure Cloud umziehen. Außerdem wurden Techniken und Cloudservice evaluiert, Hilfsklassen und Template für die zukünftige Entwicklung und eine CI/CD Pipeline erstellt.

Eigene Leistungen im Projekt::
  • Auswahl der zu nutzenden Cloud-Services in Absprache mit dem Architekten
  • Absprachen über zukünftige Autonomie der Entwicklerteams
  • Review bestehenden Code und daraus resultierender Best-Practices
  • Dokumentation des Transaction Outbox Pattern und Idempotenz, Aggregaten und anderen nützlichen Microservice Pattern
  • Hilfsklassen für die Zustellung und Empfang von Protobuf Business Events
  • Erstellung des CI-Teils der CI/CD Pipeline
  • Evaluierung und Implementierung von Azure Serverless
  • Aufsetzen der Infrastruktur unter Anwendung von InfrastructureAsCode (IaC)
  • Liveness-Check / Readiness-Check für Services in Kubernetes
  • Erstellung von Cronjobs in Kubernetes
  • Erstellung von C# Templates für die Erstellung neuer Services

Forderungsdaten für das Konsumentenportal

Zeitraum: 01/2020 – 06/2023
Rolle: Softwareentwickler
Auftraggeber: Lowell
Teamgröße: 4
Personentage: 50

Das Konsumentenportal von Lowell ist eine zentrale, digitale Service-Plattform für Personen, die offene Forderungen bei dem Inkassodienstleister haben. Lowell besteht aus mehreren Unternehmen, die sowohl organisatorisch als auch technisch voneinander getrennt sind. Dabei mussten mehrere verschiedene Inkassosoftware-Systemen auf eine API abgebildet werden.

Eigene Leistungen im Projekt::
  • Anbinden neuer Subunternehmen von Lowell
  • Anpassungen und Erweiterungen der Schnittstellen
  • Definition der API mit Fokus auf Kompatibilität
  • Testen der Schnittstelle lokal, im CI Build als auch in Produktion (teils nur halbautomatisiert)
  • Ausrollen der API mit Zero Downtime in einem Kubernetes Cluster
  • Analyse und Beheben von Fehlern in der Produktion
  • Reduzierung der Anzahl der Services, da die Microservices zu klein geschnitten waren
  • Behebung von Sicherheitslücken und Härtung der API-Schnittstellen nach Penetrationstests
  • Anleitung des Entwicklerteams um erkannte Schwachstellen nachhaltig zu vermeiden
  • Verteidigung der Systemarchitektur gegenüber externen Security-Auditoren

Schleupen.CS 3.0 – Architektur und Framework

Zeitraum: 04/2016 – 12/2019
Rolle: .NET-Entwickler
Auftraggeber: Schleupen SE
Teamgröße: 6
Personentage: 150

Die Schleupen.CS-Softwarelösung ist eine verteilte Software mit zahlreichen sowohl fachlichen als auch technischen Bausteinen mit dem Ziel, eine standardisierte sowie konfigurierbare Softwarelösung für die Energie- und Wasserwirtschaft für unterschiedliche Marktrollen bereit zu stellen. Das Team „Architektur und Framework" arbeitet dabei direkt mit dem Enterprise Architekten zusammen und kümmert sich um alle Querschnittsthemen des Backend. Die Aufgaben bestehen darin, für die über 100 Entwickler teamübergreifende Best-Practices, Design Patterns als auch ein Framework zu schaffen, so dass die Architektur möglichst einheitlich umgesetzt wird, trotz der vielen verschiedenen Applikationen.

Eigene Leistungen im Projekt::
  • Entwicklung sowie Konsolidierung der Anwendungsarchitektur
  • Reduzierung der Abhängigkeiten zwischen den Teams durch besseres Schneiden des Frameworks
  • Entwicklung von SOAP-Services für Plattform-Komponenten
  • Analyse, Entwurf und Programmierung einer neuen Deployment-Lösung auf Basis von Puppet
  • Schreiben und Automatisieren von CoffeeScript (Javascript-Dialekt) Unit-Tests

Legacy-Pub-Sub-Lösung

Zeitraum: 03/2018 – 08/2018
Rolle: Softwareentwickler
Auftraggeber: Schleupen SE
Teamgröße: 6
Personentage: 150

Um die gesetzlichen Vorgaben zu Smart Meter (intelligente Stromzähler) einzuhalten, war es notwendig eine Kommunikationslösung zwischen Schleupen.CS 2.0 und 3.0 herzustellen. Diese war in der initialen Architektur eigentlich ausgeschlossen worden, wurde aber fachlich notwendig.

Eigene Leistungen im Projekt::
  • Konzept einer asynchronen Kommunikation zwischen getrennten Systemen
  • Abbildung von Pub/Sub-Queues in einer Datenbank
  • Implementierung generischer Empfänger und Senderlösungen

Stabilisierung der asynchronen Kommunikation – Fachkomponenten

Zeitraum: 11/2017 – 01/2018
Rolle: Softwareentwickler
Auftraggeber: Schleupen SE
Teamgröße: 5
Personentage: 100

Wenn verteilte Systeme asynchron kommunizieren und dabei Nachrichten verloren gehen, ist es sehr schwer herauszufinden wo sie verloren gehen. Da das vorherige Projekt gezeigt hat, dass die Fehler nun nicht mehr in den Plattform-Komponenten lagen, war die Aufgabe des Teams, im Framework Lösungen bereitzustellen, um die Fachentwickler zu unterstützen.

Eigene Leistungen im Projekt::
  • Konzept und Implementierung des Transaction Outbox Pattern im Framework
  • Dokumentation des Transaction Outbox Pattern
  • Schulungen zu Idempotenz und Transaction Outbox Pattern

Stabilisierung der asynchronen Kommunikation – Plattform

Zeitraum: 07/2017 – 10/2017
Rolle: Softwareentwickler
Auftraggeber: Schleupen SE
Teamgröße: 5
Personentage: 100

Wenn verteilte Systeme asynchron kommunizieren und dabei Nachrichten verloren gehen, ist es sehr schwer herauszufinden wo sie verloren gehen. Die Aufgabe des Projekts war es, den bestehenden Code zu analysieren und dabei Schwachstellen in den Plattform-Komponenten zu entdecken und zu beheben. Außerdem wurden Lösungen entwickelt, um das Vertrauen der Tester und Entwickler in die Plattform-Komponenten zu erhöhen.

Eigene Leistungen im Projekt::
  • Konzept und Implementierung des Test Message Pattern