I have a university degree in theoretical physics and am working as freelance system programmer since 1990 now. During this time I was able to acquire extensive experience regarding the autonomous implementation of software projects in various industries.

The range of my activities reached for the programming of demons in C under UNIX, the programming of GUI applications in C++ under Windows, the development of mobile applications in Java or Javascript to the programming of firmware for microcontroller without operation system in C or assembler. The focus of my activities is the low level programming of customer-specific microcontroller boards as well as the close-to-hardware programming of PC in C/C++ under Windows, Unix or QNX.

I have considerable experience in the following fields:

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. One of my special strengths is the fast induction into new fields of duty and new subject areas. I'm always interested in new challenges. 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. I'm married with three children.

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

Skills

Programming languages C/C++ (A), Assembler 80x86 / Z80 / C16x / 80x51 / ST7 / HC12 / PowerPC (A), Basic (B), Visual-Basic (B), Pascal (B), Delphi (D), Java (B), Prolog (C)
Scripting languages Python (B), DOS Shell (B), Unix Shell (C), MAKE (A), AWK (B), Visual Basic for Applications (B), JavaScript (B)
Computer platforms PC (A), microcontroller (A)
Operating systems Windows Vista / XP / 2000 / NT (A), Windows 9x / 3.x (A), DOS (A), QNX (B), Linux (C), AIX (C)
Data bases ODBC (D), c-tree (D)
Networks Ethernet (C)
Field busses CAN (A), LIN (A)
Communication protocols CANopen (A), UDS(B), KWP2000 (A), CCP (B), TCP/IP (B), various proprietary wired and wireless communication protocols (A)
Terminals VT100-Terminals (B), various proprietary data acquisition terminals (A)
RTOS QNX (B)
Microcontroller families C16x / XC2xxx (A) , PowerPC (A), TriCore (B), 80x51 (A), ST7 (A), TMS370 (B), HC12 (A), HC16 (B)
Peripherals EEPROM (A), Flash (A), matrix keyboards (A), LCD displays (A), stepper motors (B)
Hardware interfaces CAN-Bus (A), LIN-Bus (A), SPI (A), I2C-Bus (B), RS 232 (A), Centronics (D)
APIs Windows API (A), MFC (B), POSIX (B), Sockets (B), COM/OLE (D)
Standards ISO-C (A), POSIX.1 (A), POSIX.4 (B), pthreads (D), IEC-1131 (D)
Tools dSpace Simulator / ControlDesk (B), Matlab / Simulink (C), MS Visual C/C++ 16/32 bit (A), MS MASM (B), Borland C/C++ 16/32 bit (B), Borland TASM (A), MS Visual Basic (B), Borland JBuilder (B), Keil C/Assembler for C16x / 80x51 (A), Hiware C/Assembler für ST7 (B), Tasking C/Assembler for C16x (A), Cosmic C/Assembler for HC12 (A), GNU C/C++ (B), Turbo Pascal (B), CodeWright (B), XMetaL (B), Continuuus (B), MS Office (B), MS Visio (B), Mathematica (B), TeX/LaTeX (B),  lex/yacc (A), ST Emulatoren (A), HiTex Emulatoren (A), Lauterbach Debugger (A), Kleinknecht Gredi (A), ETAS Inca (B), ETAS Diagnostic Tool Set (B), Vector CANalyzer / CANoe (B),
Methods object-oriented analysis / design / programming (A), structured analysis / design / programming (A), event-triggered programming (A), dialogue programming (A), ISO/OSI layer model / communication protocol implementation (A), compiler implementation (A), device driver programming (A), component-oriented analysis / design / programming (A),
Experience programming of customer-specific hardware (A), implementation of communication protocols (A), design and Implementation of compilers and interpreters (A), design of operating systems (B), preparation of specifications (A), review of code and documentation (A), execution of tests (A), writing of documentation (A), migration and porting (A)
Industries automotive (A), railways (A), communication (A), automation (B), warning systems (B), weighting systems (B)
Foreign languages English (B)