Was mich antreibt

Lust und Leidenschaft

Das Internet kam und ging nicht mehr weg. Und: Es hat mich infiziert - bis heute. Software zu schreiben, sich verschiedener Sprachen mit eigener Syntax, Grammatik und Logik zu bedienen um sich in ihnen auszudrücken ist Hauptbestandteil dieser Leidenschaft. Sich in Projekte und Arbeitsabläufe hinein zu denken ist die Vielfalt, die diesen Beruf nicht langweilig macht. Konkrete Produkte und Lösungen zu erarbeiten, die Menschen dabei helfen Informationen jeglicher Art zugänglich aufzubereiten ist die Befriedigung die daraus resultiert. Lust und Leidenschaft zu haben sind auch existenzielle Voraussetzungen dafür, die eigene Motivation in einem technisch komplexen und zeitlich schnelllebigen Umfeld dauerhaft hoch halten zu können.

Transparenz und Nachvollziehbarkeit

Die Komplexität von Daten, Arbeitsabläufen und Anforderungen an ein Projekt sind in der Regel hoch. Damit Auftrageber und -nehmer stets den Überblick behalten schalte ich jedem Kunden einen Zugang zum Ticketsystem frei. Das System dient zum einen als gemeinsame Informations- und Kommunikationsbasis zum jeweiligen Aufgabenstand, zum anderen werden aus den Tickets auch die Positionen für Angebote und Rechnungen generiert.

Darüber hinaus ist die Quellcodeverwaltung mit dem Ticketsystem verknüpft, so dass jede Zeile Quelltext eine Referenz zu einer konkreten Aufgabenstellung, dessen Historie und Kommunikationsverlauf bis hin zur Fakturierung aufweist.

Qualität und Standards

Der Anspruch an ein hohes Maß an Qualität in der Softwareentwicklung ist nicht nur die ideologische Ausprägung des Berufsethos' sondern auch der Erkenntnis geschuldet, dass sich unsaubere Implementierungen auf kurz oder lang rächen und letztendlich zu Mehraufwand und Fehleranfälligkeit führen. Standards sind aber nicht nur hinsichtlich der Qualität relevant: Projekte, welche sich keinen Standards unterwerfen sind schlecht nachvollziehbar und können nur schwer von anderen weitergeführt werden - das ist für den Auftraggeber riskant weil er sich in hohem Maße an einen Auftragnehmer bindet. Zu meinem Selbstverständnis von Qualität und Standards gehören: Projekt- und Quellcode-Dokumentation, Unit-Tests, Design-Patterns, Coding-Standards, Continous-Integration sowie der Einsatz gängiger Frameworks und Softwarepakete.

Planungssicherheit und Erkenntnisgewinn

Software-Projekte bewegen sich in einem komplexen und dynamischen Umfeld. Schnell ändern sich Rahmenbedingungen, Prioritäten und Ziele. Statische Planungen und Budgets, die sich über einen längeren Zeitraum erstrecken geraten schnell in Konflikt mit aktuellen Erkenntnissen und Bedürfnissen. Dabei sollten sich neu gewonnene Erkenntnisse dem ehemals gefassten Plan nicht unterordnen müssen sondern die Prämisse für den weiteren Projektverlauf sein. Deswegen bin ich Befürworter eines agilen Projektmanagements und setze u.a. Ticketsysteme mit Versionierung ein. Damit ist es ein Leichtes geplante Aufgaben zu gruppieren, zu terminieren, umzusortieren oder neu zu priorisieren.

Daten und deren Schutz

Vom "Geburtsort" eines Gedanken im menschlichen Gehirn zu dessen digitalen Speicherung in einer Software ist es nicht weit. Ich sehe Betreiber und Entwickler von Software in der Verantwortung die informationelle Selbstbestimmung der Anwender zu schützen. Deshalb verzichte ich soweit möglich auf geschlossene oder cloudbasierte Dienste wie Outlook, Dropbox, Google-Analytics und setzen stattdessen auf offene und selbstgehostete Services wie Tine 2.0, Owncloud, Piwik, Xwiki, etc...