Die Firma PATH medical GmbH entwickelt Hardware und Software für Audiometrie und Tympanometrie, wie ABR / ASSR, OAE, DPOAE, FMDPOAE, TEOAE, Neugeborenen Hörscreening und PC Software für Tracking & Benchmarking der Patientendaten.
Für unsere Tracking & Benchmarking Software «pathTrack» habe ich ein Importmodul für RC4-kodierte Daten gemacht.
Für ein portable USB Tympanometrie-Gerät habe ich eine Software für eine grafische Darstellung der gemessenen Daten entwickelt.
Diese Software habe ich erst in C# für PC geschrieben, danach habe in diese Software in C++ mit QT für ein Android Tablet portiert.
Für eine unsere Hardware mit einem ARM-Prozessor habe ich eine Firmware gemacht, die diese Hardware initialisiert, ein Video von einer Kamera aufniemt und dieses Video auf
einen LCD darstellt.
Am besten gelingt mir „Debugging und Bugfixing“ und das war auch mein Tätigkeitsschwerpunkt bei jedem Job.
Ich kann sehr schnell den fremden Sourcecode verstehen und weiterentwickeln, verschiedene Bugs finden und fixen.
Ich habe große Erfahrung und sehr gute Kenntnisse mit meisten aktuellen usermode Debuggers: Microsoft Visual Studio, WinDbg, OllyDbg, GDB, LLDB und gute Kenntnisse mit kernelmode Debugger: WinDbg, SoftIce, GDB, LLDB.
Meistens bin ich "Troubleshooter" für zahlreiche komplizierte Probleme und Bugs.
Bei der Firma Berner & Mattner arbeitete ich zusammen mit der Firma BMW Car IT aus Ulm an der Entwicklung der MGU (Media Grafik Unit) Software für BMW Autos.
Das ist das zentrale Gateway zwischen dem Benutzer des Fahrzeugs und dem Internetbasierten Dienst: wie Echtzeit-Verkehrsinformationen, Suche, Musik-Streaming, etc.
Ich programmierte meistens in C ++ (11/14) mit Frameworks Boost und STL und verwendete GTest, GMock, Qt und CMake als Werkzeuge in der täglichen Arbeit in Kombination mit Git
/ Gerrit für Code-Reviews und Collaboration.
2019-2020: ein Workflow aus Datenschleuse für Datenwäsche
Aufgaben:
Entwicklung die OfficeAnalyzer- und OfficeCleaner -Module. Das OfficeAnalyzer-Modul dient für eine Analyse aller gängigen Office Dokumenten. Das Modul analysiert und extrahiert alle ?embedded?-Objekte, OLE- und DDE-Attachments und Externe Links. Der OfficeCleaner entfernt diese alle bösartige Objekte aus den Dokumenten, ohne, dass Dokument danach beschädigt wird.
Zur Analyse und Entfernung von den ?embedded? VBA-Makros aus den Office-Dokumenten habe ich das VBAAnalyzer Tool entwickelt.
Für die Benutzung des Android-Handys als eine Eingabe-/Ausgabe-Quelle habe ich ein Import- und ein Export-Modul entwickelt. Diese Module implementiert ein Obex-Protokol over Bluetooth für den Fileaustausch.
Für die E-Mail-Server als Input-Quelle zu benutzen habe ich ein Modul entwickelt, das einen POP3/ IMAP -Server automatsch abfragen kann. Wenn eine neue E-Mail kommt ? wird sie automatisch abgeholt und geparst. Für dieses Modul habe ich eine opensource ?gmime? Library benutz.
Für die Verwendung von CD/DVD Disk als eine weitere Ausgabe-Quelle habe ich ein DVD-Writer Modul entwickelt. Zum CD/DVD-Brennen habe ich in diesem Module das IMAPI-Interface benutzt.
Unter anderem habe ich für diese Software viele weitere kleine Tools, wie z.B. DeviceInfo, DirectoryCleaner, LogViewer geschrieben.
2017: Entwicklung einer Software für grafische Darstellung der gemessenen Daten in C# und C++
Aufgaben:
Entwicklung einer Software für grafische Darstellung der gemessenen Daten von einem portablen USB Tympanometrie-Gerät.
Diese Software habe ich erst in C# für PC geschrieben, danach habe in diese Software auf C++ mit QT für ein Android Tablet portiert.
Für eine unsere Hardware mit einem RISC Prozessor Blackfin ADSP-BF538 habe ich eine Firmware gemacht, die diese Hardware initialisiert, ein Video von einer Kamera aufnimmt und dieses Video auf einen LCD darstellt.
2015: Zugriff des Sentinel HL Keys aus der Pre-Boot-Umgebung UEFI
Aufgaben:
Im Jahr 2015 arbeitete ich an einem Kundenprojekt: der Zugriff des Sentinel HL Keys aus der Pre-Boot-Umgebung UEFI. Dafür habe ich einen UEFI driver für unseren USB Sentinel HL Key implementiert und unsere API für UEFI-Umgebung portiert. Als Eregebnis haben wir einen Driver nur 3 Kbyte gross und API nur 45 Kbyte gross bekommen, die alle uns notwendige Funktion abgedeckt haben. Dieses Projekt wurde für einen unserer wichtigsten Kunden (AGI) durchgeführt und wurde erfolgreich abgeschlossen (pünktlich und in der ausgezeichneten Qualität geliefert).
2009: Entwicklung unserer Software-Lizenzierung Lösungen
Aufgaben:
Seit dem Jahr 2009 war ich als Mitglied in dem internationalen "Unity"-Team (Germany, India, China) in der Entwicklung unserer Software-Lizenzierung Lösungen "Sentinel LDK" massgeblich beteiligt.
Ich habe eng mit Mitgliedern meines Agile-Teams und externen Teams in unserer Organisation (zum Beispiel anderer Engineering-Teams, technischem Support, Vertrieb) gearbeitet.
09/2006 - 09/2006: Software DRM, USB-basierten Authentisierungslösungen, und sicheren Web-Gateways
Rolle: Softwareentwickler
Kunde: Aladdin Europe GmbH
Aufgaben:
Die Firma Aladdin Europe GmbH ist der weltweit führende Anbieter von Software DRM, USB-basierten Authentisierungslösungen, und sicheren Web-Gateways. Die Firma Aladdin Europe GmbH bietet Softwareentwicklern leistungsstarke Sicherheits-, Lizenzierungs- und Distributionslösungen, mit denen sie Softwarepiraterie unterbinden. (in 2008 wurde die Firma Aladdin von der Firma SafeNet Inc. übernommen, in 2014 wurde die Firma SafeNet Inc von der Firma Gemalto Inc. übernommen)
Meine Hauptaufgabe bei der Firma war die Weiterentwicklung und Wartung unserer HASP SRM API , Licence Manager und Drivers unter allen unterstützten Betriebssystemen (Windows XP, Windows 2003, Windows Vista, Windows2008, Windows 7, Windows 8, Windows 10, Windows CE 5(6,7, 2013), Linux (SUSE, Debian, RedHat, Ubuntu), Mac OSX 10.4-10.12, Android). Während meiner Tätigkeit habe ich die Portierung unserer HASP SRM API und unseres HASP USB Device Driver von Windows nach Windows CE 5.0, und danach nach Windows CE 6.0 (für x86- und ARM- Architecture) gemacht.
Ich erweiterte unsere "Fingerprint"-Bibliothek, um den "Fingerprint" unter Windows CE und Android zu bekommen, fügte die Erkennung von mehreren Virtual Machines (VM Ware, Virtual Box, Parallels, Virtual PC) ein und erweiterte die Bibliothek, um den " Fingerprint" unter Windows ohne Administratorrechte zu bekommen (XP, 2003, Vista, 2008, 7, 8, 10) (der Benutzer-Modus "Fingerprint"). Zur Unterstützung unseren neuen HID USB-Keys unter Mac OS X, habe ich einen neuen Softwarelayer in unserem Licence Manager implementiert. Auch in meiner Kompetenz liegt die Wartung und die Weiterentwicklung verschiedener APIs in C, C++, Java, 4D auf allen unterstützten Platformen. Ich war verantwortlich für einen HASP Runtime GUI und MSI Installer. Ich habe unseren HASP Runtime MSI Installer für Windows Vista angepasst und Windows Error Report (WER) in unserem Licence Manager implementiert. Das ganze war notwendig, um Vista Logo und Windows 7 Certificate für unsere Produkte zu bekommen. Unter anderem war ich verantwortlich für die Durchführung des Driver Test Management (DTM) ( WLK, HCK und HLK). Ich führe alle notwendige Tests unter allen unterstützten Windows Versionen (Windows XP, Windows 2003 Server, Windows Vista, Windows 2008 Server, Windows 7, Windows 8, Windows 10 x86 und x64 Versionen) mit unseren Driver aus. Nach dem Ablauf des Tests bekomme ich von Microsoft für unsere Driver die Drivercertificates.
02/2005 - 08/2006: DirectShow Renderer Filter
Rolle: Software Ingenieur
Kunde: Firma ?Digital Audio & Video Integration & Development? GmbH
Aufgaben:
Während meiner Tätigkeit bei der Firma ?D.A.V.I.D.? habe ich einen DirectShow Renderer Filter für eine SDI Capture- und Playback- Karte ?BlueFish444? entwickelt. Danach habe ich einen DirectShow Source und Renderer Filter für SDI Capture- und Playbackkarten des Herstellers DVS entwickelt.
Parallel dazu habe ich an Anwendungen für Playback, Videoschnitt und Formatwandlung für Sendeanstalten mitentwickelt. Ich habe mich vor Allem um Audio/Video-Synchronisierung
gekümmert, was im Sendeumfeld höchste Priorität hat. Für die Player-, Schnitt- und Konversionsoftware habe ich Import, Export und Transcodierung verschiedenster Videoformate sowohl mit Hilfe des DirectShow SDK als auch der Videoengine des Codecspezialisten Mainconcept realisiert. Für die Softwareentwicklung arbeite ich bislang mit Microsoft VisualStudio 6.0/.Net, MS Visual SourceSafe. Neben Standardlibraries habe ich Erfahrung mit MFC, DirectX SDK, Extreme Library, STL und in der hardwarenahen Softwareentwicklung mit Windows DDK, Trimedia SDK, etc.
01/2002 - 01/2005: Programmierung in C++ (MS VC++ 6.0) im Bereich Digitale Videoverarbeitung und Multimedia
Rolle: Software Ingenieur
Kunde: ?Video und Digital Systeme? GmbH
Aufgaben:
Programmierung in C++ (MS VC++ 6.0) im Bereich Digitale Videoverarbeitung und Multimedia.
Während meiner Tatigkeit dort habe ich ein Kernelstream-Driver für ein MPEG2-PVR Board auf Basis
der SAA7134 und SAA6752(Empress) -Chips weiterentwickelt.
Ich habe in bereits vorhandenen Kernelstreaming-Driver für den Chip SAA7134 von Philips eine zusätzliche DirectShow-Schnittstelle für komprimiertes MPEG2 Video (Transport Stream) entwickelt und ein Interface zur Ansteuerung des Chips SAA6752 implementiert. Für dieses Projekt habe ich noch einen DirectShow-Filter zur Umwandlung von TransportStream in einen DVD-kompatiblen ProgramStream geschrieben. Für das PVR-Board habe ich auch ein Linux-Treiber, auf Basis eines Opensource Treibers für den Philips Chip SAA7134 implementiert. Parallel entwickelte ich einen Treiber für die Captureboards der hauseigenen Syncro4-Linie auf Basis des Chips SAA7146 weiter. Dieser Treiber war dafür da neue Funktionen und die Unterstützung weiterer Kameratypen zu erweitern. Für das Senden und Empfangen von Multicast-/Unicast-MPEG2-Streams habe ich verschiedene DirectShow Filter entwickelt, z. B. Transport- und Elementarystream Source-Filter und Tranportstream Senderfilter, Transport- und Programstream Demultiplexer-Filter. Der Senderfilter wird im Zusammenspiel mit dem ViDiSys-eigenen MPEG2-PVR Board als MPEG2-Multicast-Encoder verwendet. Der Empfangs-Filter empfängt MPEG2-Multicast-Streams, die durch den Microsoft MPEG2-Demultiplexer und einem MPEG2-Softwaredecoder dargestellt werden können.
In einem Nebenprojekt konnte ich auch mit dem Win3D-Treiber arbeiten. Dabei habe ich einen Videorenderer-Filter implementiert, der Stereo-Teilbilder aus einem speziellen interlaced Video extrahiert und eine Shutterbrille synchron zum Bildwechsel ansteuert. Des Weiteren habe ich eine Applikation zur Videoüberwachung und Steuerung von Überwachungskameras entwickelt. Für die Benutzeroberfläche der Überwachungssoftware verwendete ich neben MFC-Standard-Klassen auch selbstentwickelte Oberflächenelemente. Für die Kamerasteuerung habe ich ein RS232-TCP-RS232-Konvertermodul umgesetzt. Für das Anzeigen der unterschiedlichen Bilddaten habe ich eine Vieweranwendung entwickelt. Diese kann verschiedene Bildformate nicht nur als Thumbnails, sondern auch in Originalgröße angezeigen. Ich entwickle einen DirectShow MPEG2 Hardware-Decoder. Dieser diente als Wrapper für den Trimedia-Chip eines Board aus dem Hause ViDiSys. Auf dem Trimedia-Chip läuft eine MPEG2 Decoder Firmware, die mit Hilfe des Trimedia SDK realisiert wurde.
08/2000 - 12/2001: Programmierung in C++ (MS VC++ 6.0) im Bereich Digitale Videoverarbeitung und Multimedia
Rolle: Software Ingenieur
Kunde: Fast Multimedia AG/Dazzle-Europe/SCM Microsystem
Aufgaben:
Dort entwickelte ich im Team die Software für die Produktreihe DV.now weiter. An der Entwicklung zu ?tv4me?, einem digitalen Videorekorder für PCs, war ich maßgeblich beteiligt: Ansteuerung der Hardware (Trimedia Chip, etc) und Implementierung der Benutzeroberflächen (Aufnahme-Manager,
Internet-Synchronisation und Settings-Applikation). Dabei habe ich mich intensiv mit Philips Trimedia SDK und Microsofts DirectShow SDK beschäftigt und verschiedene DirectShow Filter entwickelt.
Während der Arbeit an den verschiedenen mir anvertrauten Projekten habe ich detailierten Einblick in die verschiedensten Video-, Audio- und Bilddateiformate und deren Verarbeitung gewonnen.
08/1999 - 07/2000: Rahmen des internationalen Projekts ?DIAMOND?
Rolle: DAAD-Stipendiat
Kunde: Institut für Prozessrechentechnik, Automation und Robotik der Universität Karlsruhe (TH).
Aufgaben:
Programmierung in Java und CORBA, C++ und CORBA. Das Ziel des Projekts war, eine Transportschicht für den Datenaustausch zwischen Robotern zu entwickeln. Die Informationen wurden in ein XML-Format konvertiert, dann über das CORBA-Interface versendet und am Ziel wieder in das vom Roboter lesbaren Format umgewandelt. Das Programm benutzt ?Naming? und ?Event Services? von CORBA. Es wurde in Java geschrieben, ein Teil davon, die Programm-Agenten, wurden von mir als Java Applets implementiert. Im Anschluss daran habe ich die gesamte Applikation nach C++ portiert. Des Weiteren habe ich Erfahrungen mit JavaServlets und kenne mich gut mit PHP aus. Ich benutzte den freien Apache HTTP-Server, für den ich Jserv 1.1, Perl 5.6.0 und PHP 4.0 installiert bzw. eingebunden habe.
02/1998 - 08/1999: Visual Basic 4.0 Programmierung
Rolle: Visual Basic 4.0 Programmierer
Kunde: ?Implozia? (Ufa, Russland)
1997: Verwendung zahlreicher Internet-Protokolle
Aufgaben:
05/1997 - 12/1997: Administration
Rolle: Administrator des Computernetzes
Kunde: ?Sozinvest?
Kenntnisse:
Novell Netware 3.12 und Windows NT Server 4.0
05/1996 - 05/1997: Spezialist für die Rechentechnik und die Computernetze (Ethernet, Appletalk)
Rolle: Ingenieur im IT Service-Zentrum
Kunde: MaC Master (Ufa, Russland)
12/1994 - 11/1995: FOXPRO Programmierungen
Rolle: FOXPRO-Programmierer
Kunde: Bank ?Sharek? (Ufa, Russland).
1995: 3D-Modellierung und Anzeigen
Aufgaben:
Seit 1995 programmiere ich in Delphi. In Delphi habe ich verschiedene Anwendungen erstellt, dabei habe ich folgende Techniken eingesetzt:
Ich verfüge auch über Kenntnisse in Programmieren von seriellen Schnittstellen (RS232). Ich habe ein Programm entworfen, das die Daten von einem seriellen Port einlistet und nach einer Verarbeitung in eine Datenbank speichert.
1992: Erlernung von verschieder Software
Aufgaben:
Seit 1992 besitze ich einen eigenen PC.
Während meines Studiums an der Universität lernte ich Pascal, Fortran, Assembler, C und C++.
1990: PC Erfahrung gesammelt
Aufgaben:
Ich habe seit 1990 Erfahrungen mit PCs gesammelt
1980-1990
Mittelschule, Prijutovo, Russland
1990-1995
Staatliche Flugtechnische Universität in Ufa, Russland. Abschluß als Diplom-Ingenieur der
Elektrotechnik (Fachrichtung Elektronik).
Ich bin Softwareentwickler mit sehr guten Kenntnissen in C/C++ (Windows, Mac OS X, Linux), guten Kenntnissen in Java, C#, objectiveC, Android, Windows Phone, BlackBerry, Windows CE
Am besten gelingt mir ?Debugging und Bugfixing? und das war auch mein Tätigkeitsschwerpunkt bei jedem Job. Ich kann sehr schnell den fremden Sourcecode verstehen und weiterentwickeln , verschiedene Bugs finden und fixen. Ich habe große Erfahrung und sehr gute Kenntnisse mit meisten aktuellen usermode Debuggers: Microsoft Visual Studio, WinDbg, OllyDbg, GDB, LLDB und gute Kenntnisse mit kernelmode Debugger: WinDbg, SoftIce, GDB, LLDB .
Meistens bin ich "Troubleshooter" für zahlreiche komplizierte Probleme und Bugs.
Einsatz von Technologien
Ich bin Softwareentwickler mit sehr guten Kenntnissen in C/C++ (Windows, Mac OS X, Linux), guten Kenntnissen in Java, C#, objectiveC, Android, Windows Phone, BlackBerry, Windows CE
Am besten gelingt mir ?Debugging und Bugfixing? und das war auch mein Tätigkeitsschwerpunkt bei jedem Job. Ich kann sehr schnell den fremden Sourcecode verstehen und weiterentwickeln , verschiedene Bugs finden und fixen. Ich habe große Erfahrung und sehr gute Kenntnisse mit meisten aktuellen usermode Debuggers: Microsoft Visual Studio, WinDbg, OllyDbg, GDB, LLDB und gute Kenntnisse mit kernelmode Debugger: WinDbg, SoftIce, GDB, LLDB .
Meistens bin ich "Troubleshooter" für zahlreiche komplizierte Probleme und Bugs.
ICH BIETE
In der Freizeit mehrere Apps entwickelt. Name der Apps gerne auf Anfrage.
Die Firma PATH medical GmbH entwickelt Hardware und Software für Audiometrie und Tympanometrie, wie ABR / ASSR, OAE, DPOAE, FMDPOAE, TEOAE, Neugeborenen Hörscreening und PC Software für Tracking & Benchmarking der Patientendaten.
Für unsere Tracking & Benchmarking Software «pathTrack» habe ich ein Importmodul für RC4-kodierte Daten gemacht.
Für ein portable USB Tympanometrie-Gerät habe ich eine Software für eine grafische Darstellung der gemessenen Daten entwickelt.
Diese Software habe ich erst in C# für PC geschrieben, danach habe in diese Software in C++ mit QT für ein Android Tablet portiert.
Für eine unsere Hardware mit einem ARM-Prozessor habe ich eine Firmware gemacht, die diese Hardware initialisiert, ein Video von einer Kamera aufniemt und dieses Video auf
einen LCD darstellt.
Am besten gelingt mir „Debugging und Bugfixing“ und das war auch mein Tätigkeitsschwerpunkt bei jedem Job.
Ich kann sehr schnell den fremden Sourcecode verstehen und weiterentwickeln, verschiedene Bugs finden und fixen.
Ich habe große Erfahrung und sehr gute Kenntnisse mit meisten aktuellen usermode Debuggers: Microsoft Visual Studio, WinDbg, OllyDbg, GDB, LLDB und gute Kenntnisse mit kernelmode Debugger: WinDbg, SoftIce, GDB, LLDB.
Meistens bin ich "Troubleshooter" für zahlreiche komplizierte Probleme und Bugs.
Bei der Firma Berner & Mattner arbeitete ich zusammen mit der Firma BMW Car IT aus Ulm an der Entwicklung der MGU (Media Grafik Unit) Software für BMW Autos.
Das ist das zentrale Gateway zwischen dem Benutzer des Fahrzeugs und dem Internetbasierten Dienst: wie Echtzeit-Verkehrsinformationen, Suche, Musik-Streaming, etc.
Ich programmierte meistens in C ++ (11/14) mit Frameworks Boost und STL und verwendete GTest, GMock, Qt und CMake als Werkzeuge in der täglichen Arbeit in Kombination mit Git
/ Gerrit für Code-Reviews und Collaboration.
2019-2020: ein Workflow aus Datenschleuse für Datenwäsche
Aufgaben:
Entwicklung die OfficeAnalyzer- und OfficeCleaner -Module. Das OfficeAnalyzer-Modul dient für eine Analyse aller gängigen Office Dokumenten. Das Modul analysiert und extrahiert alle ?embedded?-Objekte, OLE- und DDE-Attachments und Externe Links. Der OfficeCleaner entfernt diese alle bösartige Objekte aus den Dokumenten, ohne, dass Dokument danach beschädigt wird.
Zur Analyse und Entfernung von den ?embedded? VBA-Makros aus den Office-Dokumenten habe ich das VBAAnalyzer Tool entwickelt.
Für die Benutzung des Android-Handys als eine Eingabe-/Ausgabe-Quelle habe ich ein Import- und ein Export-Modul entwickelt. Diese Module implementiert ein Obex-Protokol over Bluetooth für den Fileaustausch.
Für die E-Mail-Server als Input-Quelle zu benutzen habe ich ein Modul entwickelt, das einen POP3/ IMAP -Server automatsch abfragen kann. Wenn eine neue E-Mail kommt ? wird sie automatisch abgeholt und geparst. Für dieses Modul habe ich eine opensource ?gmime? Library benutz.
Für die Verwendung von CD/DVD Disk als eine weitere Ausgabe-Quelle habe ich ein DVD-Writer Modul entwickelt. Zum CD/DVD-Brennen habe ich in diesem Module das IMAPI-Interface benutzt.
Unter anderem habe ich für diese Software viele weitere kleine Tools, wie z.B. DeviceInfo, DirectoryCleaner, LogViewer geschrieben.
2017: Entwicklung einer Software für grafische Darstellung der gemessenen Daten in C# und C++
Aufgaben:
Entwicklung einer Software für grafische Darstellung der gemessenen Daten von einem portablen USB Tympanometrie-Gerät.
Diese Software habe ich erst in C# für PC geschrieben, danach habe in diese Software auf C++ mit QT für ein Android Tablet portiert.
Für eine unsere Hardware mit einem RISC Prozessor Blackfin ADSP-BF538 habe ich eine Firmware gemacht, die diese Hardware initialisiert, ein Video von einer Kamera aufnimmt und dieses Video auf einen LCD darstellt.
2015: Zugriff des Sentinel HL Keys aus der Pre-Boot-Umgebung UEFI
Aufgaben:
Im Jahr 2015 arbeitete ich an einem Kundenprojekt: der Zugriff des Sentinel HL Keys aus der Pre-Boot-Umgebung UEFI. Dafür habe ich einen UEFI driver für unseren USB Sentinel HL Key implementiert und unsere API für UEFI-Umgebung portiert. Als Eregebnis haben wir einen Driver nur 3 Kbyte gross und API nur 45 Kbyte gross bekommen, die alle uns notwendige Funktion abgedeckt haben. Dieses Projekt wurde für einen unserer wichtigsten Kunden (AGI) durchgeführt und wurde erfolgreich abgeschlossen (pünktlich und in der ausgezeichneten Qualität geliefert).
2009: Entwicklung unserer Software-Lizenzierung Lösungen
Aufgaben:
Seit dem Jahr 2009 war ich als Mitglied in dem internationalen "Unity"-Team (Germany, India, China) in der Entwicklung unserer Software-Lizenzierung Lösungen "Sentinel LDK" massgeblich beteiligt.
Ich habe eng mit Mitgliedern meines Agile-Teams und externen Teams in unserer Organisation (zum Beispiel anderer Engineering-Teams, technischem Support, Vertrieb) gearbeitet.
09/2006 - 09/2006: Software DRM, USB-basierten Authentisierungslösungen, und sicheren Web-Gateways
Rolle: Softwareentwickler
Kunde: Aladdin Europe GmbH
Aufgaben:
Die Firma Aladdin Europe GmbH ist der weltweit führende Anbieter von Software DRM, USB-basierten Authentisierungslösungen, und sicheren Web-Gateways. Die Firma Aladdin Europe GmbH bietet Softwareentwicklern leistungsstarke Sicherheits-, Lizenzierungs- und Distributionslösungen, mit denen sie Softwarepiraterie unterbinden. (in 2008 wurde die Firma Aladdin von der Firma SafeNet Inc. übernommen, in 2014 wurde die Firma SafeNet Inc von der Firma Gemalto Inc. übernommen)
Meine Hauptaufgabe bei der Firma war die Weiterentwicklung und Wartung unserer HASP SRM API , Licence Manager und Drivers unter allen unterstützten Betriebssystemen (Windows XP, Windows 2003, Windows Vista, Windows2008, Windows 7, Windows 8, Windows 10, Windows CE 5(6,7, 2013), Linux (SUSE, Debian, RedHat, Ubuntu), Mac OSX 10.4-10.12, Android). Während meiner Tätigkeit habe ich die Portierung unserer HASP SRM API und unseres HASP USB Device Driver von Windows nach Windows CE 5.0, und danach nach Windows CE 6.0 (für x86- und ARM- Architecture) gemacht.
Ich erweiterte unsere "Fingerprint"-Bibliothek, um den "Fingerprint" unter Windows CE und Android zu bekommen, fügte die Erkennung von mehreren Virtual Machines (VM Ware, Virtual Box, Parallels, Virtual PC) ein und erweiterte die Bibliothek, um den " Fingerprint" unter Windows ohne Administratorrechte zu bekommen (XP, 2003, Vista, 2008, 7, 8, 10) (der Benutzer-Modus "Fingerprint"). Zur Unterstützung unseren neuen HID USB-Keys unter Mac OS X, habe ich einen neuen Softwarelayer in unserem Licence Manager implementiert. Auch in meiner Kompetenz liegt die Wartung und die Weiterentwicklung verschiedener APIs in C, C++, Java, 4D auf allen unterstützten Platformen. Ich war verantwortlich für einen HASP Runtime GUI und MSI Installer. Ich habe unseren HASP Runtime MSI Installer für Windows Vista angepasst und Windows Error Report (WER) in unserem Licence Manager implementiert. Das ganze war notwendig, um Vista Logo und Windows 7 Certificate für unsere Produkte zu bekommen. Unter anderem war ich verantwortlich für die Durchführung des Driver Test Management (DTM) ( WLK, HCK und HLK). Ich führe alle notwendige Tests unter allen unterstützten Windows Versionen (Windows XP, Windows 2003 Server, Windows Vista, Windows 2008 Server, Windows 7, Windows 8, Windows 10 x86 und x64 Versionen) mit unseren Driver aus. Nach dem Ablauf des Tests bekomme ich von Microsoft für unsere Driver die Drivercertificates.
02/2005 - 08/2006: DirectShow Renderer Filter
Rolle: Software Ingenieur
Kunde: Firma ?Digital Audio & Video Integration & Development? GmbH
Aufgaben:
Während meiner Tätigkeit bei der Firma ?D.A.V.I.D.? habe ich einen DirectShow Renderer Filter für eine SDI Capture- und Playback- Karte ?BlueFish444? entwickelt. Danach habe ich einen DirectShow Source und Renderer Filter für SDI Capture- und Playbackkarten des Herstellers DVS entwickelt.
Parallel dazu habe ich an Anwendungen für Playback, Videoschnitt und Formatwandlung für Sendeanstalten mitentwickelt. Ich habe mich vor Allem um Audio/Video-Synchronisierung
gekümmert, was im Sendeumfeld höchste Priorität hat. Für die Player-, Schnitt- und Konversionsoftware habe ich Import, Export und Transcodierung verschiedenster Videoformate sowohl mit Hilfe des DirectShow SDK als auch der Videoengine des Codecspezialisten Mainconcept realisiert. Für die Softwareentwicklung arbeite ich bislang mit Microsoft VisualStudio 6.0/.Net, MS Visual SourceSafe. Neben Standardlibraries habe ich Erfahrung mit MFC, DirectX SDK, Extreme Library, STL und in der hardwarenahen Softwareentwicklung mit Windows DDK, Trimedia SDK, etc.
01/2002 - 01/2005: Programmierung in C++ (MS VC++ 6.0) im Bereich Digitale Videoverarbeitung und Multimedia
Rolle: Software Ingenieur
Kunde: ?Video und Digital Systeme? GmbH
Aufgaben:
Programmierung in C++ (MS VC++ 6.0) im Bereich Digitale Videoverarbeitung und Multimedia.
Während meiner Tatigkeit dort habe ich ein Kernelstream-Driver für ein MPEG2-PVR Board auf Basis
der SAA7134 und SAA6752(Empress) -Chips weiterentwickelt.
Ich habe in bereits vorhandenen Kernelstreaming-Driver für den Chip SAA7134 von Philips eine zusätzliche DirectShow-Schnittstelle für komprimiertes MPEG2 Video (Transport Stream) entwickelt und ein Interface zur Ansteuerung des Chips SAA6752 implementiert. Für dieses Projekt habe ich noch einen DirectShow-Filter zur Umwandlung von TransportStream in einen DVD-kompatiblen ProgramStream geschrieben. Für das PVR-Board habe ich auch ein Linux-Treiber, auf Basis eines Opensource Treibers für den Philips Chip SAA7134 implementiert. Parallel entwickelte ich einen Treiber für die Captureboards der hauseigenen Syncro4-Linie auf Basis des Chips SAA7146 weiter. Dieser Treiber war dafür da neue Funktionen und die Unterstützung weiterer Kameratypen zu erweitern. Für das Senden und Empfangen von Multicast-/Unicast-MPEG2-Streams habe ich verschiedene DirectShow Filter entwickelt, z. B. Transport- und Elementarystream Source-Filter und Tranportstream Senderfilter, Transport- und Programstream Demultiplexer-Filter. Der Senderfilter wird im Zusammenspiel mit dem ViDiSys-eigenen MPEG2-PVR Board als MPEG2-Multicast-Encoder verwendet. Der Empfangs-Filter empfängt MPEG2-Multicast-Streams, die durch den Microsoft MPEG2-Demultiplexer und einem MPEG2-Softwaredecoder dargestellt werden können.
In einem Nebenprojekt konnte ich auch mit dem Win3D-Treiber arbeiten. Dabei habe ich einen Videorenderer-Filter implementiert, der Stereo-Teilbilder aus einem speziellen interlaced Video extrahiert und eine Shutterbrille synchron zum Bildwechsel ansteuert. Des Weiteren habe ich eine Applikation zur Videoüberwachung und Steuerung von Überwachungskameras entwickelt. Für die Benutzeroberfläche der Überwachungssoftware verwendete ich neben MFC-Standard-Klassen auch selbstentwickelte Oberflächenelemente. Für die Kamerasteuerung habe ich ein RS232-TCP-RS232-Konvertermodul umgesetzt. Für das Anzeigen der unterschiedlichen Bilddaten habe ich eine Vieweranwendung entwickelt. Diese kann verschiedene Bildformate nicht nur als Thumbnails, sondern auch in Originalgröße angezeigen. Ich entwickle einen DirectShow MPEG2 Hardware-Decoder. Dieser diente als Wrapper für den Trimedia-Chip eines Board aus dem Hause ViDiSys. Auf dem Trimedia-Chip läuft eine MPEG2 Decoder Firmware, die mit Hilfe des Trimedia SDK realisiert wurde.
08/2000 - 12/2001: Programmierung in C++ (MS VC++ 6.0) im Bereich Digitale Videoverarbeitung und Multimedia
Rolle: Software Ingenieur
Kunde: Fast Multimedia AG/Dazzle-Europe/SCM Microsystem
Aufgaben:
Dort entwickelte ich im Team die Software für die Produktreihe DV.now weiter. An der Entwicklung zu ?tv4me?, einem digitalen Videorekorder für PCs, war ich maßgeblich beteiligt: Ansteuerung der Hardware (Trimedia Chip, etc) und Implementierung der Benutzeroberflächen (Aufnahme-Manager,
Internet-Synchronisation und Settings-Applikation). Dabei habe ich mich intensiv mit Philips Trimedia SDK und Microsofts DirectShow SDK beschäftigt und verschiedene DirectShow Filter entwickelt.
Während der Arbeit an den verschiedenen mir anvertrauten Projekten habe ich detailierten Einblick in die verschiedensten Video-, Audio- und Bilddateiformate und deren Verarbeitung gewonnen.
08/1999 - 07/2000: Rahmen des internationalen Projekts ?DIAMOND?
Rolle: DAAD-Stipendiat
Kunde: Institut für Prozessrechentechnik, Automation und Robotik der Universität Karlsruhe (TH).
Aufgaben:
Programmierung in Java und CORBA, C++ und CORBA. Das Ziel des Projekts war, eine Transportschicht für den Datenaustausch zwischen Robotern zu entwickeln. Die Informationen wurden in ein XML-Format konvertiert, dann über das CORBA-Interface versendet und am Ziel wieder in das vom Roboter lesbaren Format umgewandelt. Das Programm benutzt ?Naming? und ?Event Services? von CORBA. Es wurde in Java geschrieben, ein Teil davon, die Programm-Agenten, wurden von mir als Java Applets implementiert. Im Anschluss daran habe ich die gesamte Applikation nach C++ portiert. Des Weiteren habe ich Erfahrungen mit JavaServlets und kenne mich gut mit PHP aus. Ich benutzte den freien Apache HTTP-Server, für den ich Jserv 1.1, Perl 5.6.0 und PHP 4.0 installiert bzw. eingebunden habe.
02/1998 - 08/1999: Visual Basic 4.0 Programmierung
Rolle: Visual Basic 4.0 Programmierer
Kunde: ?Implozia? (Ufa, Russland)
1997: Verwendung zahlreicher Internet-Protokolle
Aufgaben:
05/1997 - 12/1997: Administration
Rolle: Administrator des Computernetzes
Kunde: ?Sozinvest?
Kenntnisse:
Novell Netware 3.12 und Windows NT Server 4.0
05/1996 - 05/1997: Spezialist für die Rechentechnik und die Computernetze (Ethernet, Appletalk)
Rolle: Ingenieur im IT Service-Zentrum
Kunde: MaC Master (Ufa, Russland)
12/1994 - 11/1995: FOXPRO Programmierungen
Rolle: FOXPRO-Programmierer
Kunde: Bank ?Sharek? (Ufa, Russland).
1995: 3D-Modellierung und Anzeigen
Aufgaben:
Seit 1995 programmiere ich in Delphi. In Delphi habe ich verschiedene Anwendungen erstellt, dabei habe ich folgende Techniken eingesetzt:
Ich verfüge auch über Kenntnisse in Programmieren von seriellen Schnittstellen (RS232). Ich habe ein Programm entworfen, das die Daten von einem seriellen Port einlistet und nach einer Verarbeitung in eine Datenbank speichert.
1992: Erlernung von verschieder Software
Aufgaben:
Seit 1992 besitze ich einen eigenen PC.
Während meines Studiums an der Universität lernte ich Pascal, Fortran, Assembler, C und C++.
1990: PC Erfahrung gesammelt
Aufgaben:
Ich habe seit 1990 Erfahrungen mit PCs gesammelt
1980-1990
Mittelschule, Prijutovo, Russland
1990-1995
Staatliche Flugtechnische Universität in Ufa, Russland. Abschluß als Diplom-Ingenieur der
Elektrotechnik (Fachrichtung Elektronik).
Ich bin Softwareentwickler mit sehr guten Kenntnissen in C/C++ (Windows, Mac OS X, Linux), guten Kenntnissen in Java, C#, objectiveC, Android, Windows Phone, BlackBerry, Windows CE
Am besten gelingt mir ?Debugging und Bugfixing? und das war auch mein Tätigkeitsschwerpunkt bei jedem Job. Ich kann sehr schnell den fremden Sourcecode verstehen und weiterentwickeln , verschiedene Bugs finden und fixen. Ich habe große Erfahrung und sehr gute Kenntnisse mit meisten aktuellen usermode Debuggers: Microsoft Visual Studio, WinDbg, OllyDbg, GDB, LLDB und gute Kenntnisse mit kernelmode Debugger: WinDbg, SoftIce, GDB, LLDB .
Meistens bin ich "Troubleshooter" für zahlreiche komplizierte Probleme und Bugs.
Einsatz von Technologien
Ich bin Softwareentwickler mit sehr guten Kenntnissen in C/C++ (Windows, Mac OS X, Linux), guten Kenntnissen in Java, C#, objectiveC, Android, Windows Phone, BlackBerry, Windows CE
Am besten gelingt mir ?Debugging und Bugfixing? und das war auch mein Tätigkeitsschwerpunkt bei jedem Job. Ich kann sehr schnell den fremden Sourcecode verstehen und weiterentwickeln , verschiedene Bugs finden und fixen. Ich habe große Erfahrung und sehr gute Kenntnisse mit meisten aktuellen usermode Debuggers: Microsoft Visual Studio, WinDbg, OllyDbg, GDB, LLDB und gute Kenntnisse mit kernelmode Debugger: WinDbg, SoftIce, GDB, LLDB .
Meistens bin ich "Troubleshooter" für zahlreiche komplizierte Probleme und Bugs.
ICH BIETE
In der Freizeit mehrere Apps entwickelt. Name der Apps gerne auf Anfrage.
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.