Senior System Developer / System Architect
IBM / Deutsche Telekom AG, Frankfurt am Main
Seit Juni 2009 bin ich verantwortlicher Komponenten-Maintainer bzw. Co-Maintainer sowie Software-Architekt für diverse Haupt-Komponenten der VoIP-Plattform der Deutschen Telekom AG, insbesondere für P-CSCF, I-CSCF, S-CSCF sowie SLF und HSS des IMS-Netzwerkes, aber auch für Hintergrund-Services wie der Konfigurations-Server, Verbindungs-Limitierungs-Server und den Nummern-Portierungs-Server.
Meine Aufgaben beinhalten unter anderem Repository Maintenance (git), Code-Reviews (gerrit), Fehleranalyse und -fixing, aber auch Planung, Design und Implementierung neuer Features. Einige der in dieser Zeit umgesetzten Features:
Eingesetzte Programmiersprachen:
Protokolle:
Produkte, Standards:
Technologien, technische Schwerpunkte, Spezialkenntnisse:
Deutsche Telekom AG, Frankfurt am Main
Meine Aufgabe in diesem Projekt war das Design und die Entwicklung eines Transaction-Stateful SIP Session Border Controller, um Geschäftskunden und Interconnection-Partner AG mit dem IMS-Netzwerk der Deutschen Telekom AG zu verbinden. Das Produkt verfügt über intelligente Load-Balancing Mechanismen, sowohl zu den externen Kommunikationspartnern, als auch zum inneren IMS-Cluster der Deutschen Telekom AG, DoS-Attacken-Abwehr über firewall-artige Mechanismen sowie eine Debugging-Schnittstelle zur Analyse von verschlüsseltem Datenverkehr (TLS). In diesem Projekt übernahm ich die Leitung eines kleinen Teams von 3 Personen.
Eingesetzte Programmiersprachen:
Protokolle:
Produkte, Standards:
Technologien, technische Schwerpunkte, Spezialkenntnisse:
IBM, Frankfurt am Main
In diesem Projekt musste ein 24/7-lauffähiges IOT-Netzwerk aufgebaut werden. Hierfür wurde auf das bestehende IBM-Research-Projekt LRSC (http://www.research.ibm.com/labs/zurich/ics/lrsc/) zurückgegriffen. Die Integration beinhaltete neben der Installation der Software auch die Analyse und Bugfixing sowie Erweiterung des bestehenden Sourcecode, Installation von LoRa-Gateways (embedded Systeme von Semtech und Kerlink), Anpassung der Gateway-Firmware.
Meine Aufgaben beinhalten unter anderem Repository Maintenance (git), Code-Reviews (gerrit), Fehleranalyse und -fixing, aber auch Planung, Design und Implementierung neuer Features. Einige der in dieser Zeit umgesetzten Features:
Eingesetzte Programmiersprachen:
Protokolle:
Produkte, Standards:
Technologien, technische Schwerpunkte, Spezialkenntnisse:
Deutsche Telekom AG, Frankfurt am Main
In diesem Projekt war ich zuständig für die Architektur und Implementierung eines Nummern-Portierungs-Server für die Deutsche Telekom AG, um den bestehenden - nicht mehr hinreichend performanten - Portierungs-Server abzulösen.
Der Rufnummernportierungs-Server besteht aus einer Backend-Applikation, das alle Datensätze (~300 Millionen Telefonnummern) aus einer DB/2 Datenbank liest und diese der Frontend-Applikation zur Verfügung stellt. Alle Datensätze werden während der gesamten Laufzeit im Speicher gehalten und stehen selbst nach einem Neustart der Applikation mit minimaler Reorganisations-Zeit nahezu unmittelbar wieder zur Verfügung. Der Speicherbedarf der internen Datenstruktur liegt bei vollständiger Befüllung von 300 Mio. Datensätzen bei <400 MB und erlaubt mehr als 20.000 Anfragen pro Sekunde und CPU-Kern. Die genutzte Datenstruktur benötigt zum Lesen keinerlei Locking-Mechanismen und nutzt ein eigenes Speichermanagement. In diesem Projekt übernahm ich die Leitung eines Teams von 5 Personen.
Eingesetzte Programmiersprachen:
Produkte, Standards:
Technologien, technische Schwerpunkte, Spezialkenntnisse:
Rohrbacher Development, Ottweiler/Saar
In diesem Projekt habe ich das ts3overlay (s. vorangegangenes Projekt) weiterentwickelt (https://projectkryptonite.com). Die neue Software wurde dahingehend erweitert, dass die darzustellenden Informationen in HTML-Form in einem separaten Prozess mit Hilfe des Chromium Embedded Framework (https://en.wikipedia.org/wiki/Chromium_Embedded_Framework) gerendert werden, und dort über einen gemeinsamen Speicherbereich in die Spiele transferiert und dort dargestellt werden.
Eingesetzte Programmiersprachen:
Protokolle:
Produkte, Standards:
Technologien, technische Schwerpunkte, Spezialkenntnisse:
TeamSpeak Systems, Krün
In diesen zwei Jahren habe ich eine generisches Overlay für Direct3D8 - Direct3D11 und OpenGL-Applikationen entwickelt, das als ein Plugin für TeamSpeak (http://www.teamspeak.de) eingesetzt wurde. Ziel war es, in Spielen zusätzliche, vom Spiel nicht vorgesehene, Informationen darzustellen - in diesem speziellen Fall handelte es sich dabei um die Darstellung der Namen der TeamSpeak-Teilnehmer, die aktuell am sprechen sind. Teil der Software ist ein integrierter Dis- und Re-Assembler für Intel (32 und 64 Bit), der genutzt wird, um Funktionsaufrufe in die Grafik-Engine abzufangen und in den eigenen Code umzulenken (Interception / Hooking). Die darzustellen Grafiken wurden mit Hilfe von CeGUI (http://cegui.org.uk) im Spiel gerendert und dargestellt.
Eingesetzte Programmiersprachen:
Produkte, Standards:
Technologien, technische Schwerpunkte, Spezialkenntnisse:
ASC Technologies AG, Hösbach
Entwurf und Implementierung eines Spachaufzeichnungssystems für traditionelle Telefonie (z.B. PRI / BRI) und SIP / H.323.
Aufgaben:
Eingesetzte Programmiersprachen:
Datenbanken
Tools
Protokolle:
ASC Technologies AG, Hösbach
Entwurf und Implementierung eines web-basierten Quality Monitoring Systems für Contact Center.
Aufgaben:
Eingesetzte Programmiersprachen:
Datenbanken
Tools
Protokolle:
EUROKEY Software GmbH, Saarbrücken
Erweiterung eines Autorensystems für Sprachlernsoftware.
Aufgaben:
Eingesetzte Programmiersprachen:
Tools
ASC Technologies AG, Hösbach
Implementierung einer Sprachlern-Software basierend auf den Funktionalitäten eines LTS-Kassettenrecorders.
Aufgaben:
Eingesetzte Programmiersprachen:
Tools
Protokolle: