Fachlicher Schwerpunkt dieses Freiberuflers

Ich bin Softwareentwickler mit sehr guten Kenntnissen in C/C++ (Windows, Mac OS X, Linux), guten Kenntnissen in Java, C#, objectiveC, Android, Windows

verfügbar ab
01.11.2020
verfügbar zu
100 %
davon vor Ort
100 %
Städte
München
20 km
Kontaktwunsch

Ich möchte bevorzugt für Projekte in diesen Einsatzorten kontaktiert werden.

Position

Kommentar

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.

Projekte

01/2019 - 10/2020

1 Jahr 10 Monate

Programmierung in C#, C++ im Bereich ITSicherheit und Endpoint Security

09/2017 - 10/2018

1 Jahr 2 Monate

Programmierung in C#/C++ im Bereich Audiometrie

Rolle
Senior Software Ingenieur
Kunde
PATH medical GmbH
Projektinhalte

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.

03/2017 - 08/2017

6 Monate

Programmierung in C++ im Bereich Automotive

Rolle
Senior Software Ingenieur
Kunde
Berner & Mattner Systemtechnik GmbH
Projektinhalte

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.

09/2006 - 02/2017

10 Jahre 6 Monate

Programmierung in C, C++ im Bereich Software DRM und USB-basierten Authentisierungslösungen

Rolle
Senior Software Ingenieur
Kunde
Firma Gemalto Inc., SafeNet Inc., Aladdin Europe GmbH

Projekthistorie

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:

  • Seit 1997 arbeite ich mit C ++ (CBuilder Version 3 und 4) und MS VC++
  • Ich habe Erfahrung in der Verwendung zahlreicher Internet-Protokolle wie FTP und HTTP.

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:

  • 3D-Modellierung und Anzeigen
  • Datenbankanbindung mit der Borland Database Engine (BDE), Access über ODBC, Dateizugriff auf DBF und FoxPro/Paradox-DB-Dateien.
    Datenbankanbindung mit SQL in Verbindung mit dem MSSQL 6.5 Server

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

Kompetenzen

Sprachkenntnisse
Deutsch
Deutschkurs „Intensiv 8“ am Goethe-Institut, Mannheim vom August 1999 bis September1999, VHS München vom Oktober 2000 bis Juli 2001
Englisch
speziell im technischen Bereich
Russisch
Muttersprache

Programmiersprachen
Assembler (Intel 80x86, Zilog Z80, Intel 8080)
gute Kenntnisse
Assembler AVR, PIC
Borland Pascal 7.0
C#
gute Kenntnisse (2003.NET, 2005, 2008, 2010, 2013, 2015, 2017)
C, C++
sehr gute Kenntnisse (MS VC 6.0, 2003.NET, 2005, 2008, 2010, 2013, 2015, 2017)
Delphi 5.0
gute Kenntnisse
FoxPro 2.0
Java
gute Kenntnisse (Borland J-Builder, JDK, Eclipse)
MS Visual Basic 6.0
gute Kenntnisse
objective C
gute Kenntnisse (Xcode 4.0-9.0)
QT
gute Kenntnisse

Betriebssysteme
Debian
FreeBSD
Linux
Mac OS X
10.4-10.12
RedHat
Solaris
SunOS
SUSE
Ubuntu
Unix
Windows
10, 8.1, 8 , 7, Vista, XP, 2000, ME, 98, 95, NT WorkStation 4.0, NT Server 4.0

Produkte / Standards / Erfahrungen

Einsatz von Technologien

  • Debugging, sehr gute Kenntnisse
  • Videoverarbeitung, sehr gute Kenntnisse
  • DirectX und DirectShow, sehr gute Kenntnisse
  • MFC, sehr gute Kenntnisse
  • Microsoft Driver Developer Kit, gute Kenntnisse
  • EFI (edk2, UDK2015), gute Kenntnisse
  • Android SDK 1.6-7.0, gute Kenntnisse
  • Windows Phone SDK 7.1, 8.1, UWP, gute Kenntnisse
  • XNA 4.0, MonoGame, gute Kenntnisse
  • BlackBerry Marmalade SDK, gute Kenntnisse
  • BlackBerry SDK, gute Kenntnisse
  • Tizen SDK, gute Kenntnisse
  • Windows CE Builder 5.0, gute Kenntnisse
  • VS2005+Windows Embedded CE 6.0, gute Kenntnisse
  • Embedded Linux
  • Atmel 8-bit Microcontroller, ATmega, Arduino
  • Microchip 8-bit Microcontroller, PIC16, PIC18
  • Philips Trimedia SDK
  • CORBA C++, Java (Borland Visibroker)
  • XML, HTML, Servlet

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

  • Windows Phone Entwicklung
  • Embedded Entwicklung / hardwarenahe Entwicklung
  • .Net
  • Android Entwicklung
  • C
  • C#
  • C++
  • iOS Entwicklung
  • Objective-C
  • Qt

Bemerkungen

In der Freizeit mehrere Apps entwickelt. Name der Apps gerne auf Anfrage.


Ausbildungshistorie

1980-1990

Mittelschule, Prijutovo, Russland

1990-1995

Staatliche Flugtechnische Universität in Ufa, Russland. Abschluß als Diplom-Ingenieur der
Elektrotechnik (Fachrichtung Elektronik).