englisch

Softwaredesign

Einer meiner Hauptschwerpunkte liegt auf objektorientiertem Design mit Entwurfsmustern. Bei der Entwicklung von Toll Enforcement Gantry, ProCell, Lynx entwarf ich für große Software-Systeme (> 100.000 Codezeilen) Module, Komponente, sowie einzelne Klassen. Für Projekte SMIL Player und WINGS-FOR-SHIPS definierte ich auch die gesamte Softwarearchitektur.

Schwerpunkte

Erfahrung

Zur anspruchsvollen Software, die ich entworfen und implementiert habe, zahlen unter anderen ein Kommunikations-Protokoll-Stack, eine Middleware zur Online-Transactions-Processing, ein multithreaded Execution-Engine, komplexe Scheduling-Ablauflogik sowie GUIs. Anforderungen wie Threadsicherheit, Erweiterbarkeit, Echtzeit-Performance, Datensicherheit, Benutzerfreundlichkeit, Testbarkeit, Rückwärtskompatibilität, Verfügbarkeit auf 24/7-Basis standen dabei stets im Fokus.

Bei Neuerstellung von Softwarekomponenten verbracht ich einen Großteil der Projektzeit mit ständigem Refactoring, indem ich die Softwarestruktur häufig verfeinerte und womöglich Design-Patterns verwendete. Dadurch zeichnete sich die Software durch ein robustes und flexibles Design aus. Häufig sah ich die Möglichkeit konkrete Lösungen zu verallgemeinern um generische Frameworks zu etablieren. So hatte ich das eigenständige Java-Framework TDM gestaltet. Einsatz von Software-Frameworks ist für mich immer von großem Interesse gewesen.

Bei der Weiterentwicklung der bestehenden Systeme setzte ich Methoden der agilen Softwareentwicklung ebenso aktiv ein. Ich versuche den Code, unterliegende Datenstrukturen und Schnittstellen soweit zu verbessern bis sie auf bewährtem Know-How basieren und verständlicher sind.