Habe bereits Erfahrungen mit Projekten im Ausland. Insbesondere auch mit weltweit verteilten Teams und bei der Integration von Nearshoring/Offshoring-Ressourcen.
Beschreibung:
Evaluation und Einarbeitung AI-Lösungen, Large Language Models (LLM), Small Language Models (SLM)
Entwicklung von Software und Scripts in Python, C++, Unix-Shell und PowerShell. Installation von Systemen für AI-Einsatz.
Umgebung:
Linux (Ubuntu, Debian, Red Hat RHEL), Windows 11, Meta Llama, ChatGPT, Mistral, LM Studio, TensorFlow, PyTorch, Python, C++, CUDA, Shell-Scripts (bash, zsh), PowerShell (Windows, teils auch Linux)
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Security und Kryptografie
Experte zur Programmierung in C und Assembler sowie Maschinencode
Beschreibung:
Sicherheits- und Schwachstellenanalysen und Exploit-Entwicklung. Programmierung in C, C++, Java, Go, Rust, Python, Ruby sowie Assembler (amd64, arm64, arm). Kernel-Programmierung in C (testweise in Rust) und Kernel-nahe Entwicklung (Linux) sowie eBPF (extended Berkeley Packet Filter). System- und Netzwerkkonfiguration inklusive Firewall/Filter-Rules (iptables, nftables, ebtables). Setup von Tor und VPNs.
Weitere Angaben nicht möglich.
Umgebung:
Kali Linux, Metasploit, Greenbone OpenVAS, Tenable Nessus, Ghidra, Wireshark, nmap, tcpdump, eBPF, gcc, clang, Java, Python, Unix-Shell (bash, ksh, zsh), Tor, diverse VPN-Lösungen
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Linux
Experte für Embedded-Linux
Senior Software Developer (C und C++)
Beschreibung:
Portierung der bestehenden Anwendung von Microcontroller-basierten Systemen auf Embedded-Linux mit container-basierter Architektur. Anbindung an Cloud / Mobile-App. Als Pilotsystem dienen Kühlschränke für den privaten Haushalt und für den professionellen Anwendungsbereich (Medizin, Großgastronomie etc.). Zukünftiger Einsatz des Linux-basierten Embedded-Systems sind Herde, Öfen, Mikrowellen und Waschmaschinen jeweils im privaten Haushalt und im professionellen Umfeld.
Analyse des bestehenden Systems (Hard- und Software ist Eigenentwicklung des Kunden) und dessen Anbindung an Kühltechnik, Sensorik und ans Netzwerk/Cloud bzw. Mobile-App. Analyse (Hardware und Software), Evaluation und Inbetriebnahme des neuen Embedded-Linux-Systems (zugekaufte OEM-Komponenten eines Zulieferers). Analyse der Hardware mittels Logic Analyser und Oszilloskop. Analyse der Netzwerkverbindung mit Network-Sniffer und Tools wie tcpdump und Wireshark. Analyse der Software mittels Debugging, Tracing und Reverse-Engineering.
Entwicklung von LXC-Containern und Deployment via Pantavisor. Portierung bestehender Build-Prozesse von (nativem) Visual Studio auf CMake. Flashing (Installation) von neuer System-Firmware auf die Embedded-Linux-Systemplatine. Erarbeiten und Anfordern neuer Features und Bugfixes für die System-Firmware beim OEM-Partner.
Aufbereiten von Analyse-Ergebnissen und fachlich qualifiziertes Feedback an den OEM-Partner. Beratung des Kunden zum weiteren Vorgehen und Einschätzen der Rückmeldungen des OEM-Partners.
Mitarbeit beim Etablieren eines Remote-Update-Services für die Prototypen in den Testhaushalten.
Dokumentation in englischer Sprache (Projektsprache).
Entwicklung eines Kommunikationsmoduls und Steuerungssystems für Kühlschränke mit Anbindung an Mobile-App und Internet. Unterstützung für Streaming mehrerer Kameras im Kühlschrank. Ermittlung welche bestehenden Code-Teile des Altsystems (Espressif EK057) auf die neue Embedded-Linux-Plattform sinnvoll portiert werden können und welche Teile neu entwickelt werden müssen.
Virtualisierte Embedded-Architektur mit diversen Containern (LXC) auf ARM-Systemen (Pantavisor). Hardwarenahe Entwicklung zum Auslesen des Hardware-Systembuses (Anbindung Kühltechnik). Anfangs Entwicklung in C (gcc) später Wechsel auf C++ und Linux D-Bus. Build mit CMake.
Evaluierung diverser Linux-Distributionen für Embedded-Systeme, u. a. Alpine-Linux und kundeneigenes Embedded-Linux. Schließlich Yocto-basiertes Basissystem und Linux-Container für Netzwerk, Hardware (Kühltechnik), Steuerung und Kommunikation (Mobile-App, Cloud).
Security-Themen: Hardening, Secure-Storage, Zertifikate, Verschlüsselung
Umgebung:
Virtualisierung: Pantacor Pantavisor, LXC
Build: Yocto, Ubuntu, Linux, Gitlab, Docker, CMake
Programmierung: C, C++, Unix-Shell (bash, zsh), Python, Ruby, Linux D-Bus, RESTful Services (REST-API), Visual Studio (Altsystem), Android und iOS (App-Test)
Hardware: Embedded-Systeme (ARM64), Mikrocontroller (Espressif EK057)
Methodisch: Scrum, Kanban
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Linux / Unix
Experte für Java EE bzw. Jakarta EE
Beratung Security und Automatisierung
Know-how-Transfer
Beschreibung:
weitere Angaben nicht möglich
Umgebung:
Linux (SuSE und Red Hat RHEL), Tomcat, JBoss, Puppet, Ansible, Kryptografie, Java, Ruby, Python, Unix-Shell
weitere Angaben nicht möglich
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Linux
DevOps
Beschreibung:
Erstellen von Linux-Device-Image für einen Rasenmähroboter mit Cloud und App-Anbindung. Die Linux-Systemimages basieren auf Yocto. Entwicklung eines Docker-basierten, automatisierten Build-Prozesses fürs Continuous Integration (CI). Fehleranalyse in Infrastruktur und Software. Schaffen einer Lösung zum isolierten Testen von D-Bus-Anwendungen.
Dokumentation (Markdown) in englischer und deutscher Sprache.
Umgebung:
Yocto, Ubuntu, Linux, git, gitlfs, bitbucket, Docker, CMake, C, C++, Unix-Shell (bash), Embedded-Systeme, Bamboo, D-Bus, STM32 Cube IDE, Boost, Codesonar, Pandoc, Markdown, ARM-Plattform
Methodisch: Scrum
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Beratung
Redaktion
Dokumentation
IT-Security
Fachmann für Bank-IT
Beschreibung:
Dokumentation, Qualitätssicherung und Beratung im Zuge der bankfachlichen und behördlichen Zertifizierung eines Payment-Dienstleisters einer Bank. Mitarbeit in der Systemtechnik zur Analyse und Vorbereitung der Dokumentation. Dokumentation in englischer Sprache in einem Markdown-basierten System.
Umgebung:
Linux, Kubernetes, Proxmox, git, Docker, Markdown
Methodisch: Scrum
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Software-Developer
Experte für Linux und Java-Systeme
Beschreibung:
Entwicklung in Go und Java zur Einbindung von Cortex in OpenNMS. Planung der Entwicklung. An- und Einbinden der Cortex-Community in OpenNMS; Identifizieren und Nutzen von Synergien. Dokumentation in englischer Sprache.
Umgebung:
Linux, Cloud, Go (Golang), Java, OpenNMS, Cortex (Time Series Storage), Unix-Shell-Programmierung (bash und zsh), git, GitHub
Methodisch: Scrum
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Beratung zu Kryptografie und Software-Entwicklung
App- und Webprogrammierung
System- und Kernel-Programmierung
Android-Security
Beschreibung:
Weiterentwicklung einer Android-App. Entwicklung einer verschlüsselten lokalen Datenbank für Android-Devices zur Aufnahme von Transaktionsdaten. Entwicklung eines zugehörigen Webservice als Prototyp. Beratung zum Cryptography Engineering.
Build und Modifikation von Android-Images (Android Open Source Project, AOSP) auf Google Pixel-Smartphones. Linux- und Android-Kernel-Programmierung. Sicherheitsbewertungen des Android-Systems inkl. Penetrationstests und Exploit-Entwicklung.
Automatisierung von Build (Android App) über Jenkins und GitLab mit Linux-Shell-Scripts.
Umgebung:
Android, Android Studio, Java, Room als Persistence Layer, SQLite, SQLCipher, Bouncy Castle, Java Cryptography Extension (JCE), Webservices in Spring Boot, Kernel- und Systemprogrammierung in C/C++
DevOps: Android Flavors, Jenkins, GitLab, Sonatype Nexus, Shell-Scripting (bash)
Infrastruktur: macOS, Linux
Methodisch: Scrum
Sprachen:
Positionen / ausgeführte Tätigkeitsfelder:
Code-Review und Architekturanalyse
Beratung zu Kryptografie
Beschreibung:
Analyse der bestehenden Implementierung in C für eine Embedded-Plattform. Code-Review und Architekturanalyse. Vorhandener Public-Key-Ansatz in RSA war theoretisch (mathematisch) gut, aber in der Praxis nicht tragfähig auf dem Embedded-System. Vorschlag eines alternativen Ansatzes mit Kryptografie über elliptischen Kurven. Zudem Vorschlag einer optimierten AES-Implementierung.
Umgebung:
C, Embedded, IoT
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Linux-Kernel-Programmierung
Software-Entwicklung für Server-Backend und Embedded Clients (Router)
Fehleranalyse und Troubleshooting (auch auf Produktivsystemen)
Systemdefinition und -provisionierung in Cloud-Umgebung
Testplanung und -durchführung
Beschreibung
Ziel des Bonding-Lösung beim Kunden ist die Aggregation von DSL und LTE zur Bandbreitenerweiterung sowie der Failover von DSL auf LTE bei Ausfall der DSL-Anbindung. Die Lösung besteht aus einem dedizierten Backend (SOCKS5) und einem Router (CPE) bei Endkunden.
Software- und Systementwicklung
Hierzu war ich mit der Weiterentwicklung und Optimierung der Bonding-Lösung auf Basis von Multipath TCP (MPTCP) und SOCKS5 beauftragt. Dies erforderte Kernel-Programmierung in C und Entwicklung von Patches für den Linux Kernel und MPTCP. Ziel war hier ? neben der Fehlerbehebung ? vor allem die Stabilisierung und Optimierung für den speziellen Einsatzbereich beim Kunden.
Anpassen des SOCKS5-Servers (Dante) für MPTCP.
Ermitteln und Definieren von Systemparametern der Linux-Server-Systeme für den optimalen, sicheren und performanten Betrieb als Netzwerk-Router- und -Proxy.
Entwicklung und Portierung von Analyse-Software für das CPE mit Hilfe der Broadcom Toolchain. Erstellen von Systemimages für das CPE.
Analyse und Fehlerbehebung
Analyse von Crash-Dumps des Linux Kernels und mittels Kernel Debugging.
Analyse von Network-Dumps mittels tcpdump und Wireshark.
Dies jeweils in Entwicklung und Staging sowie bei Produktionsproblemen auch auf/für Produktionssysteme.
Systemadministration
Unterstützung und Vertretung bei der Systemadministration der Produktionsumgebung unter VMware (Altumgebung) und OpenStack (neu). Sonst 3rd-Level-Support bei Produktionsproblemen.
Administration einer dedizierten Testumgebung für CPE-Tests.
Entwicklung von Manifesten für Puppet und Playbooks für Ansible für Test, Staging und Produktion.
Testing
Definition von Tests und Dokumentation (Test-Drehbuch) desselben. Definition von Test-Cases auf Basis von Use-Cases. Definition eines Traffic-Mix aus üblichen Diensten anhand von Traffic-Statistiken für die Schweiz. Definition von passenden Last- und Performance-Test-Gruppen für neue und angepasste Linux-Kernel, das Server-Backend (inkl. SOCKS5) sowie für die Kunden-Router (CPE). Umsetzen der Tests in BreakingPoint und JMeter mit Steuerung über Ruby-, Python- bzw. Shell-Scripts. Entwicklung von Testtreibern in Java, C und Go (Golang).
Optimierung und Migration einer Last- und Performance-Testumgebung für das Backend mit emulierten CPE. Aufbau einer dedizierten Test- und Analyseumgebung für das CPE und alternative Lösungen.
Unterstützung bei der Entwicklung und Integration eines 4G/5G-Emulators. Entwicklung eines Systems zum Traffic Shaping und zur Netzwerk Analyse auf Basis von Linux und Embedded-Hardware. Transparente Integration mehrerer dieser Shaping- und Analyse-Systeme in die Testumgebung.
Test und Evaluation von alternativen Lösungsansätzen und Drittanbietersoftware.
Umgebung:
Systemumgebung: Linux (Ubuntu, Debian, Red Hat Enterprise Linux, CentOS), VMware, OpenStack, Puppet, Ansible, Prometheus, Splunk, Nagios, Icinga, Broadcom-basierte Router
Clustering mit (anfangs) UCARP (Common Address Redundancy Protocol, CARP) und (später) Virtual Router Redundancy Protocol (VRRP) über keepalived unter Linux
Entwicklung: Vagrant, VirtualBox, GNU C (gcc), Ruby, Python, Shell-Scripting (bash), Buildroot, Broadcom Toolchain, Linux Kernel Networking (Patch-Entwicklung)
Netzwerk: TCP/IP-Suite, IPv4, IPv6, Multipath TCP (MPTCP), DSL, LTE, 4G, 5G, Glasfaser (Glass Fibre), tagged VLAN (IEEE 802.1Q), DHCP-Server und -Clients, SOCKS5 (Server und Client)
Firewall und Bridge: iptables, ip6tables, ebtables, brctl, bridge
Test: Ixia BreakingPoint, JMeter, iperf, iperf3, Linux TrafficControl (tc), selbst entwickelte Scripts und Testtreiber (Ruby, Python, Unix Shell, Java, C, Go) sowie selbst entwickeltes System für Traffic Shaping und Network Analysis, Emulator für 4G- und 5G-Devices
Analyse: Wireshark, tcpdump, Kernel Debugging, Crash-Dump-Analyse, Netdata
Methodisch: Scrum (Tool: JIRA)
08.2017 ? 07.2020: Weiterentwicklung einer Bonding-Lösung (DSL und LTE), Evaluation von Alternativlösungen
Positionen / ausgefüllte Tätigkeitsfelder:
Linux-Kernel-Programmierung
Software-Entwicklung für Server-Backend und Embedded Clients (Router)
Fehleranalyse und Troubleshooting (auch auf Produktivsystemen)
Systemdefinition und -provisionierung in Cloud-Umgebung
Testplanung und -druchführung
Branche:
Telekommunikation / Internet-Provider
Umgebung:
Systemumgebung: Linux (Ubuntu, Debian, Red Hat Enterprise Linux, CentOS), VMware, OpenStack, Puppet, Ansible, Prometheus, Splunk, Nagios, Icinga, Broadcom-basierte Router
Clustering mit (anfangs) UCARP (Common Address Redundancy Protocol, CARP) und (später) Virtual Router Redundancy Protocol (VRRP) über keepalived unter Linux
Entwicklung: Vagrant, VirtualBox, GNU C (gcc), Ruby, Python, Shell-Scripting (bash), Buildroot, Broadcom Toolchain, Linux Kernel Networking (Patch-Entwicklung)
Netzwerk: TCP/IP-Suite, IPv4, IPv6, Multipath TCP (MPTCP), DSL, LTE, 4G, 5G, Glasfaser (Glass Fibre), tagged VLAN (IEEE 802.1Q), DHCP-Server und -Clients, SOCKS5 (Server und Client)
Firewall und Bridge: iptables, ip6tables, ebtables, brctl, bridge
Test: Ixia BreakingPoint, JMeter, iperf, iperf3, Linux TrafficControl (tc), selbst entwickelte Scripts und Testtreiber (Ruby, Python, Unix Shell, Java, C, Go) sowie selbst entwickeltes System für Traffic Shaping und Network Analysis, Emulator für 4G- und 5G-Devices
Analyse: Wireshark, tcpdump, Kernel Debugging, Crash-Dump-Analyse, Netdata
Methodisch: Scrum (Tool: JIRA)
Beschreibung:
Ziel des Bonding-Lösung beim Kunden ist die Aggregation von DSL und LTE zur Bandbreitenerweiterung sowie der Failover von DSL auf LTE bei Ausfall der DSL-Anbindung. Die Lösung besteht aus einem dedizierten Backend (SOCKS5) und einem Router (CPE) bei Endkunden.
Software- und Systementwicklung
Hierzu war ich mit der Weiterentwicklung und Optimierung der Bonding-Lösung auf Basis von Multipath TCP (MPTCP) und SOCKS5 beauftragt. Dies erforderte Kernel-Programmierung in C und Entwicklung von Patches für den Linux Kernel und MPTCP. Ziel war hier ? neben der Fehlerbehebung ? vor allem die Stabilisierung und Optimierung für den speziellen Einsatzbereich beim Kunden.
Anpassen des SOCKS5-Servers (Dante) für MPTCP.
Ermitteln und Definieren von Systemparametern der Linux-Server-Systeme für den optimalen, sicheren und performanten Betrieb als Netzwerk-Router- und -Proxy.
Entwicklung und Portierung von Analyse-Software für das CPE mit Hilfe der Broadcom Toolchain. Erstellen von Systemimages für das CPE.
Analyse und Fehlerbehebung
Analyse von Crash-Dumps des Linux Kernels und mittels Kernel Debugging.
Analyse von Network-Dumps mittels tcpdump und Wireshark.
Dies jeweils in Entwicklung und Staging sowie bei Produktionsproblemen auch auf/für Produktionssysteme.
Systemadministration
Unterstützung und Vertretung bei der Systemadministration der Produktionsumgebung unter VMware (Altumgebung) und OpenStack (neu). Sonst 3rd-Level-Support bei Produktionsproblemen.
Administration einer dedizierten Testumgebung für CPE-Tests.
Entwicklung von Manifesten für Puppet und Playbooks für Ansible für Test, Staging und Produktion.
Testing
Definition von Tests und Dokumentation (Test-Drehbuch) desselben. Definition von Test-Cases auf Basis von Use-Cases. Definition eines Traffic-Mix aus üblichen Diensten anhand von Traffic-Statistiken für die Schweiz. Definition von passenden Last- und Performance-Test-Gruppen für neue und angepasste Linux-Kernel, das Server-Backend (inkl. SOCKS5) sowie für die Kunden-Router (CPE). Umsetzen der Tests in BreakingPoint und JMeter mit Steuerung über Ruby-, Python- bzw. Shell-Scripts. Entwicklung von Testtreibern in Java, C und Go (Golang).
Optimierung und Migration einer Last- und Performance-Testumgebung für das Backend mit emulierten CPE. Aufbau einer dedizierten Test- und Analyseumgebung für das CPE und alternative Lösungen.
Unterstützung bei der Entwicklung und Integration eines 4G/5G-Emulators. Entwicklung eines Systems zum Traffic Shaping und zur Netzwerk Analyse auf Basis von Linux und Embedded-Hardware. Transparente Integration mehrerer dieser Shaping- und Analyse-Systeme in die Testumgebung.
Test und Evaluation von alternativen Lösungsansätzen und Drittanbietersoftware.
Auftraggeber / Kunde: Telekommunikationsunternehmen
Standorte: Schweiz
Sprachen: Englisch, Deutsch, (teilw. Französisch)
05.2016 ? 07.2016: Implementierung von effizienten kryptographischen Algorithmen
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Kryptographie und
Cryptography Engineering
Programmierung in C++
Branche:
Industrie
Umgebung:
C++, Advanced Encryption Standard (AES), Elliptic Curve Cryptography (ECC)
Beschreibung:
Implementierung von kryptographischen Algorithmen in C++. Lizenzierung der Ergebnisse an den Kunden.
Auftraggeber / Kunde: Industriebetrieb
Standorte: USA (remote)
Sprachen: Englisch
11.2015 - 04.2016: Projektleitung im Bereich der Rettung eines "Death March Project": Integration eines CRM-Systems bei massiven Technologiewechsel
Positionen / ausgefüllte Tätigkeitsfelder:
Spezialist für Projektkonsolidierung
Spezialist für Deployment- und Entwicklungsprozesse
Experte für mehrschichtige Anwendungen
Branche:
Umgebung:
Java EE, WebSphere AS 7 und 8.5, WebSphere MQ, JBoss EAP 6.4, AIX, Red Hat Enterprise Linux (RHEL), SuSE Linux Enterprise Server (SLES), z/OS, DB2 UDB, DB2 MVS, Informix, IMS, CICS, Dynatrace, UC4
Beschreibung:
Übernahme der Projektleitung eines Infrastrukturprojekt von einem Interims-Projektleiter. Projekt ist eingebettet in einem Programm bestehend aus 5 Projekten. Infrastruktur gegliedert in drei Teilprojekte mit jeweils eigenen Teilprojektleitern. Aufgabe: Rettung des Projekts durch Korrektur im Bereich technische Umsetzung und Organisation. Krisenmanagement. Berichterstattung nicht nur an Programmleitung, sondern auch an Geschäftsleitung. Ausarbeitung zu technischen und organisatorischen Maßnahmen.
Auftraggeber / Kunde: Versicherung
Standorte: Deutschland
Sprachen: Deutsch
01.2014 - 12.2017: Entwicklung einer App, Desktop-Clients und zugehöriger Enterprise Application im
kryptographischen Umfeld
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Android 4.x, Android 5.x, iOS 7, iOS 8, Mac OS X 10.x, Windows 7, Windows 8.x, Linux-Systeme mit KDE und GNOME
Java EE 6 und Java EE 7, JBoss EAP 6.x und Wildfly 8.x, MySQL 5.5 bzw. MariaDB 5.5 EJB 3, JPA 2, Hibernate, Webservices
Google Cloud Messaging (Cloud Connection Server, CCS, XMPP), Apple APNS, Apache ActiveMQ
Beschreibung:
In der ersten Phase: Entwicklung einer App für Android sowie die zugehörige Enterprise Application (Java EE) basierend auf EJB 3 und Webservices.
Zweite Phase: Entwicklung einer App für iOS. Dritte Phase: Entwicklung von Desktop-Clients.
Ausarbeitung der kryptographischen Algorithmen und Protokolle auf Basis von elliptischen Kurven (Curve25519 + Eigenentwicklung) und Blockchiffren (AES + Eigenentwicklung). Sicherheitsbewertung der Protokolle, Verfahren und Algorithmen inklusive Kryptanalyse.
Auftraggeber / Kunde: Software-Startup
Standorte: Deutschland
Sprachen: Deutsch, Englisch
02.2013 - 03.2015: Beratung Migration Sozialversicherung
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Sozialversicherung
Umgebung:
Zu migrierende Anwendung: Java EE Enterprise Application mit zusätzlichen Standalone-Prozessen (Printing via DOPE) basierend auf Spring, Hibernate und EJB 2.1 mit angebundenem Fat-Client (Eclipse-basiert)
Aktuelle Produktivumgebung: AIX 5.3 mit WebSphere AS 7.0 ND (Cluster über zwei Lokationen), Tivoli Directory Server 6.3 (Cluster über zwei Standorte), DB2 UDB 9.7 (HACMP-Cluster), Icon DOPE und UC4
Angestrebte neue Zielumgebung (proof of concept): Windows Server 2008 R2 mit HyperV und bereitgestellem WebSphere AS 7.0 ND, Tivoli Directory Server 6.3, DB2 UDB 9.7; Icon DOPE; UC4-Batchjob-Executoren auf Red Hat Enterprise Linux (RHEL) 6
Angestrebte Umgebung im Zielbild: Windows Server 2012 mit HyperV und bereitgestellem WebSphere AS 8.5 ND, Tivoli Directory Server 6.3, DB2 UDB 10.x; Icon DOPE auf Windows; UC4-Batchjob-Executoren auf Red Hat Enterprise Linux (RHEL) 6
In beiden Umgebungen ist eine große Cluster-Umgebung über zwei Lokationen über WAN-Strecke bereitzustellen:
WebSphere-Cluster mit mehreren Zellen und Knoten im unteren zweistellen Bereich und Cluster-Membern im deutlich zweistelligen Bereich
LDAP-Cluster mit Tivoli Directory Server in Master-Master-Replikation und vorgeschaltetem Alteon-Hardware-Load-Balancer
DB2 UDB-HA-Cluster
In beiden Umgebungen (AIX wie Windows) angebundene Umsysteme: SAP R/3 (mittels Libarados Resource Adapter), Legacy CICS-Anwedung in COBOL auf z/OS 1.12 mit DB2 9.5 for z/OS sowie FileNet auf AIX
Notwendige Programmierkenntnisse: Java EE, Spring, Hibernate, Unix Shell, Perl, Jython, Windows PowerShell
Beschreibung:
An dem Aufbau der ursprünglichen Zielumgebung auf AIX und der Sozialversicherungssoftware war ich ursprünglich als IT-Architekt und Experte für Java EE, Unix und WebSphere sowie Tivoli Directroy Server und später als technischer Projektleiter beteiligt. Im Zuge einer neuen strategischen Ausrichtung ? weg von AIX, hin zu Windows ? berate und begleite ich das neuerliche Projekt als Experte für die genannten Technologien und die Sozialversicherungslösung.
Dies umfasst Beratung und Bewertung der Systemarchitektur, Performance-Analyse und Migration der Deployment- und Konfigurationsprozesse. Kommunikation etwaiger technischer und applikatorischer Änderungen an das Offshoring-Team eines großen Software-Herstellers in Indien.
Durchführung eines ?Proof of Concept?, welcher Nachwies, dass die Applikation in der Windows-Cloud inklusive der Anbindung der Umsysteme technisch und fachlich korrekt funktioniert. Automatisierung der Umgebungsprovisionierung, der Configuration der WebSphere-, Tivoli-Directory- und DB2-Umgebung sowie des Applikations-Deployments mit PowerShell und Jython. Beratung zur Gestaltung einer Architektur auf Windows unter Performance und Hochverfügbarkeitsgesichtspunkten sowie für einen kostendefensiven Plattform- und Applikationsbetriebs.
Auftraggeber / Kunde:
Sozialversicherer und dessen IT-Betreiber
Standorte: Schweiz
Sprachen: Deutsch, Englisch
08.2012 - 12.2013: Teilprojektleitung Trennung Systeme für Test und Produktion gemäß MaRisk
Positionen / ausgefüllte Tätigkeitsfelder:
Teilprojektleiter
Spezialist für IT-Architektur
Branche:
Baufinanzierung
Umgebung:
Offene Systeme: Red Hat Enterprise Linux (RHEL), WebLogic 10.x, WebLogic 12c, JBoss 4 EAP, JBoss 6 EAP AIX, Oracle 10g/11g, Hibernate, Spring, EJB 2.x, EJB 3.0, FileNet, Connectoren für CICS und IMS, Java, CORBA, Net Phantom, Tivoli Identity Manager (TIM), Windows 2008 R2, Active Directory, ClearCase, ClearQuest, Jenkins
Mainframe: z/OS 1.11 und 1.13, DB2, IMS, Assembler, COBOL, CORBA, Anbindung an externes CICS (Schufa)
Fachlicher Kontext: Mindestanforderungen an das Risikomanagement (MaRisk), Gesetz über das Kreditwesen (KWG), Bundesdatenschutzgesetzt (BDSG), Grundsätze ordentlicher Buchführung (GoB), Grundsätze zum Datenzugriff und zur Prüfbarkeit digitaler Unterlagen (GDPdU)
Beschreibung:
Physikalische/logische Trennung der Systeme und Infrastruktur der Bank für Test/Entwicklung und Produktion. Teilprojektleitung ?dezentrale Systeme? für die erste Phase zur Ermittlung der betroffenen Produkte, Software- und Hardwarekomponenten sowie Prozesse. Adaption der Definitionen im zentralen Umfeld auf die dezentralen Systeme. Aufwandsschätzung für die zweite Phase ?Umsetzung?, welche in 2014 startet. Beratung zur Übertragbarkeit der Ergebnisse im Mainframe-Umfeld auf Unix-, Linux- und Windows-Systeme.
Definition der Netzwerkzonen gemäß des ermittelten Schutzbedarfs sowie betrieblichen und applikatorischen Prämissen. Abstimmung der Ergebnisse mit den Abteilungen der internen Revision und IT Security.
Erarbeiten eines dynamischen Migrationskonzepts zur Verlagerung der Systeme in die getrennten Netzwerkzonen, welches die Kommunikationsbeziehungen dynamisch ermittelt sowie Firewalls sukzessive trotz minimaler Beeinträchtigung des IT-Betriebs restriktiver gestaltet. Schließlich führt es im Zielbild zu einer klaren Trennung der Netzwerkzonen ohne die Gefahr einer nachträglich ?Aufweichung? der Sicherheitsstandards wie sie beim Nachträglichen einziehen von Firewalls in historisch gewachsene Umfelder grundsätzlich besteht.
Leitung und Planung der Umsetzung im Bereich ?dezentrale Systeme? sowie Koordinierung zwischen hybriden Arbeitspaketen mit Anteilen aus zentraler Welt (Mainframe) und dezentraler Welt (Unix, Linux, Windows).
Auftraggeber / Kunde: Systemhaus / Bank
Standorte: Deutschland
Sprachen: Deutsch
09.2013 - 10.2013: Beratung im Zusammenhang mit einem crashing JBoss-Cluster
Positionen / ausgefüllte Tätigkeitsfelder:
Berater für JBoss AS und JBoss EAP
Branche:
Telekommunikation
Umgebung:
Red Hat Enterprise Linux (RHEL), JBoss EAP 5.x, JBoss AS 5.x, JBoss EAP 6.1, JBoss AS 7.x
Beschreibung:
Nach der Migration einer Applikation von JBoss AS 5.x bzw. EAP 5.x auf JBoss AS 7.x bzw. JBoss EAP 6.1 kam es zu unvorhersehbaren Crashs der Cluster-Umgebung. Unterstützung bei der Problembehebung durch Beratung und Fehleranalyse. Beratung zur Optimierung der Garbage-Collection.
Auftraggeber / Kunde: Systemhaus
Standorte: Deutschland
Sprachen: Deutsch
08.2013 - 10.2013: Beratung zu Assembler-Konsoldierung und Mainframe-Rehosting
Positionen / ausgefüllte Tätigkeitsfelder:
Berater für Legacy-Konsolidierung und Software Engineering
Branche:
Baufinanzierer
Umgebung:
z/OS, High-Level-Assembler, Assembler, COBOL, Java, IMS/TM
Rehosting: z/Linux, Red Hat Enterprise Linux (RHEL), Oracle Tuxedo mit Application Runtime for IMS, MicroFocus Enterprise Studio, z/PDT, IBM RD&T, RDz
Beschreibung:
Beratung zur automatischen Transformation von Assembler-Code zu COBOL bzw. Java. (Als Voraussetzung sowohl für ein Rehosting, als auch als Einstieg in die Mainframe-Modernisierung.)
Beratung zu Rehosting-Platformen und wie die notwendige Performance sowohl für Testumgebungen, als auch für Produktionsumgebungen erreicht werden kann.
Unterstützung für die Projektanbahnung für 2014.
Auftraggeber / Kunde: Systemhaus / Bank
Standorte: Deutschland
Sprachen: Deutsch
05.2012 - 10.2013: Fehleranalyse WebLogic, Evaluation Migration auf JBoss
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Offene Systeme: Red Hat Enterprise Linux (RHEL), WebLogic 10.0, WebLogic 12c, AIX, Oracle 10g, Hibernate, Spring, EJB 2.x, EJB 3.0, Filenet, Connectoren für CICS und IMS, JDBC-Zugriff auf Oracle 10g, DB2 MVS
Mainframe: z/OS 1.10, CICS Transaction Server, DB2, IMS
Analysewerkzeuge: CA Wily Introscope, Oracle Enterprise Manager, sar, tcpdump, wireshark, jhat, jmap
Alternative Java EE-Umgebung: JBoss 7, JPA2
Beschreibung:
Auftraggeber / Kunde: Systemhaus / Bank
Standorte: Deutschland
Sprachen: Deutsch
07.2012 - 11.2013: Beratung Fehleranalyse und Optimierung Java EE
Positionen / ausgefüllte Tätigkeitsfelder:
Berater Architektur
Spezialist für Java EE
Branche:
Versicherung
Umgebung:
Debian GNU/Linux 6, Apache Tomcat 7, Apache HTTP-Server 2.4, Apache JServ Protocol (AJP)
Monitoring-Werkzeuge: Java Melody, Nagios
Analysewerkzeuge: Eclipse Memory Analyser 1.2.0, IBM Heap Analyser 4.3.x, GCViewer 1.28, Samurai 2.1.6
Beschreibung:
Analyse von Stabilitätsproblemen im Lasttest mittels Auswertung von Tomcat-Logs und Garbage-Collector-Logs sowie Java-Heap-Dumps; Ermittlung der Ursachen der Stabilitätsprobleme
Beratung zur Optimierung der Garbage-Collection (Concurrent- vs. Parallel-GC, Optimierung der Ratio); Begleitung weiterer Lasttests
Review der Anwendungs- und Systemarchitektur und Hinweise auf Problemherde; Beratung zur Optimierung
Auftraggeber / Kunde: Systemhaus / Versicherungskonzern
Standorte: Deutschland
Sprachen: Deutsch
10.2011 - 07.2012: Integration und Entwicklung einer Versicherungslösung
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Offene Systeme: AIX 5.3 und 6.1, TXSeries 5.1 und 7.1, JBoss 5.x, Tomcat 6.x, DB2 UDB 9.5 und 9.7, Eclipse Indigo, Java, ANSI C, GNU C (gcc), Cygwin, Subversion, Icon DOPE, PVCS, CICS Transaction Gateway 7, Webservices (Apache Axis2, Apache CXF, gSOAP)
Teilweise Windows-Terminalserver
Mainframe: z/OS 1.10, CICS Transaction Server 3.2, DB2 9.x, IBM XL C/C++, PVCS, CICS Transaction Gateway (CTG)
Beschreibung:
Seit März: Technischer Projektleiter Staging und Infrastruktur. Konsolidierung des Vorgehens und der Systemumgebungen.
Auftraggeber / Kunde: Systemhaus und Versicherungskonzern
Standorte: Schweiz, Deutschland
Sprachen: Deutsch, Englisch, teilw. Französisch
seit 01.2009: Beratung und Recherche Legacy-Konsolidierung
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
IBM Mainframe: z/OS 1.8 bis 1.10, Micro Focus Enterprise Server, Micro Focus Enterprise Studio, Oracle Tuxedo mit JES/JCL-Runtime-Engine, WebSphere AS 5.x und 6.x, WebSphere MQ 6.x bis 7.x, CICS, DB2
Ehemalige DEC-Systeme: OpenVMS 7.3 bis 8.3 auf VAX und Alpha, Stromasys CHARON, WebSphere MQ 6.x
Bereich Anbindung: Linux (SLES, RHEL) auf x86 und System z, AIX, HP/UX, (Open)Solaris, Windows, WebSphere MQ 6.x und 7.x, WebSphere AS 6.x und 7.x, WebLogic 11g, JBoss 5 und 6, GlassFish 3.x
Beschreibung:
Mehrere Kurzzeiteinsätze im Bereich Beratung und Training zur Konsolidierung, Migration und Rehosting von Legacy-Systemen (z/OS und OpenVMS) sowie sichere Anbindung derselben an Unix, Linux und Windows. Erarbeiten und veröffentlichen mehrerer Artikel zum Thema. Parallel zu den Recherchen zum Buch mit dem Arbeitstitel "z/OS verstehen und anbinden".
Ausarbeiten und Analysieren von betriebswirtschaftlichen Bewertungen im Hinblick auf Einsparungspotential und Return of Investment (ROI) bei Rehosting und Migration.
Auftraggeber / Kunde: diverse
Standorte: Deutschland, Schweiz, UK
Sprachen: Deutsch, Englisch
07.2009 - 09.2011: Kryptografisches System zur Zahlungsabwicklung
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
JBoss und WebSphere als Java EE-Plattformen, Prototyping auf GlassFish; MySQL 5, DB2 UDB 9.5; Windows, diverse Unix, Linux; mobile Systeme: Android, iPhone, Java ME, Symbian; Microcontroller Atmel AVR und ARM
Beschreibung:
Mathematische Ausarbeitung von kryptografischen Protokollen und Umsetzung der Protokolle in lauffähigen Hard- und Software-Prototypen; Sicherheitsanalyse und Kryptanlyse in Zusammenarbeit mit universitärem Umfeld; Ausarbeiten von Patentanträgen; Entwicklung von Prototypen in Hardware (Microcontroller-Schaltungen) und in Software; Einsetzte Kryptografiestandards: AES, Elliptic Curve Cryptography (ECC) und RSA
Auftraggeber / Kunde: Ursprünglich Eigenentwicklung; jetzt: verschiedene Finanzdienstleister
Standorte: Deutschland, Schweiz
Sprachen: Deutsch, Englisch
09.2011 - 11.2011: Beratung zu "Mobile Security Rules"
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Serverumgebung: Java EE, Webservices (REST und SOAP), Oracle SQL Connect, SAP RPC
Mobile Umgebungen: Apple iOS 4 und 5 (iPhone, iPad), Android, RIM Blackberry und teilweise Windows Mobile Java, Objective C, HTML 5
Beschreibung:
Beratung für ein Projekt im Bereich "Mobile Security Rules", welche das Erstellen von verbindlichen und optionalen sowie generischen und spezifischen Sicherheitsregeln für das Entwickeln von mobilen Anwendungen zum Ziel hat. Der Fokus liegt hier sowohl auf unternehmensinternen Anwendungen, die einen Zugriff auf sensible Daten erfordern, als auch auf Kunden-Apps. Dokumentation in englischer Sprache.
Auftraggeber / Kunde: Systemhaus
Standorte: Deutschland
Sprachen: Deutsch, Englisch
07.2011: Beratung zur Java EE-Architektur und WebLogic
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Oracle WebLogic 10.3 (11g), Oracle 11g, Spring, Hibernate, Eclipse, Maven, Hudson, JRebel
Vorgehensmodell: SCRUM
Beschreibung:
Beratung im Bereich Java EE-Architektur im Hinblick auf Performance-Probleme in der Dreierkonstellation Oracle-WebLogic-Hibernate. Parallel Reduzierung der Turnaround-Zeiten in der Entwicklung durch JRebel.
Auftraggeber / Kunde: Mittelständisches Systemhaus
Standorte: Deutschland
Sprachen: Deutsch
12.2009 - 01.2011: System für Pflegeprozessmanagement
Positionen / ausgefüllte Tätigkeitsfelder:
Projektleiter
Architekt
Requirements Engineering, Design
Branche:
Medizinische Dauerpflege und Altenpflege
Umgebung:
JBoss 5, WebSphere AS 7, WebSphere Process Server 6.1, Apache ODE; Windows, Linux; OpenJPA; DB2 UDB 9.x, MySQL 5; NetBeans 6.x; EJB3, AJAX, Java Server Faces (JSF), ICEfaces
Vorgehensmodell: ICONIX
Fachliche Standards: NIC, RAI und NANDA sowie spezielle Expertenstandards
Beschreibung:
Entwicklung eines Java EE-basierten Pflegeprozessmanagements
Kostenschätzung mit COCOMO II basierend auf Function-Points und Object-Point-Methode; Requirements Engineering, Abbildung des Pflegeprozesses in ein BPMN-Prozess; Evaluation von Lösungen zur Abbildung des Prozesses; Ausarbeiten der Java EE-Architektur für die Alternativen JBoss und WAS; Entwurf des Softwaresystems und Programmierung eines Wegwerf-Prototypen zur Kundenabstimmung. Aufbau und Management eines Entwicklungsteams in der Ukraine zur Implementierung der Lösung.
Auftraggeber / Kunde: Mittelständisches Softwareunternehmen und mehrere Pflegeverbände
Standorte: Deutschland, Ukraine
Sprachen: Deutsch, Englisch
07.2007 - 06.2011: Beratung zu und Implementierung von Websites und Webanwendungen
Positionen / ausgefüllte Tätigkeitsfelder:
IT-Architekt
Sicherheitsverantwortlicher
Branche:
Diverse
Umgebung:
Debian GNU/Linux, Red Hat Enterprise Linux, Apache HTTP-Server, PHP, Typo3, MySQL
Beschreibung:
Anwendungs- und Webseiten-Architektur, Sicherheitsbewertungen und Beratung zu beim Kunden betriebenen und entweder dort implementierten oder nur deployten Websites bzw. Webanwendungen.
Auftraggeber / Kunde: RZ-Dienstleister / Hoster
Standorte: Deutschland, Schweiz
Sprachen: Deutsch
08.2010 - 11.2010: Proof of Concept - Mainframe-Konsolidierung
Positionen / ausgefüllte Tätigkeitsfelder:
Architekt
Spezialist für Mainframe-Systeme
Krisenmanager
Branche:
Versicherung
Umgebung:
z/OS 1.10, RACF, DB2 z/OS 9, CICS TS 3.2, JCL, COBOL, PL/I, VSAM; Java EE auf AIX; Micro Focus Enterprise Server auf Windows
Beschreibung:
Im Zuge der Migration von Legacy-Anwendungen auf Java EE waren die Ressourcen im Testing und zur Datenkonvertierung auf dem Mainframe stark begrenzt, zusätzliche Ressourcen war finanziell nicht vertretbar
Evaluation von alternativen Lösungen und testen dieser in einem Proof of concept; Vermittlung zwischen den beteiligten Parteien und skizzieren einer finanziell und vom Aufwand her vertretbaren Lösung, die den Projektfortschritt ermöglichte. Aufgezeigte Alternativen: Rehosting und Prozessänderungen bei der Nutzung der bestehenden Ressourcen.
Auftraggeber / Kunde: Software-Gesellschaft einer staatlichen Versicherung
Standorte: Schweiz
Sprachen: Deutsch
05.2006 bis 12.2009: Migration einer Sozialversicherungssoftware
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Software Engineer und Spezialist für J2EE mit fachlichem Lead
Spezialist für Unix und Mainframe
Systemarchitekt
Technische Projektleitung
Teamleitung (4 Personen unterstellt)
Branche:
Sozialversicherung
Umgebung:
WebSphere AS 6.0/6.1/7.0 ND, Tivoli Directory Server 6.0/6.1 sowie DB2 UDB 8.x/9.x auf AIX 5.3 bzw. 6.0. HACMP-Cluster DB2, HA-Cluster für Java EE-Applikationsbetrieb, Master-Master-Replikation LDAP; Anbindung z/OS 1.8/1.10 mit DB2 8/9 über JDBC und FTP sowie SAP R/3 über Resource-Adapter; Hibernate, Spring
Vorgehensmodell: Rational Unified Process
Beschreibung:
Korrektur und Redesign der System- und Softwarearchitektur nach Architektur- und Codereview. Korrektur des Systemsizing. Korrektur fehlentwickelter Prozesse und Komponenten. Sicherheitskorrektur der eingesetzten Verfahren und kryptografischen Protokolle. Ausarbeiten von Deployment-Strategien und -Verfahren für Java EE und LDAP-Cluster. Crash-Dump und Heap-Dump-Analyse. J2EE-Troubleshooting. Vertretung und Durchsetzen der fachlichen Anforderungen und Interessen des Auftraggebers gegenüber anderen Projektparteien und in Krisenmeetings. Krisenmanagement und Handling von "politisch" sensiblen Situationen.
Auftraggeber / Kunde: International tätiges Systemhaus eines ITK-Konzerns
Standorte: Schweiz, Offshoring Indien
Sprachen: Deutsch, Englisch, teilw. Französisch
07.2008 - 12.2008: Evaluation einer unternehmensübergreifende SOA-Architektur
Positionen / ausgefüllte Tätigkeitsfelder:
Technischer Projektleiter
Architekt
Requirements Engineering, Analyse, Design
Kostenschätzung und Planung
Branche:
RZ-Betrieb
Umgebung:
Evaluationsphase: IBM WebSphere AS 6.1/7.0 ND und IBM WebSphere Process Server 6.1 auf Linux (RHEL); JBoss 5 auf RHEL 5; GlassFish Enterpise V2; Apache ODE; MySQL 5 auf Debian; ICEfaces 8, Hibernate, EJB3; Eclipse 3.4, NetBeans 6.5.x; AJAX, WSDL, XML-RPC, PHP, Typo3
Prototyping: IBM WebSphere AS 7.0 ND auf RHEL 5 mit IBM WebSphere Process Server 6.2 auf RHEL 5 und MySQL; NetBeans 6.5.x; ICEfaces 8; AJAX, WSDL, XML-RPC, PHP, Typo3
Beschreibung:
Ermittlung der Requirements, Ausarbeiten eines möglichen Analyse- und Architekturmodels; Evaluation von möglichen Zielplattformen für die Umsetzung der Architektur; Entwicklung von Wegwerfprototypen; Aufbau eines Entwicklerteams in der Ukraine; Kostenschätzung mit COCOMO II auf der Basis von Function-Points
Auftraggeber / Kunde: RZ-Betreiber und dessen angebundene Kunden
Standorte: Schweiz, Deutschland, Ukraine
Sprachen: Deutsch, Englisch
06.2007 - 09.2008: System zur revisionssicheren Protokollierung
Positionen / ausgefüllte Tätigkeitsfelder:
Projektleitung
Architekt
Requirements Engineering, Analyse, Design
Testplanung und Qualitätssicherung
Branche:
Bahn
ITK
Umgebung:
WebSphere AS 6.1 ND; Linux (RHEL), AIX, Solaris, z/OS; log4j; MySQL, DB2 UDB 9, Oracle 10g, Berkeley DB 4.6 TDS; Perl, GNU C, GNU autotools, Embedded SQL (Oracle Pro*C, DB2 ?Precompile?, PostgreSQL EPGC, MyESC), Thread-Programmierung nach POSIX1003.1c-1995
Beschreibung:
Entwicklung eines Systems zur revisionssicheren Protokollierung parallel für ein Bahnunternehmen und für ein ITK-Unternehmen; Entwurf e; Entwurf einer Architektur und eines Designs sowie Programmierung je eines Wegwerf-Prototypen in Perl und C; Ausarbeiten einer Spezifikation für das Nearshoring; Aufbau und Management eines Nearshoring-Teams in der Ukraine
Auftraggeber / Kunde: parallel ein Bahnunternehmen und ein ITK-Unternehmen
Standorte: Schweiz, Deutschland, Ukraine
Sprachen: Deutsch, Englisch
08.2008 - 10.2008: Beratung Software Engineering und Rollout
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Java EE-Berater
Architektur-Review und Korrektur
Review Methodik und Korrektur
Review Requirements Engineering und Korrektur
Beratung Testplanung und Rollout
Koordination und Planung
Branchen:
Einzelhandel
Umgebung:
WebSphere AS 6.1 ND mit Feature-Pack für Java EE 5, GlassFish V2; WebSphere MQ inklusive SI-Bus, Apache ActiveMQ; Oracle 10g, DB2 UDB 9.x; NetBeans 6.x; Spring, Hibernate
Vorgehensmodell: Scrum
Beschreibung:
Review der Architektur und des Vorgehens bei der Projektumsetzung und Korrektur von "Brüchen"; Beratung zum Rollout und zur Testplanung; Vermittlung zwischen den beteiligten Projektparteien; Management von "politisch" sensiblen Situationen
Auftraggeber / Kunde: mittelständisches Softwarehaus und Einzelhandelskette
Standorte: Deutschland
Sprachen: Deutsch
08.2006 - 04.2007: Proof of Concept zur revisionssicheren Protokollierung
Positionen / ausgefüllte Tätigkeitsfelder:
Architekt
Requirements Engineering
Analyse, Design, Implementierung
Branchen:
Bahn
Umgebung:
WebSphere AS 5.x und 6.1 ND; Linux (RHEL); BSD syslog, syslog-ng, log4j; MySQL; Perl; Thread-Programmierung; Apache; HTML::Mason
Beschreibung:
Aufnahme der Requirements; Entwicklung eines Konzepts zur revisionssicheren Protokollierung; Design eines Lösung; Implementierung eines Prototypen in Perl (Mutli-Threaded) mit Web-Frontend in HTML::Mason
Auftraggeber / Kunde: RZ-Betreiber eines Bahnunternehmens
Standorte: Schweiz
Sprachen: Deutsch, teilweise Französisch
07.2005 - 03.2006: Versicherungsportal
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Consultant Unix/Linux
Perl-Programmierer
Deployment
Branchen:
Versicherung
Umgebung:
VMware ESX, Linux (RHEL & Debian), Windows Server 2003; OpenLDAP, PostgreSQL; DACS 4.x, HTML::Mason, Perl, mod_perl; TSM; Nagios
Beschreibung:
Entwicklung von Monitoring-Konzepten und Implementierung derselben; Design und Implementierung einer Single-Sign-On-Lösung auf der Basis von DACS; Programmierung von Funktionalität in Perl mit HTML::Mason; Deployment von Portalanwendungen in Test; Rollout von Software
Auftraggeber / Kunde: Versicherungskonzern
Standorte: Deutschland
Sprachen: Deutsch
02.2005 - 06.2005: Migration einer Portalanwendung
Positionen / ausgefüllte Tätigkeitsfelder:
Krisenmanager
Konsolidierung von Build- und Deployment-Verfahren
Branchen:
Bank
Umgebung:
BEA WebLogic, WebSphere AS 5.1; Informix, DB2 UDB 7; AIX, Solaris, z/OS; WebSphere Application Developer, Eclipse; Jakarta Struts; Java, Perl, PHP
Beschreibung:
Analyse und Dokumentation der bestehenden Build-, Entwicklungs- und Deployment-Prozesse; Beratung und Hilfestellung beim Dimensionieren und Aufbauen einer "load balanced" und geclusterten WebSphere-5.1-Umgebung und beim Umstieg auf die hauseigenen Deployment-Verfahren; Vermittlung zwischen zerstrittenen Projektparteien; Krisenmanagement und Lösung von Problemen in "politisch" sensiblen Situationen
Auftraggeber / Kunde: Großbank
Standorte: Deutschland
Sprachen: Deutsch
10.2004 - 06.2005: Server- und Prozesskonsolidierung
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Consultant
Branchen:
Bank
Umgebung:
WebSphere AS 3.5/4.0/5.0, BEA WebLogic; MQSeries, WebSphere MQ; Siebel; DB2 UDB, Informix; OpenLDAP, DirX, NIS, NIS+; diverse Entwicklungsumgebungen für C++, COBOL und Java, teilweise PHP; Anbindung z/OS
Beschreibung:
Konsolidierung verschiedener UNIX-Serversysteme und angebundener Windows-Systeme im Bereich Software-Test; Zusammenführung auf eine zentrale Umgebung auf partitionierbaren Systemen IBM pSeries und Sun E10k; Einführung von einheitlichen Übergabe- und Deployment-Verfahren; Handling von "politisch" sensiblen Situationen und Zusammenführen von zerstrittenen Abteilungen
Auftraggeber / Kunde: Großbank
Standorte: Deutschland
Sprachen: Deutsch, teilweise Englisch
03.2004 - 12.2005: Entwurf und Einführung einer J2EE-Plattform
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Consultant zu
IT-Security, Unix und J2EE
Projektleiter
Branchen:
Systemhaus
Umgebung:
RHEL 3/4, User-Mode-Linux; Apache, JBoss, Tomcat, Intrexx; GNU C/C++, Eclipse; Snort, iptables
Beschreibung:
Konzipieren und Einführen einer J2EE-Portalplattform auf der Basis eines gehärteten Linux
Auftraggeber / Kunde: mittelständisches Systemhaus
Standorte: Deutschland
Sprachen: Deutsch
06.2001 - 12.2004: Unix-Administration und Entwicklungsberatung
Positionen / ausgefüllte Tätigkeitsfelder:
Teamleitung
Administration von Entwicklungs- und Testumgebungen unter Unix, Linux für COBOL, C/C++ und J2EE
Beratung zur Softwareentwicklung unter C/C++ und J2EE
Spezialist für technische Dokumentation
Branchen:
Bank
Umgebung:
AIX 4.3.3 und 5.x, Solaris 2.7, 8, 9 (SPRAC und x86), Sinix-Z, HP-UX, z/OS; WebSphere AS 3.5/4.0/5.0, BEA WebLogic, Tomcat; MQSeries, WebSphere MQ; Jakarta Struts, Cocoon; OpenLDAP, iPlanet Directory Server, NIS, NIS+; Oracle, Informix, DB2; Siebel; Java, C, C++, Perl, PHP
Beschreibung:
Leitung eines Teams zur Bereitstellung von Entwicklungs-, Test- und Abnahmeumgebungen unter Unix mit Mainframe-Anbindung und Windows-Integration; Aufbau eines Beratungsteams zur Entwicklung unter J2EE und C/C++, teilweise PHP; Scripting in Unix-Shell und Perl sowie im J2EE-Server-Bereich mit Tcl, JACL und Jython; Crash-Dump-Analyse und Code-Review; Vereinheitlichung und Standardisierung von Deployment-Verfahren und Phasenübergängen; nachhaltige Senkung der Annahmekosten durch einheitliche Prozesse für Entwicklung, Integrations- und Systemtest; Koordination zu Outsourcing-Partnern; Vermittlung in "politisch" sensiblen Situationen, Krisenmanagement
Auftraggeber / Kunde: Großbank
Standorte: Deutschland, UK, Irland
Sprachen: Deutsch, Englisch
01.2002 - 04.2002: Betriebswirtschaftliche Studie zu Outsourcing von IT-Referaten
Positionen / ausgefüllte Tätigkeitsfelder:
Consultant für Outsourcing und IT Konsolidierung
Branchen:
Bank
Aufgabe:
Erarbeiten einer Studie für einen Unternehmensbereich zum Thema
"Monetäre und qualitative Bewertung eines möglichen Outsourcing von IT-Services"
Beschreibung:
Teil 1: Entwicklung eines Referenzmodells als "Schablone und Messlatte" für Outsourcing-Vorhaben. Dieses Modell fast die wesentlichen qualitativen und monetären Zielvorgaben derartiger Vorhaben zusammen und ermöglicht das Bewerten über klare Kostenreduktionsmarken, die über ein zentrales Diagramm dargestellt werden können. Die qualitativen Aspekte werden in einer Bewertungsmatrix erfasst.
Teil 2: Bewerten eines möglichen Oursourcing von IT-Services an einen Dienstleister. Die realen Daten des Vorhabens wurden auf das Referenzmodell projiziert. Es wurde vorrangig das Szenario "Outsourcing an eine Organgesellschaft des Konzerns" betrachtet. Ein Ausblick in Richtung eines externen Dienstleister wurde skizziert.
Reporting and Refarats-, Bereichs- und Unternehmensbereichsleitung (CITO).
Auftraggeber / Kunde: Großbank
Standorte: Deutschland
Sprachen: Deutsch
01.2000 - 09.2001: Entwicklung gehärteter Linux-Distributionen
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Unix/Linux-Spezialist
Sicherheitsspezialist
Kernel-Programmierer
Branchen:
Behörde
Umgebung:
Linux auf der Basis von Red Hat; Security-Enthancements der NSA für Kernel und System (u. a. SELinux); HA-Cluster; GNU C/C++ (egcs), Python
Beschreibung:
Entwicklung einer gehärteten, hoch sicheren Linux-Distribution für den behördlichen Einsatz in USA; Kernel-Programmierung, Entwicklung eigener Sicherheitserweitungen; Crash-Dump-Analyse; Integration von SmarCards als Authentifizierungsmittel.
Auftraggeber / Kunde: Systemhaus für Sicherheitstechnik aus USA
Standorte: Deutschland, USA
Sprachen: Deutsch, Englisch
03.1999 - 12.2000: Produktentwicklung Linux-Distributionen
Positionen / ausgefüllte Tätigkeitsfelder:
Projektleitung
Teamleitung
Kernel-Programmierer
Systemarchitekt
Branchen:
Verlag
Umgebung:
Linux (Red Hat) als Basis; GNU C/C++, teilweise Assembler; Tcl/Tk, Python
Beschreibung:
Entwicklung mehrerer Linux-Distribution für eine deutsche IT-Verlagsgruppe als Produkt; Projektleitung, Konzeption und Entwurf des Installations- und Deinstallationsprozesses; Programmierung in C, C++, Unix-Shell, Python und Assembler; Paketierung mit RPM
Auftraggeber / Kunde: deutsche IT-Verlagsgruppe
Standorte: Deutschland, UK, USA
Sprachen: Deutsch, Englisch
Ältere Projekte auf Anfrage.
Des Weiteren wurden betriebswirtschaftliche Projekte durchgeführt.
Nähere Angaben auch hierzu auf Anfrage.
Referenzschreiben ebenfalls auf Anfrage.
Technische Spezialgebiete: Crash-Analyse, Fehleranalyse in komplexen Umgebungen, Leitung von komplexen Projekten mit internationaler Beteiligung.
Linienpositionen:
- 10 Jahre Erfahrung als Geschäftsführer von drei Körperschaften (deutsche GmbH, britische Ltd.) im IT-Sektor.
- mehr als 2 Jahre Erfahrung als Teamleiter in einer Großbank.
- mehr als 4 Jahre Erfahrung als Leiter "Software Engineering".
Übernehme Interims-Management-Positionen.
Vorgehensmodelle und Phasen im Software Engineering
Projektmanagement und -konsolidierung
Standards
Produkte
IT-Security
Erfahrung:
über 10 Jahre Erfahrung als Geschäftsführer verschiedener Körperschaften (GmbH und Ltd.) und Personengesellschaften (GmbH & Co. KG)
über 2 Jahre Erfahrung als Teamleiter in einer Großbank
Veröffentlichungen:
Vorträge:
Mitgliedschaften und Engagement in Fachverbänden:
ACM Association for Computing Machinery
IEEE Institute of Electrical and Electronics Engineers
GI Gesellschaft für Informatik
HP Connect (ehemals Encompass)
DECUServe
Zusätzliche Erfahrung in Linien- und Management-Positionen in IT- und Beratungsbranche:
Habe bereits Erfahrungen mit Projekten im Ausland. Insbesondere auch mit weltweit verteilten Teams und bei der Integration von Nearshoring/Offshoring-Ressourcen.
Beschreibung:
Evaluation und Einarbeitung AI-Lösungen, Large Language Models (LLM), Small Language Models (SLM)
Entwicklung von Software und Scripts in Python, C++, Unix-Shell und PowerShell. Installation von Systemen für AI-Einsatz.
Umgebung:
Linux (Ubuntu, Debian, Red Hat RHEL), Windows 11, Meta Llama, ChatGPT, Mistral, LM Studio, TensorFlow, PyTorch, Python, C++, CUDA, Shell-Scripts (bash, zsh), PowerShell (Windows, teils auch Linux)
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Security und Kryptografie
Experte zur Programmierung in C und Assembler sowie Maschinencode
Beschreibung:
Sicherheits- und Schwachstellenanalysen und Exploit-Entwicklung. Programmierung in C, C++, Java, Go, Rust, Python, Ruby sowie Assembler (amd64, arm64, arm). Kernel-Programmierung in C (testweise in Rust) und Kernel-nahe Entwicklung (Linux) sowie eBPF (extended Berkeley Packet Filter). System- und Netzwerkkonfiguration inklusive Firewall/Filter-Rules (iptables, nftables, ebtables). Setup von Tor und VPNs.
Weitere Angaben nicht möglich.
Umgebung:
Kali Linux, Metasploit, Greenbone OpenVAS, Tenable Nessus, Ghidra, Wireshark, nmap, tcpdump, eBPF, gcc, clang, Java, Python, Unix-Shell (bash, ksh, zsh), Tor, diverse VPN-Lösungen
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Linux
Experte für Embedded-Linux
Senior Software Developer (C und C++)
Beschreibung:
Portierung der bestehenden Anwendung von Microcontroller-basierten Systemen auf Embedded-Linux mit container-basierter Architektur. Anbindung an Cloud / Mobile-App. Als Pilotsystem dienen Kühlschränke für den privaten Haushalt und für den professionellen Anwendungsbereich (Medizin, Großgastronomie etc.). Zukünftiger Einsatz des Linux-basierten Embedded-Systems sind Herde, Öfen, Mikrowellen und Waschmaschinen jeweils im privaten Haushalt und im professionellen Umfeld.
Analyse des bestehenden Systems (Hard- und Software ist Eigenentwicklung des Kunden) und dessen Anbindung an Kühltechnik, Sensorik und ans Netzwerk/Cloud bzw. Mobile-App. Analyse (Hardware und Software), Evaluation und Inbetriebnahme des neuen Embedded-Linux-Systems (zugekaufte OEM-Komponenten eines Zulieferers). Analyse der Hardware mittels Logic Analyser und Oszilloskop. Analyse der Netzwerkverbindung mit Network-Sniffer und Tools wie tcpdump und Wireshark. Analyse der Software mittels Debugging, Tracing und Reverse-Engineering.
Entwicklung von LXC-Containern und Deployment via Pantavisor. Portierung bestehender Build-Prozesse von (nativem) Visual Studio auf CMake. Flashing (Installation) von neuer System-Firmware auf die Embedded-Linux-Systemplatine. Erarbeiten und Anfordern neuer Features und Bugfixes für die System-Firmware beim OEM-Partner.
Aufbereiten von Analyse-Ergebnissen und fachlich qualifiziertes Feedback an den OEM-Partner. Beratung des Kunden zum weiteren Vorgehen und Einschätzen der Rückmeldungen des OEM-Partners.
Mitarbeit beim Etablieren eines Remote-Update-Services für die Prototypen in den Testhaushalten.
Dokumentation in englischer Sprache (Projektsprache).
Entwicklung eines Kommunikationsmoduls und Steuerungssystems für Kühlschränke mit Anbindung an Mobile-App und Internet. Unterstützung für Streaming mehrerer Kameras im Kühlschrank. Ermittlung welche bestehenden Code-Teile des Altsystems (Espressif EK057) auf die neue Embedded-Linux-Plattform sinnvoll portiert werden können und welche Teile neu entwickelt werden müssen.
Virtualisierte Embedded-Architektur mit diversen Containern (LXC) auf ARM-Systemen (Pantavisor). Hardwarenahe Entwicklung zum Auslesen des Hardware-Systembuses (Anbindung Kühltechnik). Anfangs Entwicklung in C (gcc) später Wechsel auf C++ und Linux D-Bus. Build mit CMake.
Evaluierung diverser Linux-Distributionen für Embedded-Systeme, u. a. Alpine-Linux und kundeneigenes Embedded-Linux. Schließlich Yocto-basiertes Basissystem und Linux-Container für Netzwerk, Hardware (Kühltechnik), Steuerung und Kommunikation (Mobile-App, Cloud).
Security-Themen: Hardening, Secure-Storage, Zertifikate, Verschlüsselung
Umgebung:
Virtualisierung: Pantacor Pantavisor, LXC
Build: Yocto, Ubuntu, Linux, Gitlab, Docker, CMake
Programmierung: C, C++, Unix-Shell (bash, zsh), Python, Ruby, Linux D-Bus, RESTful Services (REST-API), Visual Studio (Altsystem), Android und iOS (App-Test)
Hardware: Embedded-Systeme (ARM64), Mikrocontroller (Espressif EK057)
Methodisch: Scrum, Kanban
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Linux / Unix
Experte für Java EE bzw. Jakarta EE
Beratung Security und Automatisierung
Know-how-Transfer
Beschreibung:
weitere Angaben nicht möglich
Umgebung:
Linux (SuSE und Red Hat RHEL), Tomcat, JBoss, Puppet, Ansible, Kryptografie, Java, Ruby, Python, Unix-Shell
weitere Angaben nicht möglich
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Linux
DevOps
Beschreibung:
Erstellen von Linux-Device-Image für einen Rasenmähroboter mit Cloud und App-Anbindung. Die Linux-Systemimages basieren auf Yocto. Entwicklung eines Docker-basierten, automatisierten Build-Prozesses fürs Continuous Integration (CI). Fehleranalyse in Infrastruktur und Software. Schaffen einer Lösung zum isolierten Testen von D-Bus-Anwendungen.
Dokumentation (Markdown) in englischer und deutscher Sprache.
Umgebung:
Yocto, Ubuntu, Linux, git, gitlfs, bitbucket, Docker, CMake, C, C++, Unix-Shell (bash), Embedded-Systeme, Bamboo, D-Bus, STM32 Cube IDE, Boost, Codesonar, Pandoc, Markdown, ARM-Plattform
Methodisch: Scrum
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Beratung
Redaktion
Dokumentation
IT-Security
Fachmann für Bank-IT
Beschreibung:
Dokumentation, Qualitätssicherung und Beratung im Zuge der bankfachlichen und behördlichen Zertifizierung eines Payment-Dienstleisters einer Bank. Mitarbeit in der Systemtechnik zur Analyse und Vorbereitung der Dokumentation. Dokumentation in englischer Sprache in einem Markdown-basierten System.
Umgebung:
Linux, Kubernetes, Proxmox, git, Docker, Markdown
Methodisch: Scrum
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Software-Developer
Experte für Linux und Java-Systeme
Beschreibung:
Entwicklung in Go und Java zur Einbindung von Cortex in OpenNMS. Planung der Entwicklung. An- und Einbinden der Cortex-Community in OpenNMS; Identifizieren und Nutzen von Synergien. Dokumentation in englischer Sprache.
Umgebung:
Linux, Cloud, Go (Golang), Java, OpenNMS, Cortex (Time Series Storage), Unix-Shell-Programmierung (bash und zsh), git, GitHub
Methodisch: Scrum
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Beratung zu Kryptografie und Software-Entwicklung
App- und Webprogrammierung
System- und Kernel-Programmierung
Android-Security
Beschreibung:
Weiterentwicklung einer Android-App. Entwicklung einer verschlüsselten lokalen Datenbank für Android-Devices zur Aufnahme von Transaktionsdaten. Entwicklung eines zugehörigen Webservice als Prototyp. Beratung zum Cryptography Engineering.
Build und Modifikation von Android-Images (Android Open Source Project, AOSP) auf Google Pixel-Smartphones. Linux- und Android-Kernel-Programmierung. Sicherheitsbewertungen des Android-Systems inkl. Penetrationstests und Exploit-Entwicklung.
Automatisierung von Build (Android App) über Jenkins und GitLab mit Linux-Shell-Scripts.
Umgebung:
Android, Android Studio, Java, Room als Persistence Layer, SQLite, SQLCipher, Bouncy Castle, Java Cryptography Extension (JCE), Webservices in Spring Boot, Kernel- und Systemprogrammierung in C/C++
DevOps: Android Flavors, Jenkins, GitLab, Sonatype Nexus, Shell-Scripting (bash)
Infrastruktur: macOS, Linux
Methodisch: Scrum
Sprachen:
Positionen / ausgeführte Tätigkeitsfelder:
Code-Review und Architekturanalyse
Beratung zu Kryptografie
Beschreibung:
Analyse der bestehenden Implementierung in C für eine Embedded-Plattform. Code-Review und Architekturanalyse. Vorhandener Public-Key-Ansatz in RSA war theoretisch (mathematisch) gut, aber in der Praxis nicht tragfähig auf dem Embedded-System. Vorschlag eines alternativen Ansatzes mit Kryptografie über elliptischen Kurven. Zudem Vorschlag einer optimierten AES-Implementierung.
Umgebung:
C, Embedded, IoT
Sprachen:
Positionen / ausgefüllte Tätigkeitsfelder:
Linux-Kernel-Programmierung
Software-Entwicklung für Server-Backend und Embedded Clients (Router)
Fehleranalyse und Troubleshooting (auch auf Produktivsystemen)
Systemdefinition und -provisionierung in Cloud-Umgebung
Testplanung und -durchführung
Beschreibung
Ziel des Bonding-Lösung beim Kunden ist die Aggregation von DSL und LTE zur Bandbreitenerweiterung sowie der Failover von DSL auf LTE bei Ausfall der DSL-Anbindung. Die Lösung besteht aus einem dedizierten Backend (SOCKS5) und einem Router (CPE) bei Endkunden.
Software- und Systementwicklung
Hierzu war ich mit der Weiterentwicklung und Optimierung der Bonding-Lösung auf Basis von Multipath TCP (MPTCP) und SOCKS5 beauftragt. Dies erforderte Kernel-Programmierung in C und Entwicklung von Patches für den Linux Kernel und MPTCP. Ziel war hier ? neben der Fehlerbehebung ? vor allem die Stabilisierung und Optimierung für den speziellen Einsatzbereich beim Kunden.
Anpassen des SOCKS5-Servers (Dante) für MPTCP.
Ermitteln und Definieren von Systemparametern der Linux-Server-Systeme für den optimalen, sicheren und performanten Betrieb als Netzwerk-Router- und -Proxy.
Entwicklung und Portierung von Analyse-Software für das CPE mit Hilfe der Broadcom Toolchain. Erstellen von Systemimages für das CPE.
Analyse und Fehlerbehebung
Analyse von Crash-Dumps des Linux Kernels und mittels Kernel Debugging.
Analyse von Network-Dumps mittels tcpdump und Wireshark.
Dies jeweils in Entwicklung und Staging sowie bei Produktionsproblemen auch auf/für Produktionssysteme.
Systemadministration
Unterstützung und Vertretung bei der Systemadministration der Produktionsumgebung unter VMware (Altumgebung) und OpenStack (neu). Sonst 3rd-Level-Support bei Produktionsproblemen.
Administration einer dedizierten Testumgebung für CPE-Tests.
Entwicklung von Manifesten für Puppet und Playbooks für Ansible für Test, Staging und Produktion.
Testing
Definition von Tests und Dokumentation (Test-Drehbuch) desselben. Definition von Test-Cases auf Basis von Use-Cases. Definition eines Traffic-Mix aus üblichen Diensten anhand von Traffic-Statistiken für die Schweiz. Definition von passenden Last- und Performance-Test-Gruppen für neue und angepasste Linux-Kernel, das Server-Backend (inkl. SOCKS5) sowie für die Kunden-Router (CPE). Umsetzen der Tests in BreakingPoint und JMeter mit Steuerung über Ruby-, Python- bzw. Shell-Scripts. Entwicklung von Testtreibern in Java, C und Go (Golang).
Optimierung und Migration einer Last- und Performance-Testumgebung für das Backend mit emulierten CPE. Aufbau einer dedizierten Test- und Analyseumgebung für das CPE und alternative Lösungen.
Unterstützung bei der Entwicklung und Integration eines 4G/5G-Emulators. Entwicklung eines Systems zum Traffic Shaping und zur Netzwerk Analyse auf Basis von Linux und Embedded-Hardware. Transparente Integration mehrerer dieser Shaping- und Analyse-Systeme in die Testumgebung.
Test und Evaluation von alternativen Lösungsansätzen und Drittanbietersoftware.
Umgebung:
Systemumgebung: Linux (Ubuntu, Debian, Red Hat Enterprise Linux, CentOS), VMware, OpenStack, Puppet, Ansible, Prometheus, Splunk, Nagios, Icinga, Broadcom-basierte Router
Clustering mit (anfangs) UCARP (Common Address Redundancy Protocol, CARP) und (später) Virtual Router Redundancy Protocol (VRRP) über keepalived unter Linux
Entwicklung: Vagrant, VirtualBox, GNU C (gcc), Ruby, Python, Shell-Scripting (bash), Buildroot, Broadcom Toolchain, Linux Kernel Networking (Patch-Entwicklung)
Netzwerk: TCP/IP-Suite, IPv4, IPv6, Multipath TCP (MPTCP), DSL, LTE, 4G, 5G, Glasfaser (Glass Fibre), tagged VLAN (IEEE 802.1Q), DHCP-Server und -Clients, SOCKS5 (Server und Client)
Firewall und Bridge: iptables, ip6tables, ebtables, brctl, bridge
Test: Ixia BreakingPoint, JMeter, iperf, iperf3, Linux TrafficControl (tc), selbst entwickelte Scripts und Testtreiber (Ruby, Python, Unix Shell, Java, C, Go) sowie selbst entwickeltes System für Traffic Shaping und Network Analysis, Emulator für 4G- und 5G-Devices
Analyse: Wireshark, tcpdump, Kernel Debugging, Crash-Dump-Analyse, Netdata
Methodisch: Scrum (Tool: JIRA)
08.2017 ? 07.2020: Weiterentwicklung einer Bonding-Lösung (DSL und LTE), Evaluation von Alternativlösungen
Positionen / ausgefüllte Tätigkeitsfelder:
Linux-Kernel-Programmierung
Software-Entwicklung für Server-Backend und Embedded Clients (Router)
Fehleranalyse und Troubleshooting (auch auf Produktivsystemen)
Systemdefinition und -provisionierung in Cloud-Umgebung
Testplanung und -druchführung
Branche:
Telekommunikation / Internet-Provider
Umgebung:
Systemumgebung: Linux (Ubuntu, Debian, Red Hat Enterprise Linux, CentOS), VMware, OpenStack, Puppet, Ansible, Prometheus, Splunk, Nagios, Icinga, Broadcom-basierte Router
Clustering mit (anfangs) UCARP (Common Address Redundancy Protocol, CARP) und (später) Virtual Router Redundancy Protocol (VRRP) über keepalived unter Linux
Entwicklung: Vagrant, VirtualBox, GNU C (gcc), Ruby, Python, Shell-Scripting (bash), Buildroot, Broadcom Toolchain, Linux Kernel Networking (Patch-Entwicklung)
Netzwerk: TCP/IP-Suite, IPv4, IPv6, Multipath TCP (MPTCP), DSL, LTE, 4G, 5G, Glasfaser (Glass Fibre), tagged VLAN (IEEE 802.1Q), DHCP-Server und -Clients, SOCKS5 (Server und Client)
Firewall und Bridge: iptables, ip6tables, ebtables, brctl, bridge
Test: Ixia BreakingPoint, JMeter, iperf, iperf3, Linux TrafficControl (tc), selbst entwickelte Scripts und Testtreiber (Ruby, Python, Unix Shell, Java, C, Go) sowie selbst entwickeltes System für Traffic Shaping und Network Analysis, Emulator für 4G- und 5G-Devices
Analyse: Wireshark, tcpdump, Kernel Debugging, Crash-Dump-Analyse, Netdata
Methodisch: Scrum (Tool: JIRA)
Beschreibung:
Ziel des Bonding-Lösung beim Kunden ist die Aggregation von DSL und LTE zur Bandbreitenerweiterung sowie der Failover von DSL auf LTE bei Ausfall der DSL-Anbindung. Die Lösung besteht aus einem dedizierten Backend (SOCKS5) und einem Router (CPE) bei Endkunden.
Software- und Systementwicklung
Hierzu war ich mit der Weiterentwicklung und Optimierung der Bonding-Lösung auf Basis von Multipath TCP (MPTCP) und SOCKS5 beauftragt. Dies erforderte Kernel-Programmierung in C und Entwicklung von Patches für den Linux Kernel und MPTCP. Ziel war hier ? neben der Fehlerbehebung ? vor allem die Stabilisierung und Optimierung für den speziellen Einsatzbereich beim Kunden.
Anpassen des SOCKS5-Servers (Dante) für MPTCP.
Ermitteln und Definieren von Systemparametern der Linux-Server-Systeme für den optimalen, sicheren und performanten Betrieb als Netzwerk-Router- und -Proxy.
Entwicklung und Portierung von Analyse-Software für das CPE mit Hilfe der Broadcom Toolchain. Erstellen von Systemimages für das CPE.
Analyse und Fehlerbehebung
Analyse von Crash-Dumps des Linux Kernels und mittels Kernel Debugging.
Analyse von Network-Dumps mittels tcpdump und Wireshark.
Dies jeweils in Entwicklung und Staging sowie bei Produktionsproblemen auch auf/für Produktionssysteme.
Systemadministration
Unterstützung und Vertretung bei der Systemadministration der Produktionsumgebung unter VMware (Altumgebung) und OpenStack (neu). Sonst 3rd-Level-Support bei Produktionsproblemen.
Administration einer dedizierten Testumgebung für CPE-Tests.
Entwicklung von Manifesten für Puppet und Playbooks für Ansible für Test, Staging und Produktion.
Testing
Definition von Tests und Dokumentation (Test-Drehbuch) desselben. Definition von Test-Cases auf Basis von Use-Cases. Definition eines Traffic-Mix aus üblichen Diensten anhand von Traffic-Statistiken für die Schweiz. Definition von passenden Last- und Performance-Test-Gruppen für neue und angepasste Linux-Kernel, das Server-Backend (inkl. SOCKS5) sowie für die Kunden-Router (CPE). Umsetzen der Tests in BreakingPoint und JMeter mit Steuerung über Ruby-, Python- bzw. Shell-Scripts. Entwicklung von Testtreibern in Java, C und Go (Golang).
Optimierung und Migration einer Last- und Performance-Testumgebung für das Backend mit emulierten CPE. Aufbau einer dedizierten Test- und Analyseumgebung für das CPE und alternative Lösungen.
Unterstützung bei der Entwicklung und Integration eines 4G/5G-Emulators. Entwicklung eines Systems zum Traffic Shaping und zur Netzwerk Analyse auf Basis von Linux und Embedded-Hardware. Transparente Integration mehrerer dieser Shaping- und Analyse-Systeme in die Testumgebung.
Test und Evaluation von alternativen Lösungsansätzen und Drittanbietersoftware.
Auftraggeber / Kunde: Telekommunikationsunternehmen
Standorte: Schweiz
Sprachen: Englisch, Deutsch, (teilw. Französisch)
05.2016 ? 07.2016: Implementierung von effizienten kryptographischen Algorithmen
Positionen / ausgefüllte Tätigkeitsfelder:
Experte für Kryptographie und
Cryptography Engineering
Programmierung in C++
Branche:
Industrie
Umgebung:
C++, Advanced Encryption Standard (AES), Elliptic Curve Cryptography (ECC)
Beschreibung:
Implementierung von kryptographischen Algorithmen in C++. Lizenzierung der Ergebnisse an den Kunden.
Auftraggeber / Kunde: Industriebetrieb
Standorte: USA (remote)
Sprachen: Englisch
11.2015 - 04.2016: Projektleitung im Bereich der Rettung eines "Death March Project": Integration eines CRM-Systems bei massiven Technologiewechsel
Positionen / ausgefüllte Tätigkeitsfelder:
Spezialist für Projektkonsolidierung
Spezialist für Deployment- und Entwicklungsprozesse
Experte für mehrschichtige Anwendungen
Branche:
Umgebung:
Java EE, WebSphere AS 7 und 8.5, WebSphere MQ, JBoss EAP 6.4, AIX, Red Hat Enterprise Linux (RHEL), SuSE Linux Enterprise Server (SLES), z/OS, DB2 UDB, DB2 MVS, Informix, IMS, CICS, Dynatrace, UC4
Beschreibung:
Übernahme der Projektleitung eines Infrastrukturprojekt von einem Interims-Projektleiter. Projekt ist eingebettet in einem Programm bestehend aus 5 Projekten. Infrastruktur gegliedert in drei Teilprojekte mit jeweils eigenen Teilprojektleitern. Aufgabe: Rettung des Projekts durch Korrektur im Bereich technische Umsetzung und Organisation. Krisenmanagement. Berichterstattung nicht nur an Programmleitung, sondern auch an Geschäftsleitung. Ausarbeitung zu technischen und organisatorischen Maßnahmen.
Auftraggeber / Kunde: Versicherung
Standorte: Deutschland
Sprachen: Deutsch
01.2014 - 12.2017: Entwicklung einer App, Desktop-Clients und zugehöriger Enterprise Application im
kryptographischen Umfeld
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Android 4.x, Android 5.x, iOS 7, iOS 8, Mac OS X 10.x, Windows 7, Windows 8.x, Linux-Systeme mit KDE und GNOME
Java EE 6 und Java EE 7, JBoss EAP 6.x und Wildfly 8.x, MySQL 5.5 bzw. MariaDB 5.5 EJB 3, JPA 2, Hibernate, Webservices
Google Cloud Messaging (Cloud Connection Server, CCS, XMPP), Apple APNS, Apache ActiveMQ
Beschreibung:
In der ersten Phase: Entwicklung einer App für Android sowie die zugehörige Enterprise Application (Java EE) basierend auf EJB 3 und Webservices.
Zweite Phase: Entwicklung einer App für iOS. Dritte Phase: Entwicklung von Desktop-Clients.
Ausarbeitung der kryptographischen Algorithmen und Protokolle auf Basis von elliptischen Kurven (Curve25519 + Eigenentwicklung) und Blockchiffren (AES + Eigenentwicklung). Sicherheitsbewertung der Protokolle, Verfahren und Algorithmen inklusive Kryptanalyse.
Auftraggeber / Kunde: Software-Startup
Standorte: Deutschland
Sprachen: Deutsch, Englisch
02.2013 - 03.2015: Beratung Migration Sozialversicherung
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Sozialversicherung
Umgebung:
Zu migrierende Anwendung: Java EE Enterprise Application mit zusätzlichen Standalone-Prozessen (Printing via DOPE) basierend auf Spring, Hibernate und EJB 2.1 mit angebundenem Fat-Client (Eclipse-basiert)
Aktuelle Produktivumgebung: AIX 5.3 mit WebSphere AS 7.0 ND (Cluster über zwei Lokationen), Tivoli Directory Server 6.3 (Cluster über zwei Standorte), DB2 UDB 9.7 (HACMP-Cluster), Icon DOPE und UC4
Angestrebte neue Zielumgebung (proof of concept): Windows Server 2008 R2 mit HyperV und bereitgestellem WebSphere AS 7.0 ND, Tivoli Directory Server 6.3, DB2 UDB 9.7; Icon DOPE; UC4-Batchjob-Executoren auf Red Hat Enterprise Linux (RHEL) 6
Angestrebte Umgebung im Zielbild: Windows Server 2012 mit HyperV und bereitgestellem WebSphere AS 8.5 ND, Tivoli Directory Server 6.3, DB2 UDB 10.x; Icon DOPE auf Windows; UC4-Batchjob-Executoren auf Red Hat Enterprise Linux (RHEL) 6
In beiden Umgebungen ist eine große Cluster-Umgebung über zwei Lokationen über WAN-Strecke bereitzustellen:
WebSphere-Cluster mit mehreren Zellen und Knoten im unteren zweistellen Bereich und Cluster-Membern im deutlich zweistelligen Bereich
LDAP-Cluster mit Tivoli Directory Server in Master-Master-Replikation und vorgeschaltetem Alteon-Hardware-Load-Balancer
DB2 UDB-HA-Cluster
In beiden Umgebungen (AIX wie Windows) angebundene Umsysteme: SAP R/3 (mittels Libarados Resource Adapter), Legacy CICS-Anwedung in COBOL auf z/OS 1.12 mit DB2 9.5 for z/OS sowie FileNet auf AIX
Notwendige Programmierkenntnisse: Java EE, Spring, Hibernate, Unix Shell, Perl, Jython, Windows PowerShell
Beschreibung:
An dem Aufbau der ursprünglichen Zielumgebung auf AIX und der Sozialversicherungssoftware war ich ursprünglich als IT-Architekt und Experte für Java EE, Unix und WebSphere sowie Tivoli Directroy Server und später als technischer Projektleiter beteiligt. Im Zuge einer neuen strategischen Ausrichtung ? weg von AIX, hin zu Windows ? berate und begleite ich das neuerliche Projekt als Experte für die genannten Technologien und die Sozialversicherungslösung.
Dies umfasst Beratung und Bewertung der Systemarchitektur, Performance-Analyse und Migration der Deployment- und Konfigurationsprozesse. Kommunikation etwaiger technischer und applikatorischer Änderungen an das Offshoring-Team eines großen Software-Herstellers in Indien.
Durchführung eines ?Proof of Concept?, welcher Nachwies, dass die Applikation in der Windows-Cloud inklusive der Anbindung der Umsysteme technisch und fachlich korrekt funktioniert. Automatisierung der Umgebungsprovisionierung, der Configuration der WebSphere-, Tivoli-Directory- und DB2-Umgebung sowie des Applikations-Deployments mit PowerShell und Jython. Beratung zur Gestaltung einer Architektur auf Windows unter Performance und Hochverfügbarkeitsgesichtspunkten sowie für einen kostendefensiven Plattform- und Applikationsbetriebs.
Auftraggeber / Kunde:
Sozialversicherer und dessen IT-Betreiber
Standorte: Schweiz
Sprachen: Deutsch, Englisch
08.2012 - 12.2013: Teilprojektleitung Trennung Systeme für Test und Produktion gemäß MaRisk
Positionen / ausgefüllte Tätigkeitsfelder:
Teilprojektleiter
Spezialist für IT-Architektur
Branche:
Baufinanzierung
Umgebung:
Offene Systeme: Red Hat Enterprise Linux (RHEL), WebLogic 10.x, WebLogic 12c, JBoss 4 EAP, JBoss 6 EAP AIX, Oracle 10g/11g, Hibernate, Spring, EJB 2.x, EJB 3.0, FileNet, Connectoren für CICS und IMS, Java, CORBA, Net Phantom, Tivoli Identity Manager (TIM), Windows 2008 R2, Active Directory, ClearCase, ClearQuest, Jenkins
Mainframe: z/OS 1.11 und 1.13, DB2, IMS, Assembler, COBOL, CORBA, Anbindung an externes CICS (Schufa)
Fachlicher Kontext: Mindestanforderungen an das Risikomanagement (MaRisk), Gesetz über das Kreditwesen (KWG), Bundesdatenschutzgesetzt (BDSG), Grundsätze ordentlicher Buchführung (GoB), Grundsätze zum Datenzugriff und zur Prüfbarkeit digitaler Unterlagen (GDPdU)
Beschreibung:
Physikalische/logische Trennung der Systeme und Infrastruktur der Bank für Test/Entwicklung und Produktion. Teilprojektleitung ?dezentrale Systeme? für die erste Phase zur Ermittlung der betroffenen Produkte, Software- und Hardwarekomponenten sowie Prozesse. Adaption der Definitionen im zentralen Umfeld auf die dezentralen Systeme. Aufwandsschätzung für die zweite Phase ?Umsetzung?, welche in 2014 startet. Beratung zur Übertragbarkeit der Ergebnisse im Mainframe-Umfeld auf Unix-, Linux- und Windows-Systeme.
Definition der Netzwerkzonen gemäß des ermittelten Schutzbedarfs sowie betrieblichen und applikatorischen Prämissen. Abstimmung der Ergebnisse mit den Abteilungen der internen Revision und IT Security.
Erarbeiten eines dynamischen Migrationskonzepts zur Verlagerung der Systeme in die getrennten Netzwerkzonen, welches die Kommunikationsbeziehungen dynamisch ermittelt sowie Firewalls sukzessive trotz minimaler Beeinträchtigung des IT-Betriebs restriktiver gestaltet. Schließlich führt es im Zielbild zu einer klaren Trennung der Netzwerkzonen ohne die Gefahr einer nachträglich ?Aufweichung? der Sicherheitsstandards wie sie beim Nachträglichen einziehen von Firewalls in historisch gewachsene Umfelder grundsätzlich besteht.
Leitung und Planung der Umsetzung im Bereich ?dezentrale Systeme? sowie Koordinierung zwischen hybriden Arbeitspaketen mit Anteilen aus zentraler Welt (Mainframe) und dezentraler Welt (Unix, Linux, Windows).
Auftraggeber / Kunde: Systemhaus / Bank
Standorte: Deutschland
Sprachen: Deutsch
09.2013 - 10.2013: Beratung im Zusammenhang mit einem crashing JBoss-Cluster
Positionen / ausgefüllte Tätigkeitsfelder:
Berater für JBoss AS und JBoss EAP
Branche:
Telekommunikation
Umgebung:
Red Hat Enterprise Linux (RHEL), JBoss EAP 5.x, JBoss AS 5.x, JBoss EAP 6.1, JBoss AS 7.x
Beschreibung:
Nach der Migration einer Applikation von JBoss AS 5.x bzw. EAP 5.x auf JBoss AS 7.x bzw. JBoss EAP 6.1 kam es zu unvorhersehbaren Crashs der Cluster-Umgebung. Unterstützung bei der Problembehebung durch Beratung und Fehleranalyse. Beratung zur Optimierung der Garbage-Collection.
Auftraggeber / Kunde: Systemhaus
Standorte: Deutschland
Sprachen: Deutsch
08.2013 - 10.2013: Beratung zu Assembler-Konsoldierung und Mainframe-Rehosting
Positionen / ausgefüllte Tätigkeitsfelder:
Berater für Legacy-Konsolidierung und Software Engineering
Branche:
Baufinanzierer
Umgebung:
z/OS, High-Level-Assembler, Assembler, COBOL, Java, IMS/TM
Rehosting: z/Linux, Red Hat Enterprise Linux (RHEL), Oracle Tuxedo mit Application Runtime for IMS, MicroFocus Enterprise Studio, z/PDT, IBM RD&T, RDz
Beschreibung:
Beratung zur automatischen Transformation von Assembler-Code zu COBOL bzw. Java. (Als Voraussetzung sowohl für ein Rehosting, als auch als Einstieg in die Mainframe-Modernisierung.)
Beratung zu Rehosting-Platformen und wie die notwendige Performance sowohl für Testumgebungen, als auch für Produktionsumgebungen erreicht werden kann.
Unterstützung für die Projektanbahnung für 2014.
Auftraggeber / Kunde: Systemhaus / Bank
Standorte: Deutschland
Sprachen: Deutsch
05.2012 - 10.2013: Fehleranalyse WebLogic, Evaluation Migration auf JBoss
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Offene Systeme: Red Hat Enterprise Linux (RHEL), WebLogic 10.0, WebLogic 12c, AIX, Oracle 10g, Hibernate, Spring, EJB 2.x, EJB 3.0, Filenet, Connectoren für CICS und IMS, JDBC-Zugriff auf Oracle 10g, DB2 MVS
Mainframe: z/OS 1.10, CICS Transaction Server, DB2, IMS
Analysewerkzeuge: CA Wily Introscope, Oracle Enterprise Manager, sar, tcpdump, wireshark, jhat, jmap
Alternative Java EE-Umgebung: JBoss 7, JPA2
Beschreibung:
Auftraggeber / Kunde: Systemhaus / Bank
Standorte: Deutschland
Sprachen: Deutsch
07.2012 - 11.2013: Beratung Fehleranalyse und Optimierung Java EE
Positionen / ausgefüllte Tätigkeitsfelder:
Berater Architektur
Spezialist für Java EE
Branche:
Versicherung
Umgebung:
Debian GNU/Linux 6, Apache Tomcat 7, Apache HTTP-Server 2.4, Apache JServ Protocol (AJP)
Monitoring-Werkzeuge: Java Melody, Nagios
Analysewerkzeuge: Eclipse Memory Analyser 1.2.0, IBM Heap Analyser 4.3.x, GCViewer 1.28, Samurai 2.1.6
Beschreibung:
Analyse von Stabilitätsproblemen im Lasttest mittels Auswertung von Tomcat-Logs und Garbage-Collector-Logs sowie Java-Heap-Dumps; Ermittlung der Ursachen der Stabilitätsprobleme
Beratung zur Optimierung der Garbage-Collection (Concurrent- vs. Parallel-GC, Optimierung der Ratio); Begleitung weiterer Lasttests
Review der Anwendungs- und Systemarchitektur und Hinweise auf Problemherde; Beratung zur Optimierung
Auftraggeber / Kunde: Systemhaus / Versicherungskonzern
Standorte: Deutschland
Sprachen: Deutsch
10.2011 - 07.2012: Integration und Entwicklung einer Versicherungslösung
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Offene Systeme: AIX 5.3 und 6.1, TXSeries 5.1 und 7.1, JBoss 5.x, Tomcat 6.x, DB2 UDB 9.5 und 9.7, Eclipse Indigo, Java, ANSI C, GNU C (gcc), Cygwin, Subversion, Icon DOPE, PVCS, CICS Transaction Gateway 7, Webservices (Apache Axis2, Apache CXF, gSOAP)
Teilweise Windows-Terminalserver
Mainframe: z/OS 1.10, CICS Transaction Server 3.2, DB2 9.x, IBM XL C/C++, PVCS, CICS Transaction Gateway (CTG)
Beschreibung:
Seit März: Technischer Projektleiter Staging und Infrastruktur. Konsolidierung des Vorgehens und der Systemumgebungen.
Auftraggeber / Kunde: Systemhaus und Versicherungskonzern
Standorte: Schweiz, Deutschland
Sprachen: Deutsch, Englisch, teilw. Französisch
seit 01.2009: Beratung und Recherche Legacy-Konsolidierung
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
IBM Mainframe: z/OS 1.8 bis 1.10, Micro Focus Enterprise Server, Micro Focus Enterprise Studio, Oracle Tuxedo mit JES/JCL-Runtime-Engine, WebSphere AS 5.x und 6.x, WebSphere MQ 6.x bis 7.x, CICS, DB2
Ehemalige DEC-Systeme: OpenVMS 7.3 bis 8.3 auf VAX und Alpha, Stromasys CHARON, WebSphere MQ 6.x
Bereich Anbindung: Linux (SLES, RHEL) auf x86 und System z, AIX, HP/UX, (Open)Solaris, Windows, WebSphere MQ 6.x und 7.x, WebSphere AS 6.x und 7.x, WebLogic 11g, JBoss 5 und 6, GlassFish 3.x
Beschreibung:
Mehrere Kurzzeiteinsätze im Bereich Beratung und Training zur Konsolidierung, Migration und Rehosting von Legacy-Systemen (z/OS und OpenVMS) sowie sichere Anbindung derselben an Unix, Linux und Windows. Erarbeiten und veröffentlichen mehrerer Artikel zum Thema. Parallel zu den Recherchen zum Buch mit dem Arbeitstitel "z/OS verstehen und anbinden".
Ausarbeiten und Analysieren von betriebswirtschaftlichen Bewertungen im Hinblick auf Einsparungspotential und Return of Investment (ROI) bei Rehosting und Migration.
Auftraggeber / Kunde: diverse
Standorte: Deutschland, Schweiz, UK
Sprachen: Deutsch, Englisch
07.2009 - 09.2011: Kryptografisches System zur Zahlungsabwicklung
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
JBoss und WebSphere als Java EE-Plattformen, Prototyping auf GlassFish; MySQL 5, DB2 UDB 9.5; Windows, diverse Unix, Linux; mobile Systeme: Android, iPhone, Java ME, Symbian; Microcontroller Atmel AVR und ARM
Beschreibung:
Mathematische Ausarbeitung von kryptografischen Protokollen und Umsetzung der Protokolle in lauffähigen Hard- und Software-Prototypen; Sicherheitsanalyse und Kryptanlyse in Zusammenarbeit mit universitärem Umfeld; Ausarbeiten von Patentanträgen; Entwicklung von Prototypen in Hardware (Microcontroller-Schaltungen) und in Software; Einsetzte Kryptografiestandards: AES, Elliptic Curve Cryptography (ECC) und RSA
Auftraggeber / Kunde: Ursprünglich Eigenentwicklung; jetzt: verschiedene Finanzdienstleister
Standorte: Deutschland, Schweiz
Sprachen: Deutsch, Englisch
09.2011 - 11.2011: Beratung zu "Mobile Security Rules"
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Serverumgebung: Java EE, Webservices (REST und SOAP), Oracle SQL Connect, SAP RPC
Mobile Umgebungen: Apple iOS 4 und 5 (iPhone, iPad), Android, RIM Blackberry und teilweise Windows Mobile Java, Objective C, HTML 5
Beschreibung:
Beratung für ein Projekt im Bereich "Mobile Security Rules", welche das Erstellen von verbindlichen und optionalen sowie generischen und spezifischen Sicherheitsregeln für das Entwickeln von mobilen Anwendungen zum Ziel hat. Der Fokus liegt hier sowohl auf unternehmensinternen Anwendungen, die einen Zugriff auf sensible Daten erfordern, als auch auf Kunden-Apps. Dokumentation in englischer Sprache.
Auftraggeber / Kunde: Systemhaus
Standorte: Deutschland
Sprachen: Deutsch, Englisch
07.2011: Beratung zur Java EE-Architektur und WebLogic
Positionen / ausgefüllte Tätigkeitsfelder:
Branche:
Umgebung:
Oracle WebLogic 10.3 (11g), Oracle 11g, Spring, Hibernate, Eclipse, Maven, Hudson, JRebel
Vorgehensmodell: SCRUM
Beschreibung:
Beratung im Bereich Java EE-Architektur im Hinblick auf Performance-Probleme in der Dreierkonstellation Oracle-WebLogic-Hibernate. Parallel Reduzierung der Turnaround-Zeiten in der Entwicklung durch JRebel.
Auftraggeber / Kunde: Mittelständisches Systemhaus
Standorte: Deutschland
Sprachen: Deutsch
12.2009 - 01.2011: System für Pflegeprozessmanagement
Positionen / ausgefüllte Tätigkeitsfelder:
Projektleiter
Architekt
Requirements Engineering, Design
Branche:
Medizinische Dauerpflege und Altenpflege
Umgebung:
JBoss 5, WebSphere AS 7, WebSphere Process Server 6.1, Apache ODE; Windows, Linux; OpenJPA; DB2 UDB 9.x, MySQL 5; NetBeans 6.x; EJB3, AJAX, Java Server Faces (JSF), ICEfaces
Vorgehensmodell: ICONIX
Fachliche Standards: NIC, RAI und NANDA sowie spezielle Expertenstandards
Beschreibung:
Entwicklung eines Java EE-basierten Pflegeprozessmanagements
Kostenschätzung mit COCOMO II basierend auf Function-Points und Object-Point-Methode; Requirements Engineering, Abbildung des Pflegeprozesses in ein BPMN-Prozess; Evaluation von Lösungen zur Abbildung des Prozesses; Ausarbeiten der Java EE-Architektur für die Alternativen JBoss und WAS; Entwurf des Softwaresystems und Programmierung eines Wegwerf-Prototypen zur Kundenabstimmung. Aufbau und Management eines Entwicklungsteams in der Ukraine zur Implementierung der Lösung.
Auftraggeber / Kunde: Mittelständisches Softwareunternehmen und mehrere Pflegeverbände
Standorte: Deutschland, Ukraine
Sprachen: Deutsch, Englisch
07.2007 - 06.2011: Beratung zu und Implementierung von Websites und Webanwendungen
Positionen / ausgefüllte Tätigkeitsfelder:
IT-Architekt
Sicherheitsverantwortlicher
Branche:
Diverse
Umgebung:
Debian GNU/Linux, Red Hat Enterprise Linux, Apache HTTP-Server, PHP, Typo3, MySQL
Beschreibung:
Anwendungs- und Webseiten-Architektur, Sicherheitsbewertungen und Beratung zu beim Kunden betriebenen und entweder dort implementierten oder nur deployten Websites bzw. Webanwendungen.
Auftraggeber / Kunde: RZ-Dienstleister / Hoster
Standorte: Deutschland, Schweiz
Sprachen: Deutsch
08.2010 - 11.2010: Proof of Concept - Mainframe-Konsolidierung
Positionen / ausgefüllte Tätigkeitsfelder:
Architekt
Spezialist für Mainframe-Systeme
Krisenmanager
Branche:
Versicherung
Umgebung:
z/OS 1.10, RACF, DB2 z/OS 9, CICS TS 3.2, JCL, COBOL, PL/I, VSAM; Java EE auf AIX; Micro Focus Enterprise Server auf Windows
Beschreibung:
Im Zuge der Migration von Legacy-Anwendungen auf Java EE waren die Ressourcen im Testing und zur Datenkonvertierung auf dem Mainframe stark begrenzt, zusätzliche Ressourcen war finanziell nicht vertretbar
Evaluation von alternativen Lösungen und testen dieser in einem Proof of concept; Vermittlung zwischen den beteiligten Parteien und skizzieren einer finanziell und vom Aufwand her vertretbaren Lösung, die den Projektfortschritt ermöglichte. Aufgezeigte Alternativen: Rehosting und Prozessänderungen bei der Nutzung der bestehenden Ressourcen.
Auftraggeber / Kunde: Software-Gesellschaft einer staatlichen Versicherung
Standorte: Schweiz
Sprachen: Deutsch
05.2006 bis 12.2009: Migration einer Sozialversicherungssoftware
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Software Engineer und Spezialist für J2EE mit fachlichem Lead
Spezialist für Unix und Mainframe
Systemarchitekt
Technische Projektleitung
Teamleitung (4 Personen unterstellt)
Branche:
Sozialversicherung
Umgebung:
WebSphere AS 6.0/6.1/7.0 ND, Tivoli Directory Server 6.0/6.1 sowie DB2 UDB 8.x/9.x auf AIX 5.3 bzw. 6.0. HACMP-Cluster DB2, HA-Cluster für Java EE-Applikationsbetrieb, Master-Master-Replikation LDAP; Anbindung z/OS 1.8/1.10 mit DB2 8/9 über JDBC und FTP sowie SAP R/3 über Resource-Adapter; Hibernate, Spring
Vorgehensmodell: Rational Unified Process
Beschreibung:
Korrektur und Redesign der System- und Softwarearchitektur nach Architektur- und Codereview. Korrektur des Systemsizing. Korrektur fehlentwickelter Prozesse und Komponenten. Sicherheitskorrektur der eingesetzten Verfahren und kryptografischen Protokolle. Ausarbeiten von Deployment-Strategien und -Verfahren für Java EE und LDAP-Cluster. Crash-Dump und Heap-Dump-Analyse. J2EE-Troubleshooting. Vertretung und Durchsetzen der fachlichen Anforderungen und Interessen des Auftraggebers gegenüber anderen Projektparteien und in Krisenmeetings. Krisenmanagement und Handling von "politisch" sensiblen Situationen.
Auftraggeber / Kunde: International tätiges Systemhaus eines ITK-Konzerns
Standorte: Schweiz, Offshoring Indien
Sprachen: Deutsch, Englisch, teilw. Französisch
07.2008 - 12.2008: Evaluation einer unternehmensübergreifende SOA-Architektur
Positionen / ausgefüllte Tätigkeitsfelder:
Technischer Projektleiter
Architekt
Requirements Engineering, Analyse, Design
Kostenschätzung und Planung
Branche:
RZ-Betrieb
Umgebung:
Evaluationsphase: IBM WebSphere AS 6.1/7.0 ND und IBM WebSphere Process Server 6.1 auf Linux (RHEL); JBoss 5 auf RHEL 5; GlassFish Enterpise V2; Apache ODE; MySQL 5 auf Debian; ICEfaces 8, Hibernate, EJB3; Eclipse 3.4, NetBeans 6.5.x; AJAX, WSDL, XML-RPC, PHP, Typo3
Prototyping: IBM WebSphere AS 7.0 ND auf RHEL 5 mit IBM WebSphere Process Server 6.2 auf RHEL 5 und MySQL; NetBeans 6.5.x; ICEfaces 8; AJAX, WSDL, XML-RPC, PHP, Typo3
Beschreibung:
Ermittlung der Requirements, Ausarbeiten eines möglichen Analyse- und Architekturmodels; Evaluation von möglichen Zielplattformen für die Umsetzung der Architektur; Entwicklung von Wegwerfprototypen; Aufbau eines Entwicklerteams in der Ukraine; Kostenschätzung mit COCOMO II auf der Basis von Function-Points
Auftraggeber / Kunde: RZ-Betreiber und dessen angebundene Kunden
Standorte: Schweiz, Deutschland, Ukraine
Sprachen: Deutsch, Englisch
06.2007 - 09.2008: System zur revisionssicheren Protokollierung
Positionen / ausgefüllte Tätigkeitsfelder:
Projektleitung
Architekt
Requirements Engineering, Analyse, Design
Testplanung und Qualitätssicherung
Branche:
Bahn
ITK
Umgebung:
WebSphere AS 6.1 ND; Linux (RHEL), AIX, Solaris, z/OS; log4j; MySQL, DB2 UDB 9, Oracle 10g, Berkeley DB 4.6 TDS; Perl, GNU C, GNU autotools, Embedded SQL (Oracle Pro*C, DB2 ?Precompile?, PostgreSQL EPGC, MyESC), Thread-Programmierung nach POSIX1003.1c-1995
Beschreibung:
Entwicklung eines Systems zur revisionssicheren Protokollierung parallel für ein Bahnunternehmen und für ein ITK-Unternehmen; Entwurf e; Entwurf einer Architektur und eines Designs sowie Programmierung je eines Wegwerf-Prototypen in Perl und C; Ausarbeiten einer Spezifikation für das Nearshoring; Aufbau und Management eines Nearshoring-Teams in der Ukraine
Auftraggeber / Kunde: parallel ein Bahnunternehmen und ein ITK-Unternehmen
Standorte: Schweiz, Deutschland, Ukraine
Sprachen: Deutsch, Englisch
08.2008 - 10.2008: Beratung Software Engineering und Rollout
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Java EE-Berater
Architektur-Review und Korrektur
Review Methodik und Korrektur
Review Requirements Engineering und Korrektur
Beratung Testplanung und Rollout
Koordination und Planung
Branchen:
Einzelhandel
Umgebung:
WebSphere AS 6.1 ND mit Feature-Pack für Java EE 5, GlassFish V2; WebSphere MQ inklusive SI-Bus, Apache ActiveMQ; Oracle 10g, DB2 UDB 9.x; NetBeans 6.x; Spring, Hibernate
Vorgehensmodell: Scrum
Beschreibung:
Review der Architektur und des Vorgehens bei der Projektumsetzung und Korrektur von "Brüchen"; Beratung zum Rollout und zur Testplanung; Vermittlung zwischen den beteiligten Projektparteien; Management von "politisch" sensiblen Situationen
Auftraggeber / Kunde: mittelständisches Softwarehaus und Einzelhandelskette
Standorte: Deutschland
Sprachen: Deutsch
08.2006 - 04.2007: Proof of Concept zur revisionssicheren Protokollierung
Positionen / ausgefüllte Tätigkeitsfelder:
Architekt
Requirements Engineering
Analyse, Design, Implementierung
Branchen:
Bahn
Umgebung:
WebSphere AS 5.x und 6.1 ND; Linux (RHEL); BSD syslog, syslog-ng, log4j; MySQL; Perl; Thread-Programmierung; Apache; HTML::Mason
Beschreibung:
Aufnahme der Requirements; Entwicklung eines Konzepts zur revisionssicheren Protokollierung; Design eines Lösung; Implementierung eines Prototypen in Perl (Mutli-Threaded) mit Web-Frontend in HTML::Mason
Auftraggeber / Kunde: RZ-Betreiber eines Bahnunternehmens
Standorte: Schweiz
Sprachen: Deutsch, teilweise Französisch
07.2005 - 03.2006: Versicherungsportal
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Consultant Unix/Linux
Perl-Programmierer
Deployment
Branchen:
Versicherung
Umgebung:
VMware ESX, Linux (RHEL & Debian), Windows Server 2003; OpenLDAP, PostgreSQL; DACS 4.x, HTML::Mason, Perl, mod_perl; TSM; Nagios
Beschreibung:
Entwicklung von Monitoring-Konzepten und Implementierung derselben; Design und Implementierung einer Single-Sign-On-Lösung auf der Basis von DACS; Programmierung von Funktionalität in Perl mit HTML::Mason; Deployment von Portalanwendungen in Test; Rollout von Software
Auftraggeber / Kunde: Versicherungskonzern
Standorte: Deutschland
Sprachen: Deutsch
02.2005 - 06.2005: Migration einer Portalanwendung
Positionen / ausgefüllte Tätigkeitsfelder:
Krisenmanager
Konsolidierung von Build- und Deployment-Verfahren
Branchen:
Bank
Umgebung:
BEA WebLogic, WebSphere AS 5.1; Informix, DB2 UDB 7; AIX, Solaris, z/OS; WebSphere Application Developer, Eclipse; Jakarta Struts; Java, Perl, PHP
Beschreibung:
Analyse und Dokumentation der bestehenden Build-, Entwicklungs- und Deployment-Prozesse; Beratung und Hilfestellung beim Dimensionieren und Aufbauen einer "load balanced" und geclusterten WebSphere-5.1-Umgebung und beim Umstieg auf die hauseigenen Deployment-Verfahren; Vermittlung zwischen zerstrittenen Projektparteien; Krisenmanagement und Lösung von Problemen in "politisch" sensiblen Situationen
Auftraggeber / Kunde: Großbank
Standorte: Deutschland
Sprachen: Deutsch
10.2004 - 06.2005: Server- und Prozesskonsolidierung
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Consultant
Branchen:
Bank
Umgebung:
WebSphere AS 3.5/4.0/5.0, BEA WebLogic; MQSeries, WebSphere MQ; Siebel; DB2 UDB, Informix; OpenLDAP, DirX, NIS, NIS+; diverse Entwicklungsumgebungen für C++, COBOL und Java, teilweise PHP; Anbindung z/OS
Beschreibung:
Konsolidierung verschiedener UNIX-Serversysteme und angebundener Windows-Systeme im Bereich Software-Test; Zusammenführung auf eine zentrale Umgebung auf partitionierbaren Systemen IBM pSeries und Sun E10k; Einführung von einheitlichen Übergabe- und Deployment-Verfahren; Handling von "politisch" sensiblen Situationen und Zusammenführen von zerstrittenen Abteilungen
Auftraggeber / Kunde: Großbank
Standorte: Deutschland
Sprachen: Deutsch, teilweise Englisch
03.2004 - 12.2005: Entwurf und Einführung einer J2EE-Plattform
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Consultant zu
IT-Security, Unix und J2EE
Projektleiter
Branchen:
Systemhaus
Umgebung:
RHEL 3/4, User-Mode-Linux; Apache, JBoss, Tomcat, Intrexx; GNU C/C++, Eclipse; Snort, iptables
Beschreibung:
Konzipieren und Einführen einer J2EE-Portalplattform auf der Basis eines gehärteten Linux
Auftraggeber / Kunde: mittelständisches Systemhaus
Standorte: Deutschland
Sprachen: Deutsch
06.2001 - 12.2004: Unix-Administration und Entwicklungsberatung
Positionen / ausgefüllte Tätigkeitsfelder:
Teamleitung
Administration von Entwicklungs- und Testumgebungen unter Unix, Linux für COBOL, C/C++ und J2EE
Beratung zur Softwareentwicklung unter C/C++ und J2EE
Spezialist für technische Dokumentation
Branchen:
Bank
Umgebung:
AIX 4.3.3 und 5.x, Solaris 2.7, 8, 9 (SPRAC und x86), Sinix-Z, HP-UX, z/OS; WebSphere AS 3.5/4.0/5.0, BEA WebLogic, Tomcat; MQSeries, WebSphere MQ; Jakarta Struts, Cocoon; OpenLDAP, iPlanet Directory Server, NIS, NIS+; Oracle, Informix, DB2; Siebel; Java, C, C++, Perl, PHP
Beschreibung:
Leitung eines Teams zur Bereitstellung von Entwicklungs-, Test- und Abnahmeumgebungen unter Unix mit Mainframe-Anbindung und Windows-Integration; Aufbau eines Beratungsteams zur Entwicklung unter J2EE und C/C++, teilweise PHP; Scripting in Unix-Shell und Perl sowie im J2EE-Server-Bereich mit Tcl, JACL und Jython; Crash-Dump-Analyse und Code-Review; Vereinheitlichung und Standardisierung von Deployment-Verfahren und Phasenübergängen; nachhaltige Senkung der Annahmekosten durch einheitliche Prozesse für Entwicklung, Integrations- und Systemtest; Koordination zu Outsourcing-Partnern; Vermittlung in "politisch" sensiblen Situationen, Krisenmanagement
Auftraggeber / Kunde: Großbank
Standorte: Deutschland, UK, Irland
Sprachen: Deutsch, Englisch
01.2002 - 04.2002: Betriebswirtschaftliche Studie zu Outsourcing von IT-Referaten
Positionen / ausgefüllte Tätigkeitsfelder:
Consultant für Outsourcing und IT Konsolidierung
Branchen:
Bank
Aufgabe:
Erarbeiten einer Studie für einen Unternehmensbereich zum Thema
"Monetäre und qualitative Bewertung eines möglichen Outsourcing von IT-Services"
Beschreibung:
Teil 1: Entwicklung eines Referenzmodells als "Schablone und Messlatte" für Outsourcing-Vorhaben. Dieses Modell fast die wesentlichen qualitativen und monetären Zielvorgaben derartiger Vorhaben zusammen und ermöglicht das Bewerten über klare Kostenreduktionsmarken, die über ein zentrales Diagramm dargestellt werden können. Die qualitativen Aspekte werden in einer Bewertungsmatrix erfasst.
Teil 2: Bewerten eines möglichen Oursourcing von IT-Services an einen Dienstleister. Die realen Daten des Vorhabens wurden auf das Referenzmodell projiziert. Es wurde vorrangig das Szenario "Outsourcing an eine Organgesellschaft des Konzerns" betrachtet. Ein Ausblick in Richtung eines externen Dienstleister wurde skizziert.
Reporting and Refarats-, Bereichs- und Unternehmensbereichsleitung (CITO).
Auftraggeber / Kunde: Großbank
Standorte: Deutschland
Sprachen: Deutsch
01.2000 - 09.2001: Entwicklung gehärteter Linux-Distributionen
Positionen / ausgefüllte Tätigkeitsfelder:
Senior Unix/Linux-Spezialist
Sicherheitsspezialist
Kernel-Programmierer
Branchen:
Behörde
Umgebung:
Linux auf der Basis von Red Hat; Security-Enthancements der NSA für Kernel und System (u. a. SELinux); HA-Cluster; GNU C/C++ (egcs), Python
Beschreibung:
Entwicklung einer gehärteten, hoch sicheren Linux-Distribution für den behördlichen Einsatz in USA; Kernel-Programmierung, Entwicklung eigener Sicherheitserweitungen; Crash-Dump-Analyse; Integration von SmarCards als Authentifizierungsmittel.
Auftraggeber / Kunde: Systemhaus für Sicherheitstechnik aus USA
Standorte: Deutschland, USA
Sprachen: Deutsch, Englisch
03.1999 - 12.2000: Produktentwicklung Linux-Distributionen
Positionen / ausgefüllte Tätigkeitsfelder:
Projektleitung
Teamleitung
Kernel-Programmierer
Systemarchitekt
Branchen:
Verlag
Umgebung:
Linux (Red Hat) als Basis; GNU C/C++, teilweise Assembler; Tcl/Tk, Python
Beschreibung:
Entwicklung mehrerer Linux-Distribution für eine deutsche IT-Verlagsgruppe als Produkt; Projektleitung, Konzeption und Entwurf des Installations- und Deinstallationsprozesses; Programmierung in C, C++, Unix-Shell, Python und Assembler; Paketierung mit RPM
Auftraggeber / Kunde: deutsche IT-Verlagsgruppe
Standorte: Deutschland, UK, USA
Sprachen: Deutsch, Englisch
Ältere Projekte auf Anfrage.
Des Weiteren wurden betriebswirtschaftliche Projekte durchgeführt.
Nähere Angaben auch hierzu auf Anfrage.
Referenzschreiben ebenfalls auf Anfrage.
Technische Spezialgebiete: Crash-Analyse, Fehleranalyse in komplexen Umgebungen, Leitung von komplexen Projekten mit internationaler Beteiligung.
Linienpositionen:
- 10 Jahre Erfahrung als Geschäftsführer von drei Körperschaften (deutsche GmbH, britische Ltd.) im IT-Sektor.
- mehr als 2 Jahre Erfahrung als Teamleiter in einer Großbank.
- mehr als 4 Jahre Erfahrung als Leiter "Software Engineering".
Übernehme Interims-Management-Positionen.
Vorgehensmodelle und Phasen im Software Engineering
Projektmanagement und -konsolidierung
Standards
Produkte
IT-Security
Erfahrung:
über 10 Jahre Erfahrung als Geschäftsführer verschiedener Körperschaften (GmbH und Ltd.) und Personengesellschaften (GmbH & Co. KG)
über 2 Jahre Erfahrung als Teamleiter in einer Großbank
Veröffentlichungen:
Vorträge:
Mitgliedschaften und Engagement in Fachverbänden:
ACM Association for Computing Machinery
IEEE Institute of Electrical and Electronics Engineers
GI Gesellschaft für Informatik
HP Connect (ehemals Encompass)
DECUServe
Zusätzliche Erfahrung in Linien- und Management-Positionen in IT- und Beratungsbranche: