Zeitraum: 10/2011 - Heute
Branche: Touristik
Projekt: Ein großes deutsches Touristikunternehmen entwickelt das Buchungssystem neu.
Position: Entwicklung, Test
Teamgröße: 50-100
DV-Basis: Technologien: Java, Eclipse-RCP.
Tools und Systeme: Eclipse, JBoss, Oracle.
Testing: JUnit.
Build- und Versionsverwaltung: SVN, Jenkins.
Entwicklungsprozess: Scrum.
Plattform: Windows XP, Unix.
Zeitraum: 03/2011 - 10/2011
Branche: Luftfahrt
Projekt: Das Team entwicklet eine Middleware, die dem Aufbau einer SOA dient.
Darauf aufbauend können die Applikationsentwickler Produkte für
verschiedene Kunden der Luftfahrtindustrie erstellen. Die Middleware
kommuniziert auf Basis JSON-basierter Nachrichten mit proprietärer Semantik. Die
Aufgaben bestehen in der Weiter- und Neuentwicklung allgemeiner Services wie
Lokalisierung und Authorisierung.
Position: Entwicklung, Test
Teamgröße: 8
DV-Basis: Technologien: Java.
Tools und Systeme: IDEA IntelliJ 9, Tomcat, Oracle. Frameworks: Spring.
Testing: JUnit.
Versionsverwaltung: SVN. Buildautomatisierung: Maven.
Entwicklungsprozess: Scrum.
Plattform: Windows XP, Unix.
Zeitraum: 10/2008 - 12/2008
Branche: Wissenschaft
Projekt:
Überarbeitung eines Kurses zur Software-Architektur für die universitäre Fernlehre.
In einer vorbereitenden Analyse werden Mängel im vorhandenen Kurs identifiziert. Hiervon ausgehend wird am Leitfaden aktuellster Erkenntnisse eine neue detaillierte Gliederung vorgeschlagen.
Position: Dokumentation
Zeitraum: 07/2008 - 09/2008
Branche: Wissenschaft
Projekt: Vorbereitung und Durchführung eines Hochschulprogrammierpraktikums.
Die Studierenden erarbeiten ein Eclipse-Plugin zum Testen von Refactoring-Tools. Die Vorbereitung schließt neben den organisatorischen Aspekten des Praktikums eine Referenzimplementierung ein.
Position: Entwicklung, Dokumentation, Organisation
Teamgröße: 2
DV-Basis: Technologien: Java, SWT.
Tools: Eclipse.
Tests: JUnit.
Versionsverwaltung: CVS.
Plattform: Windows XP.
Zeitraum: 03/2008 - 06/2008
Branche: Geo-Coding
Projekt: Service-Entwicklung für eine internetbasierte Geo-Anwendung.
Der Kunde beabsichtigt seine internetbasierte Routenplanungssoftware um personalisierte Zusatzdienste zu erweitern. Auf Basis eines vom Kunden selbst entwickelten Web-Service-Frameworks werden die gewünschten Services umgesetzt.
Position: Entwurf, Entwicklung, Test
Teamgröße: 8
DV-Basis: Technologien: Java, WS-*.
Tools und Systeme: Eclipse, Oracle. Frameworks: Spring, Hibernate.
Testing: JUnit, Easymock.
Versionsverwaltung: SVN. Buildautomatisierung: Maven.
Entwicklungsprozess: Scrum.
Plattform: Windows XP, Unix.
Zeitraum: 03/2007 - 02/2008, 07/2004 - 12/2005
Branche: Finanzdienstleistungen
Projekt: Build-, Release-, Deploy- und Integrationsmanagement für das Vertriebssystem.
Der Finanzdienstleister entwickelt ein Außendienst-Informationssystem auf Basis eines Smart-Client-Frameworks. Die komponentenbasierte Architektur ist erweiterbar und bietet die einheitliche Verwendung von Konzepten und Kern-Funktionalitäten für Anwendungen. Dies beinhaltet konsistente GUI Patterns und ein auf Java basiertes Report Layout System mit PDF Export, sowie eine SOA-basierte Kommunikation mit Netzwerk und Proxy-Erkennung.
Mitarbeit im Build- und Deployment-Team, das im Laufe der fortschreitenden Projektzeit von insgesamt 2 Mitarbeitern zu einer Größe von 6 angewachsen ist. Operative Tätigkeiten: Build, Test und Deployment von Integrations- und Releaseversionen sowie Hotfixes; Koordination der Releaseplanung.
Unterprojekte: Verbesserung des Toolings (Entwicklung eines EMF-basierten Editors für Deployment-Konfigurationen; Weiterentwicklung des Buildprozesses mit Maven). Entwickler-Support und Schulung bei der Versionierung.
Position: Integration, Entwurf, Entwicklung, Test, Build- und Releasemanagement
Teamgröße: ca. 80
DV-Basis: Technologien: Java, UML.
Tools und Systeme: Eclipse, Tomcat, Apache, Oracle. Frameworks: Hivemind, EMF.
Testing: JUnit.
Versionsverwaltung: CVS. Buildautomatisierung: Ant, Maven, Jelly.
Entwicklungsprozess: Scrum.
Plattform: Windows 2000/XP, Unix.
Zeitraum: 12/2003 - 06/2004
Branche: Schienenverkehrstechnik
Projekt: Anlagensimulator (ASIM) für Steuerungssoftware von Rangierbahnhöfen.
Um die Steuerungssoftware zu testen, simuliert ASIM unter Echtzeitbedingungen die Außenkomponenten von Rangierbahnhöfen.
Modellierung, Entwicklung und Test von Simulationskomponenten als State Machines; Entwicklung von XSL-Stylesheets zur Transformation von Streckenbeschreibungen in XML.
Position: Entwurf, Entwicklung, Test
Teamgröße: ca. 6
DV-Basis: Technologien: C++, UML, XML, XSLT.
Tools: Rational RoseRT, ClearCase. Frameworks: Connexis.
Versionsverwaltung: Perforce.
Entwicklungsprozess: RUP.
Plattform: Windows 2000, QNX.
Zeitraum: 02/2003 - 11/2003
Branche:
Öffentlicher Dienst
Projekt: Erstellung von Lotus-Notes-Anwendungen und Onlineapplikationen.
Lotus Notes bildet die Kommunikationsplattform des in der Wohlfahrtspflege tätigen Verbandes. Für verschiedene Zwecke und Abteilungen werden Applikationen benötigt, die den gezielten Zugang und die Bearbeitung von jeweils relevanten Dokumenten realisieren. Desweiteren wird eine E-Learning-Plattform benötigt.
Durchführung der Anforderungsanalyse und der Programmiertätigkeiten der Lotus-Notes-Anwendungen. Erstellung der E-Learning-Plattform durch Customizing einer entsprechenden Open-Source-Software inkl. einer ganztätigen Schulung der Erstnutzer und Dozenten.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test, Dokumentation
DV-Basis: Technologien: Lotus Notes Script, PHP, SQL.
Tools und Systeme: Lotus Notes, Apache, MySQL.
Plattform: Windows NT/2000.
Zeitraum: 08/2002 - 01/2003
Branche: Finanzdienstleistungen
Projekt: Chartingmodul für eine Investmentfond-Vertriebssoftware.
Für die Darstellung der möglichen Entwicklung von fondsbasierten Wertpapier- und Anlageplänen wird ein Chartingmodul erstellt. Das in Java entwickelte Produkt setzt auf einer Open-Source-Bibliothek zur Generierung von Grafiken im PNG-Format auf, die Integration erfolgt in einer JSP-Webapplikation. Die externe fachliche Schnittstelle des Moduls ist kompakt gehalten um die Wiederverwendung mit anderen Benutzerschnittstellen zu vereinfachen. Die Kopplung zur entsprechenden Planrechner-Software ist deklarativ mittels Einsatz von XML gestaltet, somit ist die Pflege von fachlichen Änderungen ohne Programmiertätigkeiten gewährleistet.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: Java, JSP/Servlets, XML.
Tools und Systeme: Eclipse, Tomcat, Apache.
Plattform: Solaris.
Zeitraum: 04/2002 - 07/2002
Branche: Internet/New Media
Projekt: XML/XSL-basierte Datenimport und -konvertierungssoftware.
Die Software ermöglicht zum einen die Konvertierung von XML-Dokumenten eines Formats in ein anderes Format über XSL-Stylesheets und zum anderen den Import von Daten aus XML-Dokumenten in relationale Datenbanken. Die Abbildung zwischen Dokument und Datenbank sowie die Änderung von Transformationsvorschriften erfolgen jeweils deklarativ über XML bzw. XSLT und somit ohne Programmieraufwand. Die Benutzung der in Java realisierten Software erfolgt als Shell-Tool.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: Java, XML, XSLT.
Tools: Eclipse.
Plattform: Solaris.
Zeitraum: 10/2001 - 03/2002
Branche: Internet/New Media
Projekt: Konzeption und Realisierung eines ICE-Connectors mit Anbindung an ein CMS
Ein Java-Framework für die Implementierung des XML-basierten ICE-Protokolls ("Information and Content Exchange") wird bereitgestellt. Die Benutzer-Schnittstelle ist mittels einer Web-Applikation (JSP) realisiert, der Zugriff zum Content erfolgt über eine Schnittstelle zum CMS-Produkt "DocMe". Die Architektur ermöglicht eine wohldefinierte Erweiterung bzw. Änderung der Protokoll- Implementierung.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: Java, JSP/Servlets, UML, XML.
Tools und Systeme: Eclipse, NetBeans, Tomcat, Apache.
Testing: JUnit.
Buildautomatisierung: Ant.
Plattform: Solaris.
Zeitraum: 01/2001 - 08/2001
Branche: Internet/New Media
Projekt: Realisierung diverser Onlineanwendungen.
Für verschiedene Kunden werden Onlineanwendungen nach wiederkehrendem Anforderungsmuster realisiert (dynamische Webseiten mit Datenbankanbindung). Dabei kommen neben Open-Source-Produkten auch ein in Eigenentwicklung erstelltes Framework zum Einsatz, das Anwendungen nach dem MVC-Muster ermöglicht und das O/R-Mapping besorgt.
Position: Entwicklung, Test
Teamgröße: ca. 3
DV-Basis: Technologien: Java, JSP/Servlets, PHP.
Tools und Systeme: JBuilder, Tomcat, Apache, MySQL.
Plattform: Windows NT, Linux.
Zeitraum: 08/2000 - 12/2000
Branche: Internet/New Media
Projekt: Entwicklung eines O/R-Mapping-Frameworks
Unter Einsatz dieses Frameworks sollen nicht-hierarchische Daten ohne impedance mismatch für JSP-Webapplikationen persistierbar werden. Die Definition der Daten erfolgt über konventionelle JavaBeans, der Zugriff aus der Web-Applikation kann somit über JSP-Tags vorgenommen werden. Die Abbildungen werden mittles XML deklariert.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
Teamgröße: 2
DV-Basis: Technologien: Java, JSP/Servlets, JDBC, XML, SQL.
Tools und Systeme: JBuilder, Tomcat, Apache, MySQL.
Plattform: Windows NT, Linux.
Zeitraum: 01/2000 - 07/2000
Branche: Telekommunikation
Projekt: Onlineanwendung zur graphischen Visualisierung von TK-Verbindungsdaten.
Den Mitarbeitern eines TK-Unternehmens soll eine IT-gestützte Analyse von Verbindungsdaten ermöglicht werden. Die Daten werden als Graphen ausgewählter Attribute (Zeitraum, Vorwahlareal, Zielwahlareal etc.) in beliebig einstellbarer Abhängigkeit zueinander dargestellt. Sowohl das Autorisierungs- und Authentifizierungsmodul als auch die Grafik-Engine werden in Eigenentwicklung realisiert.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
Teamgröße: 2
DV-Basis: Technologien: UML, PHP, SQL.
Systeme: Apache, MySQL.
Plattform: FreeBSD
Zeitraum: 09/1999 - 12/1999
Branche: Internet/New Media
Projekt: Entwicklung eines Tools zur Erstellung dynamisch generierter Webseiten.
Um die Realisierung von dynamisch generierten Webseiten für verschiedene Kunden weitgehend automatisiert zu ermöglichen, wird ein Tool entwickelt, das die Verknüpfung des Seiteninhalts zur Datenbank auf Basis von Konfigurationsdateien vornimmt. Dazu gehört ein Administrationstool, mit dem der Kunde in der Lage ist, seinen Datenbankinhalt selbst zu bearbeiten.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: PHP, SQL.
Systeme: Apache, MySQL.
Plattform: FreeBSD
Zeitraum: 02/1999 - 08/1999
Branche: Touristik
Projekt: Entwicklung eines Online-Hotelreservierungssystems.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: PHP, SQL.
Systeme: Apache, MySQL.
Plattform: FreeBSD
Zeitraum: 07/1997 - 01/1999
Branche: Internet/New Media
Position: First Level Support für Privatkunden eines Internet-Providers
2005 - 2010
Studium der Philosophie an der FernUniversität in Hagen
Abschluss: Master of Arts
1996 - 2002
Studium der Allgemeinen Informatik an der Fachhochschule Frankfurt am Main
Vertiefungsfach: Wirtschaftswissenschaften (BWL, VWL)
Zusatzqualifikation: Ausbilderbefähigung
Abschluss: Diplom-Informatiker
Software-Entwicklung
Requirements Engineering/Business Analyse
Schulung/Coaching
Zertifikate
Weiterbildungen
Methodik
Prozesse
Querschnittsaufgaben
Sprachen
Frameworks und Muster
Technologien
Web-/Applikationsserver
Tools
Datenbanken
Ich freue mich, dass Sie den Weg zu meinem Profil gefunden haben. Hier finden Sie einige Worte zu meinem Werdegang und zu meinem beruflichen Selbstverständnis als Software Ingenieur und Berater für Softwaretechnik.
Seit 1997 bin ich aktiv in die IT-Prozesse und Projekte von Unternehmen verschiedenster Größe eingebunden, vom Ein-Mann-Projekt des Internet-Start-Ups bis zum >100-Mitarbeiter-Projekt eines großen Finanzdienstleisters. Desweiteren konnte ich auch Erfahrungen in der Transport-, der Telekommunikations-, der Geo-Coding-Branche und in der Wissenschaft sammeln. Dabei habe ich mich eingehend mit der ingenieursmäßigen und agilen Konstruktion von Software-Systemen beschäftigt und kann hier auf eine reichhaltige Erfahrung zurückblicken.
Mein Dienstleistungsangebot - Unterstützung für jede Phase Ihres Software-Entwicklungsprojektes - beruht auf drei Säulen: Communication, Consulting, Engineering.
Communication
"Technology is easy - people are hard." Dieses Zitat von John Gage weist darauf hin, dass es oft die kommunikative Praxis eines Projekts ist, die maßgeblich zum Erfolg oder Misserfolg beiträgt. Menschliche Kommunikation ist mit dem klassischen Sender-Empfänger-Modell aus der Nachrichtentechnik nur unzureichend abgebildet. Für diese Einsicht muss man nicht eigenst auf wissenschaftliche Kommunikationstheorien zurückgreifen - die Vergegenwärtigung des Arbeitsalltages eines jeden von uns genügt bereits. Betriebliche Kommunikation steckt voller Tücken und resultiert oft in Missverständnissen. Aber jedes Missverständnis kann der Keim für eine produktive Einsicht sein. Transparente Kommunikation, ein stets offenes Ohr neben einem offenen Geist, und der respektvolle Umgang miteinander sind für mich das A und O des alltäglichen Projektgeschäfts. Es ist eine Eigenart dieses Geschäfts, den Software Ingenieur immer wieder vor die Herausforderung zu stellen, sich in neue Domänen einarbeiten zu müssen. Meine interdisziplinäre Ausbildung - Informatik als technisches Fach, Philosophie als geisteswissenschaftliches - hat mich darin geschult, über den eigenen sprachlichen Tellerrand hinausschauen zu können. Denn jede Branche, jede Domäne, manchmal jedes Projekt, pflegt ein eigenes Vokabular. Für den Software Ingenieur gilt es, sich dieses Vokabular möglichst schnell zu erarbeiten und produktiv einzusetzen. Dass ich hierbei mein Wissen und meine Erfahrung weitergebe - und auch neues erwerbe - stellt für mich eine Selbstverständlichkeit dar.
Consulting
Die moderne Softwaretechnik ist ein komplexes Feld. Je umfangreicher ein Projekt, umso spezialisierter die einzelen Teilbereiche. Ich sehe mich als Generalisten, der seinen Schwerpunkt in der (objektorientierten) Analyse, dem Entwurf und der Implementierung von Software besitzt, durch die Ausbildung und langjährige Erfahrung aber darüber hinaus eine integrative Denkweise entwickelt hat, die es erlaubt das Projektgeschehen in seinen phasen- und teilübergreifenden Aspekten zu erfassen. Insofern würde ich mich selbst als t-shaped personality beschreiben. Zweifelsohne sind mir hierbei auch die betriebswirtschaflichen Kenntnisse meines Studiums und meiner Erfahrung eine große Hilfe, denn unabhängig von der fachlichen Domäne muss sich ein Projekt letztendlich immer noch rechnen. Die Freiheit von technischen und gedanklichen Scheuklappen plus eine gesunde Portion Neugier im Hinblick auf Technik und Mensch ermöglicht mir, dem Kunden ein qualitativ hochwertiges Beratungsergebnis zu liefern.
Sieht das etablierte Projektteam den Wald vor lauter Bäumen nicht mehr, so hilft der beratende Blick von außen, wieder die Sicht auf den Horizont freizulegen - und vielleicht ein Stück über den Horizont hinaus.
Engineering
Nach dem Studium beginnt das Lernen. Und das Lernen ist der ständige Begleiter des Software Ingenieurs. Die Erfahrung lehrt, dass Technologien, Sprachen, APIs, Frameworks und Tools erscheinen und wieder verschwinden können. Sie evoluieren, sie unterliegen Moden etc. Dieser Umstand erfordert vom Software Ingenieur eine hohes Maß an Auffassungsgabe und geistiger Flexibilität. Was seine Engineering-Leistung kontinuierlich hält, ist seine Haltung Problemen gegenüber: die ausgeprägte Beharrlichkeit, Präzision und Ausdauer, sie zu identifizieren, sie zu analysieren und sie letztendlich zu lösen. Die manchmal hierfür benötigte Kreativität wird von einem ausgewogenen Qualitätsbewusstsein flankiert. Ausgewogen soll an dieser Stelle bedeuten, dass sich der Software Ingenieur der Aspekthaftigkeit des Qualitätsstreben bewusst zu sein hat - denn die Qualität ist lediglich ein Aspekt neben den anderen beiden, die das Spannungsfeld des Projektmanagements begrenzen: der Budgetierung und des Liefertermins.
Dieses mein persönliches Bild eines Software-Ingenieurs hat sicherlich etwas Idealistisches. Woran sich aber orientieren, wenn nicht am Ideal, am Optimum? Dem versuche ich stets gerecht zu werden - und davon profitiert auch der Kunde.
Benötigen Sie Unterstützung für Ihr Software-Entwicklungsprojekt? Sagt Ihnen mein geschildertes Selbstverständnis zu? Dann lassen Sie uns miteinander über Ihre Wünsche und Ideen sprechen, ich freue mich auf Sie.
allgemein EDV-/IT-Dienstleistungen
Wissenschaft
Geo-Coding
Finanzdienstleistungen
Schienenverkehrstechnik
Öffentlicher Dienst
Internet/New Media
Telekommunikation
Touristik
Zeitraum: 10/2011 - Heute
Branche: Touristik
Projekt: Ein großes deutsches Touristikunternehmen entwickelt das Buchungssystem neu.
Position: Entwicklung, Test
Teamgröße: 50-100
DV-Basis: Technologien: Java, Eclipse-RCP.
Tools und Systeme: Eclipse, JBoss, Oracle.
Testing: JUnit.
Build- und Versionsverwaltung: SVN, Jenkins.
Entwicklungsprozess: Scrum.
Plattform: Windows XP, Unix.
Zeitraum: 03/2011 - 10/2011
Branche: Luftfahrt
Projekt: Das Team entwicklet eine Middleware, die dem Aufbau einer SOA dient.
Darauf aufbauend können die Applikationsentwickler Produkte für
verschiedene Kunden der Luftfahrtindustrie erstellen. Die Middleware
kommuniziert auf Basis JSON-basierter Nachrichten mit proprietärer Semantik. Die
Aufgaben bestehen in der Weiter- und Neuentwicklung allgemeiner Services wie
Lokalisierung und Authorisierung.
Position: Entwicklung, Test
Teamgröße: 8
DV-Basis: Technologien: Java.
Tools und Systeme: IDEA IntelliJ 9, Tomcat, Oracle. Frameworks: Spring.
Testing: JUnit.
Versionsverwaltung: SVN. Buildautomatisierung: Maven.
Entwicklungsprozess: Scrum.
Plattform: Windows XP, Unix.
Zeitraum: 10/2008 - 12/2008
Branche: Wissenschaft
Projekt:
Überarbeitung eines Kurses zur Software-Architektur für die universitäre Fernlehre.
In einer vorbereitenden Analyse werden Mängel im vorhandenen Kurs identifiziert. Hiervon ausgehend wird am Leitfaden aktuellster Erkenntnisse eine neue detaillierte Gliederung vorgeschlagen.
Position: Dokumentation
Zeitraum: 07/2008 - 09/2008
Branche: Wissenschaft
Projekt: Vorbereitung und Durchführung eines Hochschulprogrammierpraktikums.
Die Studierenden erarbeiten ein Eclipse-Plugin zum Testen von Refactoring-Tools. Die Vorbereitung schließt neben den organisatorischen Aspekten des Praktikums eine Referenzimplementierung ein.
Position: Entwicklung, Dokumentation, Organisation
Teamgröße: 2
DV-Basis: Technologien: Java, SWT.
Tools: Eclipse.
Tests: JUnit.
Versionsverwaltung: CVS.
Plattform: Windows XP.
Zeitraum: 03/2008 - 06/2008
Branche: Geo-Coding
Projekt: Service-Entwicklung für eine internetbasierte Geo-Anwendung.
Der Kunde beabsichtigt seine internetbasierte Routenplanungssoftware um personalisierte Zusatzdienste zu erweitern. Auf Basis eines vom Kunden selbst entwickelten Web-Service-Frameworks werden die gewünschten Services umgesetzt.
Position: Entwurf, Entwicklung, Test
Teamgröße: 8
DV-Basis: Technologien: Java, WS-*.
Tools und Systeme: Eclipse, Oracle. Frameworks: Spring, Hibernate.
Testing: JUnit, Easymock.
Versionsverwaltung: SVN. Buildautomatisierung: Maven.
Entwicklungsprozess: Scrum.
Plattform: Windows XP, Unix.
Zeitraum: 03/2007 - 02/2008, 07/2004 - 12/2005
Branche: Finanzdienstleistungen
Projekt: Build-, Release-, Deploy- und Integrationsmanagement für das Vertriebssystem.
Der Finanzdienstleister entwickelt ein Außendienst-Informationssystem auf Basis eines Smart-Client-Frameworks. Die komponentenbasierte Architektur ist erweiterbar und bietet die einheitliche Verwendung von Konzepten und Kern-Funktionalitäten für Anwendungen. Dies beinhaltet konsistente GUI Patterns und ein auf Java basiertes Report Layout System mit PDF Export, sowie eine SOA-basierte Kommunikation mit Netzwerk und Proxy-Erkennung.
Mitarbeit im Build- und Deployment-Team, das im Laufe der fortschreitenden Projektzeit von insgesamt 2 Mitarbeitern zu einer Größe von 6 angewachsen ist. Operative Tätigkeiten: Build, Test und Deployment von Integrations- und Releaseversionen sowie Hotfixes; Koordination der Releaseplanung.
Unterprojekte: Verbesserung des Toolings (Entwicklung eines EMF-basierten Editors für Deployment-Konfigurationen; Weiterentwicklung des Buildprozesses mit Maven). Entwickler-Support und Schulung bei der Versionierung.
Position: Integration, Entwurf, Entwicklung, Test, Build- und Releasemanagement
Teamgröße: ca. 80
DV-Basis: Technologien: Java, UML.
Tools und Systeme: Eclipse, Tomcat, Apache, Oracle. Frameworks: Hivemind, EMF.
Testing: JUnit.
Versionsverwaltung: CVS. Buildautomatisierung: Ant, Maven, Jelly.
Entwicklungsprozess: Scrum.
Plattform: Windows 2000/XP, Unix.
Zeitraum: 12/2003 - 06/2004
Branche: Schienenverkehrstechnik
Projekt: Anlagensimulator (ASIM) für Steuerungssoftware von Rangierbahnhöfen.
Um die Steuerungssoftware zu testen, simuliert ASIM unter Echtzeitbedingungen die Außenkomponenten von Rangierbahnhöfen.
Modellierung, Entwicklung und Test von Simulationskomponenten als State Machines; Entwicklung von XSL-Stylesheets zur Transformation von Streckenbeschreibungen in XML.
Position: Entwurf, Entwicklung, Test
Teamgröße: ca. 6
DV-Basis: Technologien: C++, UML, XML, XSLT.
Tools: Rational RoseRT, ClearCase. Frameworks: Connexis.
Versionsverwaltung: Perforce.
Entwicklungsprozess: RUP.
Plattform: Windows 2000, QNX.
Zeitraum: 02/2003 - 11/2003
Branche:
Öffentlicher Dienst
Projekt: Erstellung von Lotus-Notes-Anwendungen und Onlineapplikationen.
Lotus Notes bildet die Kommunikationsplattform des in der Wohlfahrtspflege tätigen Verbandes. Für verschiedene Zwecke und Abteilungen werden Applikationen benötigt, die den gezielten Zugang und die Bearbeitung von jeweils relevanten Dokumenten realisieren. Desweiteren wird eine E-Learning-Plattform benötigt.
Durchführung der Anforderungsanalyse und der Programmiertätigkeiten der Lotus-Notes-Anwendungen. Erstellung der E-Learning-Plattform durch Customizing einer entsprechenden Open-Source-Software inkl. einer ganztätigen Schulung der Erstnutzer und Dozenten.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test, Dokumentation
DV-Basis: Technologien: Lotus Notes Script, PHP, SQL.
Tools und Systeme: Lotus Notes, Apache, MySQL.
Plattform: Windows NT/2000.
Zeitraum: 08/2002 - 01/2003
Branche: Finanzdienstleistungen
Projekt: Chartingmodul für eine Investmentfond-Vertriebssoftware.
Für die Darstellung der möglichen Entwicklung von fondsbasierten Wertpapier- und Anlageplänen wird ein Chartingmodul erstellt. Das in Java entwickelte Produkt setzt auf einer Open-Source-Bibliothek zur Generierung von Grafiken im PNG-Format auf, die Integration erfolgt in einer JSP-Webapplikation. Die externe fachliche Schnittstelle des Moduls ist kompakt gehalten um die Wiederverwendung mit anderen Benutzerschnittstellen zu vereinfachen. Die Kopplung zur entsprechenden Planrechner-Software ist deklarativ mittels Einsatz von XML gestaltet, somit ist die Pflege von fachlichen Änderungen ohne Programmiertätigkeiten gewährleistet.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: Java, JSP/Servlets, XML.
Tools und Systeme: Eclipse, Tomcat, Apache.
Plattform: Solaris.
Zeitraum: 04/2002 - 07/2002
Branche: Internet/New Media
Projekt: XML/XSL-basierte Datenimport und -konvertierungssoftware.
Die Software ermöglicht zum einen die Konvertierung von XML-Dokumenten eines Formats in ein anderes Format über XSL-Stylesheets und zum anderen den Import von Daten aus XML-Dokumenten in relationale Datenbanken. Die Abbildung zwischen Dokument und Datenbank sowie die Änderung von Transformationsvorschriften erfolgen jeweils deklarativ über XML bzw. XSLT und somit ohne Programmieraufwand. Die Benutzung der in Java realisierten Software erfolgt als Shell-Tool.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: Java, XML, XSLT.
Tools: Eclipse.
Plattform: Solaris.
Zeitraum: 10/2001 - 03/2002
Branche: Internet/New Media
Projekt: Konzeption und Realisierung eines ICE-Connectors mit Anbindung an ein CMS
Ein Java-Framework für die Implementierung des XML-basierten ICE-Protokolls ("Information and Content Exchange") wird bereitgestellt. Die Benutzer-Schnittstelle ist mittels einer Web-Applikation (JSP) realisiert, der Zugriff zum Content erfolgt über eine Schnittstelle zum CMS-Produkt "DocMe". Die Architektur ermöglicht eine wohldefinierte Erweiterung bzw. Änderung der Protokoll- Implementierung.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: Java, JSP/Servlets, UML, XML.
Tools und Systeme: Eclipse, NetBeans, Tomcat, Apache.
Testing: JUnit.
Buildautomatisierung: Ant.
Plattform: Solaris.
Zeitraum: 01/2001 - 08/2001
Branche: Internet/New Media
Projekt: Realisierung diverser Onlineanwendungen.
Für verschiedene Kunden werden Onlineanwendungen nach wiederkehrendem Anforderungsmuster realisiert (dynamische Webseiten mit Datenbankanbindung). Dabei kommen neben Open-Source-Produkten auch ein in Eigenentwicklung erstelltes Framework zum Einsatz, das Anwendungen nach dem MVC-Muster ermöglicht und das O/R-Mapping besorgt.
Position: Entwicklung, Test
Teamgröße: ca. 3
DV-Basis: Technologien: Java, JSP/Servlets, PHP.
Tools und Systeme: JBuilder, Tomcat, Apache, MySQL.
Plattform: Windows NT, Linux.
Zeitraum: 08/2000 - 12/2000
Branche: Internet/New Media
Projekt: Entwicklung eines O/R-Mapping-Frameworks
Unter Einsatz dieses Frameworks sollen nicht-hierarchische Daten ohne impedance mismatch für JSP-Webapplikationen persistierbar werden. Die Definition der Daten erfolgt über konventionelle JavaBeans, der Zugriff aus der Web-Applikation kann somit über JSP-Tags vorgenommen werden. Die Abbildungen werden mittles XML deklariert.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
Teamgröße: 2
DV-Basis: Technologien: Java, JSP/Servlets, JDBC, XML, SQL.
Tools und Systeme: JBuilder, Tomcat, Apache, MySQL.
Plattform: Windows NT, Linux.
Zeitraum: 01/2000 - 07/2000
Branche: Telekommunikation
Projekt: Onlineanwendung zur graphischen Visualisierung von TK-Verbindungsdaten.
Den Mitarbeitern eines TK-Unternehmens soll eine IT-gestützte Analyse von Verbindungsdaten ermöglicht werden. Die Daten werden als Graphen ausgewählter Attribute (Zeitraum, Vorwahlareal, Zielwahlareal etc.) in beliebig einstellbarer Abhängigkeit zueinander dargestellt. Sowohl das Autorisierungs- und Authentifizierungsmodul als auch die Grafik-Engine werden in Eigenentwicklung realisiert.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
Teamgröße: 2
DV-Basis: Technologien: UML, PHP, SQL.
Systeme: Apache, MySQL.
Plattform: FreeBSD
Zeitraum: 09/1999 - 12/1999
Branche: Internet/New Media
Projekt: Entwicklung eines Tools zur Erstellung dynamisch generierter Webseiten.
Um die Realisierung von dynamisch generierten Webseiten für verschiedene Kunden weitgehend automatisiert zu ermöglichen, wird ein Tool entwickelt, das die Verknüpfung des Seiteninhalts zur Datenbank auf Basis von Konfigurationsdateien vornimmt. Dazu gehört ein Administrationstool, mit dem der Kunde in der Lage ist, seinen Datenbankinhalt selbst zu bearbeiten.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: PHP, SQL.
Systeme: Apache, MySQL.
Plattform: FreeBSD
Zeitraum: 02/1999 - 08/1999
Branche: Touristik
Projekt: Entwicklung eines Online-Hotelreservierungssystems.
Position: Anforderungsanalyse, Entwurf, Entwicklung, Test
DV-Basis: Technologien: PHP, SQL.
Systeme: Apache, MySQL.
Plattform: FreeBSD
Zeitraum: 07/1997 - 01/1999
Branche: Internet/New Media
Position: First Level Support für Privatkunden eines Internet-Providers
2005 - 2010
Studium der Philosophie an der FernUniversität in Hagen
Abschluss: Master of Arts
1996 - 2002
Studium der Allgemeinen Informatik an der Fachhochschule Frankfurt am Main
Vertiefungsfach: Wirtschaftswissenschaften (BWL, VWL)
Zusatzqualifikation: Ausbilderbefähigung
Abschluss: Diplom-Informatiker
Software-Entwicklung
Requirements Engineering/Business Analyse
Schulung/Coaching
Zertifikate
Weiterbildungen
Methodik
Prozesse
Querschnittsaufgaben
Sprachen
Frameworks und Muster
Technologien
Web-/Applikationsserver
Tools
Datenbanken
Ich freue mich, dass Sie den Weg zu meinem Profil gefunden haben. Hier finden Sie einige Worte zu meinem Werdegang und zu meinem beruflichen Selbstverständnis als Software Ingenieur und Berater für Softwaretechnik.
Seit 1997 bin ich aktiv in die IT-Prozesse und Projekte von Unternehmen verschiedenster Größe eingebunden, vom Ein-Mann-Projekt des Internet-Start-Ups bis zum >100-Mitarbeiter-Projekt eines großen Finanzdienstleisters. Desweiteren konnte ich auch Erfahrungen in der Transport-, der Telekommunikations-, der Geo-Coding-Branche und in der Wissenschaft sammeln. Dabei habe ich mich eingehend mit der ingenieursmäßigen und agilen Konstruktion von Software-Systemen beschäftigt und kann hier auf eine reichhaltige Erfahrung zurückblicken.
Mein Dienstleistungsangebot - Unterstützung für jede Phase Ihres Software-Entwicklungsprojektes - beruht auf drei Säulen: Communication, Consulting, Engineering.
Communication
"Technology is easy - people are hard." Dieses Zitat von John Gage weist darauf hin, dass es oft die kommunikative Praxis eines Projekts ist, die maßgeblich zum Erfolg oder Misserfolg beiträgt. Menschliche Kommunikation ist mit dem klassischen Sender-Empfänger-Modell aus der Nachrichtentechnik nur unzureichend abgebildet. Für diese Einsicht muss man nicht eigenst auf wissenschaftliche Kommunikationstheorien zurückgreifen - die Vergegenwärtigung des Arbeitsalltages eines jeden von uns genügt bereits. Betriebliche Kommunikation steckt voller Tücken und resultiert oft in Missverständnissen. Aber jedes Missverständnis kann der Keim für eine produktive Einsicht sein. Transparente Kommunikation, ein stets offenes Ohr neben einem offenen Geist, und der respektvolle Umgang miteinander sind für mich das A und O des alltäglichen Projektgeschäfts. Es ist eine Eigenart dieses Geschäfts, den Software Ingenieur immer wieder vor die Herausforderung zu stellen, sich in neue Domänen einarbeiten zu müssen. Meine interdisziplinäre Ausbildung - Informatik als technisches Fach, Philosophie als geisteswissenschaftliches - hat mich darin geschult, über den eigenen sprachlichen Tellerrand hinausschauen zu können. Denn jede Branche, jede Domäne, manchmal jedes Projekt, pflegt ein eigenes Vokabular. Für den Software Ingenieur gilt es, sich dieses Vokabular möglichst schnell zu erarbeiten und produktiv einzusetzen. Dass ich hierbei mein Wissen und meine Erfahrung weitergebe - und auch neues erwerbe - stellt für mich eine Selbstverständlichkeit dar.
Consulting
Die moderne Softwaretechnik ist ein komplexes Feld. Je umfangreicher ein Projekt, umso spezialisierter die einzelen Teilbereiche. Ich sehe mich als Generalisten, der seinen Schwerpunkt in der (objektorientierten) Analyse, dem Entwurf und der Implementierung von Software besitzt, durch die Ausbildung und langjährige Erfahrung aber darüber hinaus eine integrative Denkweise entwickelt hat, die es erlaubt das Projektgeschehen in seinen phasen- und teilübergreifenden Aspekten zu erfassen. Insofern würde ich mich selbst als t-shaped personality beschreiben. Zweifelsohne sind mir hierbei auch die betriebswirtschaflichen Kenntnisse meines Studiums und meiner Erfahrung eine große Hilfe, denn unabhängig von der fachlichen Domäne muss sich ein Projekt letztendlich immer noch rechnen. Die Freiheit von technischen und gedanklichen Scheuklappen plus eine gesunde Portion Neugier im Hinblick auf Technik und Mensch ermöglicht mir, dem Kunden ein qualitativ hochwertiges Beratungsergebnis zu liefern.
Sieht das etablierte Projektteam den Wald vor lauter Bäumen nicht mehr, so hilft der beratende Blick von außen, wieder die Sicht auf den Horizont freizulegen - und vielleicht ein Stück über den Horizont hinaus.
Engineering
Nach dem Studium beginnt das Lernen. Und das Lernen ist der ständige Begleiter des Software Ingenieurs. Die Erfahrung lehrt, dass Technologien, Sprachen, APIs, Frameworks und Tools erscheinen und wieder verschwinden können. Sie evoluieren, sie unterliegen Moden etc. Dieser Umstand erfordert vom Software Ingenieur eine hohes Maß an Auffassungsgabe und geistiger Flexibilität. Was seine Engineering-Leistung kontinuierlich hält, ist seine Haltung Problemen gegenüber: die ausgeprägte Beharrlichkeit, Präzision und Ausdauer, sie zu identifizieren, sie zu analysieren und sie letztendlich zu lösen. Die manchmal hierfür benötigte Kreativität wird von einem ausgewogenen Qualitätsbewusstsein flankiert. Ausgewogen soll an dieser Stelle bedeuten, dass sich der Software Ingenieur der Aspekthaftigkeit des Qualitätsstreben bewusst zu sein hat - denn die Qualität ist lediglich ein Aspekt neben den anderen beiden, die das Spannungsfeld des Projektmanagements begrenzen: der Budgetierung und des Liefertermins.
Dieses mein persönliches Bild eines Software-Ingenieurs hat sicherlich etwas Idealistisches. Woran sich aber orientieren, wenn nicht am Ideal, am Optimum? Dem versuche ich stets gerecht zu werden - und davon profitiert auch der Kunde.
Benötigen Sie Unterstützung für Ihr Software-Entwicklungsprojekt? Sagt Ihnen mein geschildertes Selbstverständnis zu? Dann lassen Sie uns miteinander über Ihre Wünsche und Ideen sprechen, ich freue mich auf Sie.
allgemein EDV-/IT-Dienstleistungen
Wissenschaft
Geo-Coding
Finanzdienstleistungen
Schienenverkehrstechnik
Öffentlicher Dienst
Internet/New Media
Telekommunikation
Touristik