Leistungen

Projekte

Anbei finden Sie eine Auswahl meiner bisherigen Projekte samt einer Kurzbeschreibung:

Projekt/Thema: Buildsystem, Continuous Integration
Rolle: Berater & Softwareentwickler
Kurzbeschreibung: Die Aufgabe bestand darin, Continuous Integration als Service für andere Teams und Abteilungen anzubieten - weltweit. Die gesamte Infrastruktur - Hardware, Software und Prozesse - musste dafür definiert und aufgebaut bzw. angepasst werden. Eine Besonderheit war hier die Aneignung eines tiefen Verständnisses für die vorhandenen Strukturen und Prozesse und das geplante und vernetzte Vorgehen um die Ziele zu erreichen. Zusätzlich mussten mehrere Applikationen erstellt werden, um vorhandene Automationslücken im bestehenden Prozess zu schließen oder um Monitoringaufgaben zu übernehmen.
Projekt/Thema: Continuous Integration & Delivery
Rolle: Scrum-Master & Softwareentwickler
Kurzbeschreibung: Hier wurde der vorhandene Continuous Delivery-Prozess erweitert. Dazu ist ein System zur Testautomatisierung entwickelt worden, das verschiedene USB-Hardware auf unterschiedliche Testszenarien abbilden konnte. Besonders interessant war hierbei die plattformübergreifende Entwicklung. Zusätzlich durfte ich Scrum-Teams als Scrum-Master betreuen.
Projekt/Thema: Agile Softwareentwicklung, Scrum-Master
Rolle: Scrum-Master & Entwicklungsingenieur
Kurzbeschreibung: Neben der Embedded-Software Entwicklung mussten viele PC-Applikationen für die Aufbereitung der Daten für das Embedded-System entwickelt werden. Schrittweise konnte ich Scrum als Entwicklungsprozess etablieren, ein Scrum-Team aufbauen und dieses als Scrum-Master betreuen. Gleichzeitig wurden die Software-Buildprozesse schrittweise in Richtung Continuous Integration automatisiert. Besonders erwähnenswert ist hier vor allem die Entwicklung des Systems für die automatischen Akzeptanztests auf der Zielhardware.
Projekt/Thema: Embedded-Software Entwicklung
Rolle: Entwicklungsingenieur
Kurzbeschreibung: In diesem klassischen Embeddedentwicklungs-Projekt wurde die Software ohne OS entwickelt. Neben den Regelungs- und Steuerungsaufgaben musste ein Vollgrafikdisplay angesteuert werden. Besonders erwähnenswert hierbei waren die Aufbereitung der Anzeigentexte, welche in bis zu 30 Sprachen vorlagen. Deren Überprüfung bzgl. Font, deren Kompression und die Verarbeitung auf dem Controller unter Berücksichtigung des Laufzeitverhaltens war eine besonders spannende Herausforderung.
Projekt/Thema: Anwendungsentwicklung
Rolle: Anwendungsentwickler
Kurzbeschreibung: Die Applikation wurde mit C++ unter Verwendung von MFC entwickelt. Word-Dokumente, PDFs und Textdateien wurden indexiert und aufbereitet. Anschließend konnten die Ergebnisse mit Hilfe einer Webseite, z.B. mit Schlagwortsuche oder Kategorienwahl, untersucht werden. Spannend war hier vor allem die Dokumentengenerierung.

Philosophie

Ich hatte bisher das Glück die Softwareentwicklung in all ihren Phasen und aus vielen Perspektiven kennenzulernen. Ob nun in der Planung, in der Entwicklung, im Test, im Projekt- oder Prozessmanagement, ob nun als Entwickler im Team oder als Teamleiter, mit klassischen Vorgehensmodell oder agil.
Immer konnte ich mich begeistern, viel lernen und mit zunehmender Erfahrung entsprechend einbringen. Gerade als Scrum-Master half und hilft mir mein angesammeltes Wissen von Prozessen und Technologien.

Meine Grundsätze

Softwareentwicklung ist Wissensarbeit

Erst am Ende eines Projektes wäre genug projektspezifisches Wissen vorhanden um die richtigen Entscheidungen am Anfang zu treffen. Diese Tatsache muss bei der Entwicklung und vor allem bei Entscheidungen berücksichtigt werden.

Softwareentwicklung ist Qualitätsarbeit

Neben dem Erfüllen der funktionalen und nicht funktionalen Anforderungen muss auch die Code-Qualität Standards entsprechen. Nur so können Änder- und Erweiterbarkeit gewährleisten werden. Design-Patterns, Coding-Styles, Clean-Code, Code-Metriken und Standard-Bibliotheken sind deswegen nicht optional sondern Pflicht.

Softwareentwicklung ist Teamarbeit

Erst die Interaktion der Projektbeteiligten erzeugt die nötige Dynamik um effektiv und effizient zum Ziel zu gelangen. Natürlich sind hier die Grenzen zur Wissensarbeit fließend. Ausgeprägte soziale und kommunikative Fähigkeiten sind für die Teamarbeit essenziell. Muss ein Team aufgebaut oder optimiert werden sind Moderationsfähigkeiten und arbeitspsychologische Kenntnisse notwendig.

Kontakt

Habe ich Ihr Interesse wecken können?
Haben Sie noch Fragen?

Ich würde mich über eine Kontaktaufnahme freuen.

Anbei meine vCard zum Importieren in ein Adressbuch.

vcard