In parallel with studying theoretical particle physics I started to work as a part-time freelance system programmer in the project business in 1990 which I turned into a full-time job after graduating in 1996. Since then I could acquire a lot of experience in the autonomous handling of both large and small software projects. In the last 18 years my focus was on the automotive industry, in parallel with my usual project work I'm improving myself for some time now to become a expert for AI-based automotive systems and autonomous driving vehicles for instance by successfully taking part in the Self Driving Car Engineer Nanodegree program by Udacity.

Most of my occupations in the past where focused on the programming of microcontroller based control units in C/C++ or assembler close to the hardware, but I repeatedly also programmed PCs in C/C++ under Windows, Linux or QNX. The spectrum of my occupations reached from the programming of background processes for Unix servers in C, programming of GUI applications for Windows PCs in C++, development of mobile applications in Java or Javascript to the programming of firmware for customer specific microcontroller applications without operating system in C or assembler.

I possess extensive knowledge and experience on the following subjects:

As you can see from the other pages of this website I have special interest in development techniques leading to an optimized reusability of software - and I would be pleased to use these techniques to the advantage of our special project. In the last ten years I was mainly active in the automotive area, but I'm interested to acquire experience in a different industry too. One of my strong points is the ability to adapt quickly to new topics and tasks. I'm always interested in new challenges! I'm married with three children (sometimes challenging, too).

If your interested in a detailed profile with numerous credentials as well as information regarding charge out rate and availability please contact me here. I would be pleased to support our project with my spirit and experience.

Education

1989 General qualification for university entrance at the Marie-Curie-Gymnasium in Recklinghausen/Germany with a grade point average of 1,9 (B+)
1990 Start of studies of theoretical physics at technical university Dortmund
1996 Completion of studies of theoretical physics with diploma degree grade 1,0 (A)
Minor subject computer science with subject area computer networks and distributed systems
2016 Since December attendee of Udacity Self Driving Car Engineer Nanodegree program, successful graduation in November 2017. Udacity is an innovative American online university founded by Stanford professor Sebastian Thrun, the former head of the Google X Labs as well as the Google Self Driving Car projects. The class includes Deep Learning parts as well as "classic" robotic parts like computer vision, sensor fusion, localization etc.

Skills

Programming languages CC/C++ (A), Assembler TriCore / PowerPC / C16x / HC12 / ST7 / 80x51 / 80x86 / Z80 / (A), Basic (B), Visual-Basic (B), Pascal (B), Delphi (D), Java (B), Prolog (C)
Scripting languages Python (A), Visual Basic for Applications (C), JavaScript (C) , Matlab (C), DOS Shell (C), Unix Shell (C), MAKE (B), AWK (C),
Computer platforms PC (A), microcontroller (A)
Operating systems Windows 10/ 8 / 7 / Vista / XP / 2000 / NT (A), Windows 9x / 3.x (A), DOS (A), QNX (B), Linux (B), AIX (C)
Data bases ODBC (D), c-tree (D)
Networks Ethernet (C)
Field busses CAN (A), LIN (A)
Communication protocols CANopen (A), UDS (A), KWP2000 (A), CCP/XCP (A), TCP/IP (B), miscellaneous proprietary wire-based- and wireless communication protocols (A)
Terminals VT100-Terminals (B), various proprietary data acquisition terminals (A)
RTOS OSEK (A), AutoSAR (C), QNX (B)
Microcontroller families TriCore (A), PowerPC (A), C16x / XC2xxx (A) , HC12 (A), HC16 (B), ST7 (A), TMS370 (B), 80x51 (A)
Peripherals Resolver (A), stepper (A), EEPROM memory (A), flash memory (A), matrix keyboards (A), LCD displays (A)
Hardware interfaces CAN-Bus (A), LIN-Bus (A), SPI (A), I2C-Bus (B), RS 232 (A), Centronics (D)
APIs Qt (B), COM/OLE (A), Windows API (A), MFC (B), POSIX (B), Sockets (B)
Standards ISO-C 99 (A), ISO-C++ 98 (A), POSIX.1 (A), POSIX.4 (B), pthreads (d), IEC-1131 (d)
Tools Keras (B), Tensorflow (B), Eigen Library (B), Git/Gerrit (B), Subversion (B), Continuuus (B), PLS Debugger (B), Lauterbach Debugger (A), dSpace Simulator / ControlDesk (B), Matlab / Simulink (B), ETAS Inca (A), Kleinknecht Gredi (A), BMW Diagnostic Tool Set (A), Vector CANalyzer / CANoe (B), CodeWright (A), Eclipse (C), GNU C/C++ (A), Tasking C/Assembler für C16x (A), Cosmic C/Assembler für HC12 (A), Hiware C/Assembler für ST7 (B), Keil C/Assembler für C16x / 80x51 (A), MS Visual C/C++ 16/32/64 bit (A), MS MASM (B), MS Visual Basic (B), Borland JBuilder (B), Borland C/C++ 16/32 bit (B), Borland TASM (A), Turbo Pascal (B), XMetaL (B), MS Office (B), MS Visio (B), Mathematica (B), TeX/LaTeX (B), lex/yacc (A), ST Emulator (A), HiTex Emulator (A)
Methods Deep learing (B), computer vision (B), kalman filter (B), bayes filter (B), control loops (A), meta template programming (A), component oriented analysis / programming / design (A), object oriented analysis / programming / design (A), structured analysis / programming / design (A), ISO/OSI layer model / protocol implementation (A), compiler implementation (A), driver programming (A), event driven programming (A), dialog programming (A)
Experience Basic techniques for self driving cars (B), programming of customer specific hardware (A), communication protocol implementation (A), compiler and interpreter implementation (B), operating system implementation (B), creation of specifications (B), review of source code and documentation (B), performing of automated test sets (B), creation of documentation (B), migration and porting (A)
Industries Automotive (A), railways (A), communication technology (A), automation engineering (B), warning systems (B), weighting systems (B)
Foreign languages English (B)