Ich bin Diplom-Physiker und seit 1990 als freiberuflicher Systemprogrammierer im Projektgeschäft tätig. In dieser Zeit habe ich umfangreiche Erfahrungen in der selbstständigen Abwicklung von Softwareprojekten erwerben können. In den letzten achtzehn Jahren war ich hauptsächlich im Automotivebereich tätig, parallel zu meiner Projekttätigkeit bilde ich mich seit einiger Zeit etwa durch die erfolgreiche Teilnahme am Udacity Self Driving Car Engineer Nanodegree zum Spezialisten für KI-unterstützte Automotive-Systeme weiter.

Der Schwerpunkt meiner Tätigkeiten lag in der Vergangenheit hauptsächlich in der hardwarenahen Programmierung von mikrocontrollerbasierten Steuergeräten in C/C++ oder auch Assembler, ich habe aber auch wiederholt PC's in C/C++ unter Windows, Unix oder QNX programmiert. Die Bandbreite meiner bisherigen Tätigkeiten reicht von der Programmierung von Hintergrundprozessen unter Unix in C über die Programmierung von graphischen Applikationen unter Windows in C++ und die Entwicklung mobiler Anwendungen in Java oder Javascript bis zur der Programmierung von Firmware für Mikrocontroller ohne Betriebssystem in C oder Assembler.

Ich verfüge über umfangreiche Kenntnisse und Erfahrungen auf folgenden Gebieten:

Wie Sie den weiteren Seiten dieser Internetpräsenz entnehmen können, habe ich besonderes Interesse an Entwicklungstechniken, die zu einer optimierten Wiederverwendbarkeit von Software führen - gerne würde ich diese Techniken auch zum Vorteil Ihres Projektes anwenden. In den letzten zehn Jahren war ich hauptsächlich im Automotivebereich tätig, habe jedoch durchaus Interesse, mal wieder in einer anderen Branche Erfahrungen sammeln zu können. Eine meiner besonderen Stärken ist die schnelle Einarbeitung in neue Aufgabenbereichen und Fachgebiete. Ich bin immer an neuen Herausforderungen interessiert! Ich bin verheiratet und habe drei Kinder (manchmal auch eine Herausforderung).

Bei Interesse an einem detaillierten Profil mit umfangreichen Referenzen sowie Informationen zu Stundensätzen und Verfügbarkeiten kontaktieren Sie mich bitte hierüber. Gerne unterstütze ich auch Ihr Projekt mit meiner Tatkraft und Erfahrung.

Ausbildung

1989  Abitur am Marie-Curie-Gymnasium in Recklinghausen mit einem Notendurchschnitt von 1,9 
1990  Beginn des Studiums der Physik an der Universität Dortmund 
1996  Abschluss des Studiums der Physik mit Diplom mit einer Endnote von 1,0
Nebenfach Informatik mit Fachrichtung "Rechnernetze und verteilte Systeme"
2016  Seit Dezember Teilnahme Udacity Self Driving Car Engineer Nanodegree, erfolgreicher Abschluss im November 2017. Udacity ist eine innovative amerikanische Fernuniversität, die von Stanford-Professor Sebastian Thrun, dem ehemaligen Leiter des Google X Labs sowie des Google Self Driving Car Projects gegründet wurde. Der Kurs beinhaltet sowie Deep Learning- als auch "klassische" Robotik-Umfänge wie Computer Vision, Sensor Fusion, Localization etc.
 

Kenntnisse

Programmiersprachen C/C++ (sehr gut), Assembler TriCore / PowerPC / C16x / HC12 / ST7 / 80x51 / 80x86 / Z80 / (sehr gut), Basic (gut), Visual-Basic (gut), Pascal (gut), Delphi (ausreichend), Java (gut), Prolog (befriedigend)
Skriptsprachen Python (sehr gut), Visual Basic for Applications (befriedigend), JavaScript (befriedigend) , Matlab (befriedigend), DOS Shell (befriedigend), Unix Shell (befriedigend), MAKE (gut), AWK (befriedigend)
Rechnerplattformen PC (sehr gut), Mikrocontroller (sehr gut)
Betriebssysteme Windows 10/ 8 / 7 / Vista / XP / 2000 / NT (sehr gut), Windows 9x / 3.x (sehr gut), DOS (sehr gut), QNX (gut), Linux (gut), AIX (befriedigend)
Datenbanken ODBC (ausreichend), c-tree (ausreichend)
Netzwerke Ethernet (befriedigend)
Feldbusse CAN (sehr gut), LIN (sehr gut)
Datenübertragungs- protokolle CANopen (sehr gut), UDS (sehr gut), KWP2000 (sehr gut), CCP/XCP (sehr gut), TCP/IP (gut), diverse proprietäre Draht- und Funkübertragungsprotokolle (sehr gut)
Datenerfassungsterminals VT100-Terminals (gut), diverse proprietäre Datenerfassungsterminals (sehr gut)
Echtzeitsysteme OSEK (sehr gut), AutoSAR (befriedigend), QNX (gut)
Mikrocontrollerfamilien TriCore (sehr gut), PowerPC (sehr gut), C16x / XC2xxx (sehr gut) , HC12 (sehr gut), HC16 (gut), ST7 (sehr gut), TMS370 (gut), 80x51 (sehr gut)
Peripheriekomponenten Resolver (sehr gut), Schrittmotoren (sehr gut), EEPROM (sehr gut), Flash (sehr gut), Matrixtastaturen (sehr gut), LCD-Displays (sehr gut)
Hardwareschnittstellen CAN-Bus (sehr gut), LIN-Bus (sehr gut), SPI (sehr gut), I²C-Bus (gut), RS 232 (sehr gut), Centronics (ausreichend)
Softwareschnittstellen Qt (gut), COM/OLE (sehr gut), Windows API (sehr gut), MFC (gut), POSIX (gut), Sockets (gut)
Standards ISO-C 99 (sehr gut), ISO-C++ 98 (sehr gut), POSIX.1 (sehr gut), POSIX.4 (gut), pthreads (ausreichend), IEC-1131 (ausreichend)
Produkte Keras (gut), Tensorflow (gut), Eigen Library (gut), Git/Gerrit (gut), Subversion (gut), Continuuus (gut), PLS Debugger (gut), Lauterbach Debugger (sehr gut), dSpace Simulator / ControlDesk (gut), Matlab / Simulink (gut), ETAS Inca (sehr gut), Kleinknecht Gredi (sehr gut), BMW Diagnostic Tool Set (sehr gut), Vector CANalyzer / CANoe (gut), CodeWright (sehr gut), Eclipse (befriedigend), GNU C/C++ (sehr gut), Tasking C/Assembler für C16x (sehr gut), Cosmic C/Assembler für HC12 (sehr gut), Hiware C/Assembler für ST7 (gut), Keil C/Assembler für C16x / 80x51 (sehr gut), MS Visual C/C++ 16/32/64 bit (sehr gut), MS MASM (gut), MS Visual Basic (gut), Borland JBuilder (gut), Borland C/C++ 16/32 bit (gut), Borland TASM (sehr gut), Turbo Pascal (gut), XMetaL (gut), MS Office (gut), MS Visio (gut), Mathematica (gut), TeX/LaTeX (gut), lex/yacc (sehr gut), ST Emulatoren (sehr gut), HiTex Emulatoren (sehr gut)
Methoden Deep Learing (gut), Computer Vision (gut), Kalman-Filter (gut), Bayes-Filter (gut), Regelkreise (sehr gut), Metatemplate-Programmierung (sehr gut), Komponentenorientierte Analyse / Programmierung / Design (sehr gut), Objektorientierte Analyse / Programmierung / Design (sehr gut), Strukturierte Analyse / Programmierung / Design (sehr gut), ISO/OSI-Schichtenmodell / Protokollimplementierung (sehr gut), Compilerbau (sehr gut), Treiberprogrammierung (sehr gut), Ereignisgesteuerte Programmierung (sehr gut), Dialogprogrammierung (sehr gut)
Erfahrungen Grundtechniken für selbstfahrende Fahrzeuge (gut), Programmierung kundenspezifischer Hardware (sehr gut), Aufbau von Datenübertragungsprotokollen (sehr gut), Compiler- und Interpreterbau (gut), Aufbau von Betriebssysteme (gut), Erstellung von Spezifikationen (gut), Review von Code und Dokumenten (gut), Durchführung von Tests (gut), Erstellung von Dokumentationen (gut), Migration und Portierung (sehr gut)
Branchen Automobilelektronik (sehr gut), Bahn (sehr gut), Kommunikationstechnik (sehr gut), Automatisierungstechnik (gut), Warnsysteme (gut), Wiegesysteme (gut)
Fremdsprachen Englisch (gut)