Bei meinem ehemaligen Arbeitgeber wsk Messtechnik war ich derjenige, der einen Großteil der Entwicklungsarbeit im Bereich Hard- und Software machte. Bei Panasonic bin ich dann in die Entwicklung der Hardware platziert worden, habe aber auch den Automotive Spice Entwicklungsprozess der Software mitgemacht.
Seit 2011 bin ich schon bei meinem jetzigen Arbeitgeber in der Entwicklung von Steuergeräten für die Sitzheizung und Lenkradheizungen.
Die bevorzugte Programmiersprache ist C++. Nur wo das ein bischen übertrieben wäre (Mikrocontroller auf 8051-Basis) gebe ich mich auch mit C zufrieden - und wenn es unbedingt sein muß, quäle ich mich auch durch alten Basic-Code (ein Programm habe ich schon mal komplett nach C umgeschrieben, weil das Verstehen des Basic-Quelltextes länger gedauert hätte). Ansonsten kenne ich auch noch Pascal und habe mich schon durch verschiedene Assemblersprachen durchgekämpft (68000er-Assembler ist schon fast eine Hochsprache, ehrlich!). Immerhin machen auch Compiler manchmal Fehler.
Warum ist 68000er-Assembler einer Hochsprache so ähnlich? Ganz einfach: Motorola wollte einen 16/32-Bit-Prozessor haben, man hatte aber vorher nur Erfahrung mit 8-Bit-CPU's. Die Fehler, den Intel mit der Architektur der 8086-CPU gemacht hatte (einfach eine 8-Bit-CPU auf 16 Bit aufbohren) wollte man nicht machen, also ging man einen anderen Weg: Man nahm das Konzept des Prozessors der PDP-11-Minicomputer (die CPU dieser Maschinen war eine komplette Platine und bestand aus dutzenden IC's), und versuchte, dieses Konzept in ein IC reinzuquetschen. Mit Erfolg: zwar war dieser Prozessor lange Zeit die größte CPU, aber dafür kam man mehr als 10 Jahre völlig ohne Konzeptionelle Änderungen des Prozessors aus, was bei Intel gründlich daneben ging (man denke nur an so nette Sachen wie "virtueller 8086-Modus" oder das sagenumwobene "A20-Gate", das im modernen Pentium Core noch drinsteckt, obwohl kein Mensch mehr DOS auf so einer Kiste mehr fährt).
Und wie entstand die Hochsprache C? Ganz einfach: ein paar Jungs hatten ein Spiel, das lief sehr gut auf einem Mainframe. Nur wollten sie das Spiel auch auf der PDP-11 spielen. Was tut man also, wenn die beiden Assembler-Sprachen sich zu sehr unterscheiden, um das Spiel auf beiden Maschinen parallel weiter entwickeln zu können? Ganz einfach: man fängt mit ein paar Makros an, die dann nach und nach eine eigene Programmiersprache geben, in der man das Spiel dann schreibt. Auf diese Art und Weise entstanden wohl die Vorläufersprachen "A" und "B", bis schließlich "C" daraus wurde. Böse Zungen (Niklaus Wirth, der "Erfinder" von Pascal) haben mal gesagt, C sei nichts anderes als ein "verzuckerter Assembler". Ist eigentlich völlig korrekt, aber es ist eben ein Assembler, der auf fast allem läuft, was mit einer CPU arbeitet.