Schlagwörter
Skills
Mein zweites Standbein ist die abwechslungsreiche Tätigkeit als Trainer und Berater.
Seit Jahren führe ich als freier Dozent Seminare und Workshops für Softwareentwickler durch.
Ich habe viel Freude daran, mein Wissen und mein didaktisches Talent bei der Vorbereitung und Durchführung von anregenden und abwechslungsreichen Trainings und Kursen einzusetzen.
C# - für Fortgeschritten, verschiedene Themen
.NET MAUI - Cross-Plattform-Entwicklung mit C# und XAML
WPF - Grundlagen mit C# und XAML
WPF – Aufbau-Workshop, MVVM, DI, IoC, Community Toolkit, Prism Library
Windows Forms mit C#
Ich arbeite direkt für Industriekunden und für Anbieter von Schulungen und Seminaren.
Die Schulungen führe ich in deutscher und englischer Sprache durch.
Sie beinhalten abwechslungsreiche Präsentationen, viele Programmierbeispiele und praktische Übungen.
Projekthistorie
Neben der Projektarbeit führe ich seit mehreren Jahren als freier Dozent Seminare und Workshops für Softwareentwickler durch. Themen:
- WPF mit XAML und MVVM
- C# Grundlagen und für Fortgeschrittene
- .Net MAUI und Xamarin
Projekt:
Der User-Adoption-Dienst auf dem Desktop beantwortet fast alle Fragen der Mitarbeiter, die mit MS-Office Programmen arbeiten.
Tätigkeit:
Umfangreiche Anpassungen und Weiterentwicklungen des User Interface und der Hintergrundprozesse waren der Schwerpunkt meiner Arbeit. Agile Methoden in einem kleinen Team machten die Arbeit sehr effektiv.
Technik:
Visual Studio, C#, WPF, MVVM, Git / Gitlab, Jira
Projekt:
Der führende Anbieter von Lösungen für hochsichere Datenräume, bietet unter anderem eine Desktop-App als Schnittstelle zu den verwalteten Daten an.
Tätigkeit:
Das mit WPF-Technologie entwickelte User Interface wurde von mir in Teilen überarbeitet, um zukünftige Weiterentwicklungen zu ermöglichen. Weiterhin passte ich Teile des Outlook-Plugins an.
Technik:
Visual Studio, C#, WPF, MVVM, Git, Azure DevOps. TFS
Projekt:
Die Hörfähigkeit von Mitarbeitern muss jährlich getestet werden. Die Tests werden mit mobilen Audiometrie Geräten vor Ort durchgeführt. Die Ergebnisse werden lokal gespeichert und ermöglichen einen Vergleich mit früheren Werten.
Tätigkeit:
Um die Stabilität nach mehreren Erweiterungen des Geräts zu gewährleisten, wurde eine Überarbeitung der Software notwendig. Insbesondere der vermehrte Einsatz von Multi-Threading warf Probleme auf. Schwerpunkt des Refactorings betraf den Zugriff auf die SQL-Datenbank.
Technik:
Visual Studio, C#, Windows CE, SQLite
Projekt:
Analyse einer Desktop-Applikation und einer Mobile-Applikation und Erstellen eines Konzepts für die zukünftige Entwicklung des Systems.
Tätigkeit:
Seit vielen Jahren ist die Desktop-Applikation, ein C# Fat Client, mehr und mehr erweitert worden. Zusätzlich gibt es eine Xamarin-App für die Außendienstmitarbeiter mit Zugriff auf die gemeinsame SQL-Datenbank. Ich analysierte beide Programme und erarbeitete zusammen mit dem Entwicklerteam ein Konzept, um die Apps fit für die Zukunft zu machen.
Technik:
Visual Studio, C#, Windows Forms, DevExpress
Xamarin, SQL-Server, SQLite
Projekt:
GIS-Anwendungen dienen der Erfassung, Bearbeitung und Auswertung von Geodaten. Für die Netzdokumentation und Netzausbauplanung der Deutschen Bahn ist dieses System die zentrale Basis für technische Informationen zur Infrastruktur.
Tätigkeit:
Der Nutzer von gespeicherten GeoDaten sehr großer Netzwerke benötigt schnellen Zugriff und strukturierte Darstellungen, um seine Aufgabe erledigen zu können. Dazu entwickelte ich komplexe Datenbankabfragen und übersichtliche Dialoge mit sicherer Bedienerführung.
Technik:
Visual Studio, C#, Windows Forms
Hexagon GeoMedia, Oracle SQL
Projekt:
Die sehr unterschiedlichen Zeiss Mikroskope werden mit einer komplexen C# / WPF Applikation gesteuert. Der Ablauf von Experimenten und die Auswertung der Ergebnisse können automatisiert werden.
Tätigkeit:
Beim Speichern von Ergebnissen wird auch die Mikroskop-Konfiguration mit sämtlichen Parametern abgelegt. Die Aufgabe bestand darin, beim Einlesen von Ergebnissen anderer Mikroskope die aktuelle Konfiguration soweit wie möglich anzupassen, bzw. nicht kompatible Komponenten zu erkennen und den Nutzer zu warnen.
Weitere Tätigkeiten waren: Ein Configuration-Tool mit Visualisierung, Bugfixing und das Erstellen von automatischen Systemtests.
Technik:
Visual Studio 2017, C#, WPF
PyCharm, Gherkin, Python
Projekt:
Für die Konfiguration eines Walzprofilierwerkzeugs war eine vollständig neue Benutzeroberfläche zu entwickeln: Per Drag and Drop soll der Ingenieur die einzelnen Komponenten zu einer vollständigen Maschine zusammenstellen können.
Tätigkeit:
In regelmäßigen Besprechungen mit Entwicklern und Ingenieuren wurde die grundlegende Softwarearchitektur erarbeitet.
Bei diesem „Grüne-Wiese-Projekt“ erstellte ich zunächst die Grundstruktur: Interfaces, Datenhaltung, Error-Handling, Logging, Configuration, Mehrsprachigkeit, diverse Tools.
Die Ansichten und Dialoge entwickelte ich mit WPF nach dem MVVM-Pattern. Auch verwendete ich Teile des Prism-Frameworks.
Durch wöchentliche Meetings entstand ein agiler Entwicklungsprozess.
Technik:
Visual Studio 2015, C#, WPF, MVVM-Light, Prism-Framework
Xceed-GridControl, -PropertySheed
Projekt:
Für die Datenerfassung bei Stadtwerken und Energieversorgern werden Smartphones mit Android und iOS eingesetzt. Die unter Windows Mobile entwickelte App für die Außendienstmitarbeiter wird schrittweise für die neue Plattform umgesetzt.
Tätigkeit:
Für die Kommunikation mit Strom- und Wasser- und Funkzählern werden Treiber eingesetzt. Diese, meist in C++ geschriebenen Softwaremodule werden an die Xamarin - Platform angepasst. Zunächst steht das Android-Betriebssystem im Vordergrund.
Technik:
Visual Studio, C#, C++
Xamarin, Android, iOS
Projekt:
Ziel dieses großen Projektes war die vollautomatische Blut- und Serumanalyse in medizinischen Laboren. Die Steuerung der Arbeitsabläufe, der Roboter und der Analysegeräte wird zum großen Teil mit .NET/C# realisiert. Wegen der Sicherheitsanforderungen wurde auf detaillierte Planung und Dokumentation größten Wert gelegt.
Das Projekt wurde von einem großen Team an Soft- und Hardwareentwicklern in verschiedenen Ländern bearbeitet, die Projektsprache war Englisch.
Tätigkeit:
In enger Zusammenarbeit mit einem Hardwareteam plante und entwickelte ich die Steuerung und Überwachung der integrierten Zentrifuge und der zentralen Stromversorgung mit UPS.
Technik:
Visual Studio 2012, C#/.NET, ReSharper, NUnit
Enterprise Architect, Cockpit
Team Software Process TSP / PSP (nach Carnegie Mellon)
Projekt:
Eine seit vielen Jahren bestehende Maschinensteuerung für Industrielaser sollte durch einen kompletten Neuentwurf schrittweise ersetzt werden. Im Laufe des Projekts entstand ein System von verteilten Prozessen:
Das User-Interface in C# / WPF, die Control-Unit als Service in C#/.NET und die Laseransteuerung in C++. Die Interprozess-Kommunikation wurde mit WCF realisiert.
Zwar konnten einzelne Module angepasst und wiederverwendet werden, das Grundkonzept wurde von mir jedoch völlig neu modelliert.
Tätigkeit:
In einem Team mit Laserfachleuten entwarfen wir die Architektur des Gesamtsystems. Beim Konzept von User-Interface und Control-Unit war ich federführend und entwickelte auch den größten Teil davon. Dabei führte ich moderne Designpatterns und Tools ein. Zur flexiblen Anpassung an zukünftige Kundenanforderungen, entwickelte und realisierte ich ein Plug-In-Konzept für Softwaremodule.
Technik:
Windows 7, Visual Studio 2010, C# / .NET
StarUML, CVS, CruiseControl, Continues Integration
Projekt:
Vor sechs Jahren wurde die Entwicklung einer C#-Anwendung für ein Mobilgerät begonnen und im Laufe der Jahre weiterentwickelt. Die Komplexität und der Umfang des Programms machten es zunehmend schwierig, neue Features für den internationalen Markt zu implementieren. Dazu kamen Probleme mit der Speicherauslastung.
Tätigkeit:
Zusammen mit einem kleinen Team analysierte ich zunächst die aktuelle Architektur und implementierte erste Verbesserungen. Es folgten eine weitergehende Anforderungsanalyse. Mit dem Einsatz von UML-Diagrammen entwickelte ich einen Entwurf zum schrittweisen Umbau des Programms. Dieses Konzept wurde soweit verfeinert, dass es möglich sein wird, die Architektur in mehreren Iterationen an die neuen Anforderungen anzupassen. Zum Schluss entwickelte ich eine einfache Anwendung als 'Proof of Concept'.
Technik:
Windows CE, Visual Studio 2008, C#/.NET CompactFramework
MagicDraw-UML, XML-Spy,
TeamCity, ReSharper, Tortoise-SVN