1979 bis 1983: Stuttgarter Straßenbahnen AG (SSB) Operator und Programmierer (RPG- und COBOL-Programme)
1980 bis 1982: IPRO Gmbh Leiter der Software-Entwicklung (Branchenlösung für Augenoptiker, heute Marktführer)
1983 bis 2002: SSB AG IT Architekt und Entwickler im kaufmännischen Vorstandsbereich (COBOL, zeitweise Systemverantwortlicher EDV für Kostenrechnung)
1985 bis 2002: SSB AG IT Architekt im technischen Vorstandsbereich (PASCAL, C, graphische Datenverarbeitung, CAD)
1986 bis 1992: Control Data Institut Inhouse-Seminare bei Industrie-Kunden, sowie öffentliche Seminare (z.B. ASSEMBLER)
1987 bis 2002: SSB AG Datenbanksysteme und Systemprogrammierung (SQL/DS, ASSEMBLER, SAP-Schnittstellen)
1988 bis 2014: ALLIANZ Seminare für IT-Professionals (Programmiersprachen, DB2)
1994 bis 2014: ALLIANZ IT Architekt und Entwickler im Bereich Versicherungsmathematik (PL/1, C, ASSEMBLER)
1995 bis 2005: ALLIANZ IT Architekt und Entwickler im Bereich Change & Configuration Management (C, REXX, DB2)
1995 bis 2014: ALLIANZ Datenbanksysteme und Systemprogrammierung (DB2, ASSEMBLER, C)
2012 bis 2014: ALLIANZ Große Migrationsprojekte (PL/1, C, DB2)
2015 bis 2016: Ergo Direkt Senior IT Architekt und Entwickler im Bereich Zahlungsverkehr (C, DB2)
2017 bis 2019: Ergo Direkt Senior IT Architekt und Entwickler im Bereich Bestandssysteme (C, PL/1, DB2)
seit 2020: Süddeutsche Krankenversicherung (SDK) Senior IT Architekt und Entwickler im Bereich Leistungsabrechnung (Cobol, CICS, VSAM)
(erneut) seit 2021: ALLIANZ Technology Senior IT Architekt und Entwickler für Support der Legacy-Systeme inkl. Freigabeverfahren
(erneut) seit 2022: ALLIANZ Technology Seminare für IT-Professionals (Programmiersprachen, DB2)
Vorab eine Bemerkung: Es ist nicht möglich, hier sämtliche Projekte aufzulisten. Projekte, die nur wenige Tage oder Wochen dauern, sowieso nicht. Aber auch Projekte, die im Kundenauftrag durchgeführt werden, können hier teilweise nicht beschrieben werden, weil andernfalls Geheimhaltungs-Bedürfnisse des Kunden berührt wären. So habe ich z.B. in den letzten Jahren die meiste Zeit große Migrations-Projekte für die ALLIANZ durchgeführt, über die hier nichts berichtet wird. Die hier (kurz) beschriebenen Projekte haben meistens einen eher technischen Hintergrund (bzw. aus dem Bereich Systemprogrammierung); solche Themen finde ich in der Regel auch spannender, da technisch anspruchsvoller.
2019: Ergo-Bestandsprovision (COBOL-Schnittstellendateien erstellen in C / DB2)
2019: Unterstützung eines weiteren Kunden (neben der Ergo Nürnberg) bei der Migration zu COBOL 6.2 und dabei auftretenden Problemen im Zusammenhang mit dem IBM Debugger for z sowie mit ASSEMBLER-Programmen des Kunden
2019: diverse Reengineering-Projekte bei der Ergo Nürnberg (mehr als 25 Jahre alte Software, die angepasst bzw. erweitert werden muss)
2019: Erweiterungen am Stanford-Pascal-Compiler, z.B. variabel lange Strings
2018: Weiteres Projekt zur Weiterentwicklung der Software für die Planung von Zugsicherungsanlagen (siehe 2017, ursprüngliche Entwicklung von 1988) für die SSB AG (Stuttgarter Straßenbahn). Die Software läuft seit 30 Jahren; eine weitere Nutzungsdauer bis 2035 ist angedacht.
2018: Weiterentwicklung der Host-Entwicklungsumgebung der ErgoDirekt, um eine Trennung der logischen Partitionen (LPARs) für die Umgebungen Test/Systemtest und Produktion zu ermöglichen
2018: Umfangreiche Arbeiten für die ErgoDirekt im Zusammenhang mit der neuen Europäischen Datenschutz-Verordnung (EUDSGVO).
2017: Umbau der Host-Entwicklungsumgebung der ErgoDirekt; neues DB2-basiertes Repository, Ablösung von CA-Librarian, teilweise Tool-Einsatz aus der Oppolzer-Werkstatt (signifikante Einsparung von Lizenzgebühren)
2017: Werkzeuge für die Testautomatisierung für die ErgoDirekt (Policentransfer)
2017: Erweiterung eines Berechnungsprogramms für Signalstandorte (U-Bahn-Zugbeeinflussung, ZUB 100) aus dem Jahr 1987 (!) für die SSB AG (Stuttgarter Straßenbahn)
2016: Testautomatisierung auf dem Mainframe bei der ErgoDirekt-Versicherung (aufbauend aus den Erfahrungen aus den entsprechenden ALLIANZ-Projekten von 1998 und 2010).
2016: privates Projekt: Erfolgreiche Portierung des Stanford-Pascal-Compilers auf Windows, Linux und OS/2 (siehe 2011). Dokumentation der Arbeiten auf einer englischsprachigen Webseite sowie einer Facebook-Seite, monatlich neue Versionen. Die entsprechenden Informationen werden weltweit von fast 200 Kollegen gelesen, Tendenz steigend.
2016: Analyse-Tool für Speicherlecks im Mainframe-Umfeld; das Tool überwacht zur Laufzeit die LE-Heap-Kontrollblöcke. Zeitkritische Anwendungen beim Kunden konnten damit korrigiert und massiv beschleunigt werden.
2015: Diverse Verbesserungen an zentralen Infrastruktur-Funktionen des Inkasso-Systems PaCoS der ErgoDirekt-Versicherung
2014: Das Datenbank-ETL-Tool DB2XFER von 1997 wurde so erweitert, dass es im ALLIANZ-ABS-Umfeld automatische parallelisierte SQLs unterstützt (8, 16, 32, 64-fach); dadurch war es möglich, SQL-Auswertungen, die seither Stunden gedauert haben, in Minuten zu erledigen.
2013: Erweiterung des
Programmsystems "Fahrdynamische Berechnungen":
es sollen auch S-Bahn-Strecken damit berechnet werden können, da
die SSB vermutlich den Auftrag erhält, die S-Bahn-Erweiterung
von Bernhausen nach Neuhausen zu bauen und zu betreiben.
Beispiel für eine
S-Bahn-Berechnung mit FDYN
2012: Umstellen der zentralen ALLIANZ-Assembler-Makros auf baseless coding; damit können deutlich größere Programme geschrieben werden ohne Restriktionen bezüglich der Basisregister
2011: privates Projekt: Portierung des Stanford-Pascal-Compilers der McGill-Universität von 1982 auf ein VM/370-System Rel. 6, das unter Hercules läuft, und diverse Erweiterungen dieses Compilers, z.B. neue Befehle BREAK, CONTINUE, RETURN, außerdem diverse Fehlerkorrekturen
2011: DOM-Aufsatz für den XML-Parser, validierend oder nicht-validierend
2010: Das Testverfahren von 1998 soll so erweitert werden, dass es Aufrufe von untergeordneten Modulen und Datenbankzugriffe anhand von Testdaten simuliert, anstelle sie auszuführen.
2009: Weiterentwicklung von PLIRULE, siehe 2007
2009: Weiterentwicklung des Tabellensystems von 1999; es wird unter dem neuen Namen KOPAS das Standard-Tabellensystem für die Mathematikschicht FERMAT des neuen spartenübergreifenden ALLIANZ-Business-Systems (ABS). Auch der XML-Parser und die Datenbank-Tools werden im ABS-Umfeld verstärkt eingesetzt.
2008: siehe 2004. Der Fehler im IBM-Interface "Processor 11" tritt wieder auf, weil die IBM ihn nur unzureichend behoben bzw. "umgangen" hat. Diesmal schreibe ich der IBM, wie sie ihre Programme ändern muss, damit der Fehler nicht mehr auftritt. Die Korrektur wird akzeptiert.
2007: Entwicklung des PL/1-Analyse- und Qualitätssicherungs-Tools PLIRULE; vergleichbar einem Compiler, aber schneller. Das Werkzeug kann bereits während der Entwicklungsphase eingesetzt werden und zeigt Syntax- und Logikfehler an; außerdem kann es dazu benutzt werden, regelgesteuert die Einhaltung von Firmenstandards bzw. Programmierrichtlinien abzusichern. Die Antwortzeiten liegen selbst für sehr große Programme (10000 Zeilen und mehr) im Sub-Sekunden-Bereich.
2006: Validierende Variante des XML-Parsers; die Validierung wird anhand von Schnittstellenbeschreibungen gesteuert (siehe 1998). Außerdem: Übersetzer für XSDs in diese Schnittstellenbeschreibungen.
2005: XML-Generator auf der Basis der Schnittstellenbeschreibungen des Testverfahrens (siehe 1998).
2004: Zentrale einheitliche Dumpaufbereitung für alle Umgebungen bei ALLIANZ Leben (Dialog, ATS, Batch)
2004: Nach vier Wochen intensiver Fehlersuche gelingt es mir nachzuweisen, dass der Fehler im IBM-Interface "Processor 11" liegt (Schnittstelle APL zu anderen Programmiersprachen). Die IBM akzeptiert das nach einigem Hin und Her. Aufgrund dieser Episode war die IBM offenbar bei späteren Preisverhandlungen zu erheblichen Zugeständnissen bereit.
2002: portabler schneller XML-Parser in C, von PL/1 aus aufrufbar. Zielsystem u.a. z/OS, aber auch Windows und Linux. Im Einsatz bei ALLIANZ Leben an vielen Stellen, u.a. für die Einarbeitung des ABS-Rückwegs in der Sparte Leben und für ein Projekt im Bereich Zahlungsverkehr.
2000: Betreuung und Weiterentwicklung des CCM-Systems der ALLIANZ-Lebensversicherung
1999: Schnelles Tabellenverwaltungssystem für Tarifinformationen bei der ALLIANZ Lebensversicherung
1998: Allgemeines Testverfahren mit dynamischen Schnittstellenbeschreibungen. Relativ beliebig komplizierte Schnittstellen lassen sich aufzeichnen und simulieren; dadurch sind Regressionstests mit maschinellen Vergleichen und einer großen Anzahl von Testfällen problemlos möglich. Das Testwerkzeug ist bei der ALLIANZ im regelmäßigen Einsatz für Software-Tests im Bereich Versicherungsmathematik.
1998: Design und Implementierung eines Verfahrens zur Abtrennung der physischen DB-Zugriffsschicht von der fachlichen Anwendungsschicht ohne Performanceverluste. Dadurch ist es möglich, mit statischem SQL performante DB-Hersteller-neutrale Anwendungen zu schreiben. Implementierungen für DB2, ORACLE und MySQL folgen. Bis heute bei den verschiedensten Kunden und Projekten im Einsatz; DB-Migrationen sind damit kein Problem mehr. Nebenbei geht die Anwendungsentwicklung mit diesem Werkzeug schneller und es passieren weniger Fehler.
1997: Erste Version des Datenbank-ETL-Tools (Extract-Transfer-Load) DB2XFER, das bis heute laufend weiterentwickelt wurde und für weitere Datenbanksysteme, z.B. ORACLE, zur Verfügung gestellt wurde.
1996: Erweiterung der Studienarbeit aus dem Jahr 1980 zum Scannergenerator, Umstellung auf C.
1996: Überarbeitung des
Programmsystems "Fahrdynamische Berechnungen":
Umstellung auf C, Portierung nach AIX (später Windows). Entkopplung
von Überhöhung und Kurvenradius wegen der neuen
Trassierungsmöglichkeiten. Das Programm läuft heute noch; letzte
Wartung im Jahr 2008 (vorletzte im Jahr 2000).
Beispiel für die
graphische Ausgabe des Programms
1996: Mitarbeit beim Aufbau eines Data Warehouse Systems für die SSB auf der Basis von extrahierten Daten aus SAP-Systemen
1996: Ermöglichen eines DLL-ähnlichen Mechanismus für den IBM-Großrechner (viele kleine Funktionen in einem Lademodul, die von außen einzeln ansprechbar sind - ohne Overhead). Eine ähnliche Lösung kam von der IBM erst Jahre später. Der Mechanismus ist bei der ALLIANZ bis heute im Einsatz - kein Grund zu wechseln, da er sich bestens bewährt hat.
1995: Schnittstelle zwischen APL und ALLIANZ-Leben-spezifischen PL/1- und C-Programmen
1995: Schnittstelle zwischen ABAP (SAP-Programmiersprache) und SQL/DS
1995: Portable Rundungsfunktion für Gleitkomma-Arithmetik; bis heute bei der ALLIANZ im Einsatz für den portablen Rechenkern der Versicherungsmathematik Leben.
1993: Programmsystem "Betriebsleistungsstatistik" für die SSB AG auf ORACLE-Basis (läuft heute noch)
1992: Andocken einer SSB-spezifischen Software an der (undokumentierten) SAP-Spool-Schnittstelle, um SAP-Druckausgaben mit SSB-spezifischen Layout-Objekten ergänzen zu können, ohne dabei teure Spezial-Hardware benutzen zu müssen. Diese Lösung hat über 10 Jahre funktioniert; für das entsprechende Know-How hat eine dritte Firma der SSB einen hohen Preis bezahlt.
1991: Die SSB AG führt SAP R/2 für den kaufmännischen Vorstandsbereich ein
1991: Generieren von COBOL-Programmen aus TABU-Reports für MPK Lodz. TABU ist eine komfortable Report-Generator-Sprache des polnischen ODRA-Rechners, der bei MPK durch eine IBM 4381 abgelöst werden soll. Deshalb braucht man für diese Reports eine Migrations-Strategie. Die IBM 4381 ist ein Geschenk der SSB AG, der Stadt Stuttgart und der IBM an die MPK bzw. die Partnerstadt Lodz.
1990: Durch die zunehmende Zahl der CAD-Systeme steigt das Plotaufkommen bei der SSB. Erstellung eines zentralen Plot-Servers auf dem IBM-Großrechner auf GKS-Basis mit papieroptimierter Positionierung der Zeichnungen etc.
1989: Schnittstelle zwischen PASCAL/VS und DMS/PANEL
1988: Berechnung von Zwangsbremskurven und Signalstandorten sowie Zugbeeinflussungs-Telegrammen für die Dienststelle "Zugsicherungsanlagen" (läuft heute noch)
1988: Schnittstelle zwischen SQL/DS und PASCAL/VS unter VM (wurde von IBM nicht angeboten). Damit war es möglich, PASCAL-Programme zu schreiben, die mit SQL/DS arbeiten.
1987: Die SSB AG kauft einen eigenen IBM-Großrechner (zunächst 4381). Einführung des relationalen Datenbanksystems SQL/DS bei der SSB.
1987: Einführung des Standard-Grafik-Systems GKS bei der SSB als Vorstufe der späteren CAD-Systeme. Dadurch wurde es möglich, die von den Programmen erzeugten Grafiken vor der Ausgabe auf den Plotter am Bildschirm zu begutachten.
1986: Grafische Ausgabe von Fahrplänen als Grundlage für die Fahrplankonstruktion (auf CalComp-Plotter)
1986: Überarbeitung des Programmsystems "Fahrdynamische Berechnungen": Umstellung auf PASCAL, außerdem grafische Ausgabe der Ergebnisse (auf CalComp-Plotter)
1985: Zusatzprogramme für das Fahrplansystem der SSB, z.B. für Aushangfahrpläne und Fahrermappen
1984 bis 1986: Systemverantwortlicher für den Bereich Kostenrechnung bei der SSB AG
1984 bis 1985: Studien- und Diplomarbeit an der Uni Stuttgart beim Institut für Eisenbahn- und Verkehrswesen ("Programmsystem zur Ermittlung des Modal Split für Verkehrswegeinvestitionen sowie zur Umlegung des Verkehrsaufkommens in ÖV- und IV-Netzen")
1982: Start der Entwicklung des Programmsystems "Fahrdynamische Berechnungen" für die SSB AG - zunächst in FORTRAN. Dieses Programmsystem ist bis heute (2014) bei der SSB im Einsatz.
1980: Übernahme der Leitung der Software-Entwicklung bei der Firma IPRO in Magstadt. Start der Entwicklung von IPRO-OPTIK; das ist eine Branchenlösung für Augenoptiker. Die Firma IPRO ist heute Marktführer in diesem Segment und arbeitet europaweit. Die heutigen Geschäftsführer wurden 1981 bzw. 1982 auf meine Empfehlung hin eingestellt. Ich selbst habe die Firma 1982 verlassen, um mein Studium zu beenden.
1980: Software-Praktikum "Erzeugung eines endlichen Automaten aus regulären Ausdrücken" in PASCAL auf dem Telefunken-Rechner TR 440 (mit 3 Kommilitonen). Dieses Programm habe ich später (1996) zu einem Scannergenerator erweitert und nach C portiert. Den Scannergenerator verwende ich noch heute bei allen möglichen Projekten.
1979: etliche RPG-II- und COBOL-Programme für die Buchhaltung und Kostenrechnung der Stuttgarter Straßenbahnen AG (SSB AG)