Hallo Forum, zur Zeit bin ich mit meinem Beruf nicht wirklich zufrieden.
Kurz zu mir: m, 35, E-Ingenieur, arbeite in einem mittelständischen
Unternehmen im hohen Norden und bin in der Hardwareentwicklung
angesiedelt. Das hat sich bei meinem ersten Job so ergeben.
Was mich aber in Wirklichkeit immer interessiert hat, war
Softwareentwicklung. Für Mikrocontroller, Mikroprozessoren, in C und
C++, mit RTOS oder ohne und all das drumherum.
Ich habe das Gefühl, aus meiner Hardware-Ecke nie wieder rauszukommen.
Bei meinem jetzigen Arbeitgeber sieht es schlecht aus, als Programmierer
anfangen zu können. Aber um den Job dafür zu wechseln, müsste ich ja
erstmal Berufserfahrung in der Softwareentwicklung nachweisen. Also
irgendwie beisst sich da die Katze in den Schwanz.
Ich bräuchte also einen neuen Arbeitgeber, der erstmal bereit wäre, in
mich zu investieren. Aber den werde ich vermutlich nicht finden. Welche
Alternativen fallen euch ein? Nochmals ein Studium im Embedded Bereich?
Etwas ganz anderes? Mich privat in diesem Bereich weiterzubilden, kam
mir in den Sinn, aber wer sagt mir da bei meinen Hobbyprojekten, was gut
oder schlecht ist. So werde ich es vermutlich auch nie auf eine
professionelle Ebene bringen
Wechsel einfach zu einer Klitsche, wo du beides, Hard- und Software
machen darfst, gerne auch in unbezahlten Überstunden. Dadurch kannst du
Know-how aufbauen und dich ganz langsam in Richtung Software
spezialisieren.
Andreas D. schrieb:> Was mich aber in Wirklichkeit immer interessiert hat, war> Softwareentwicklung. Für Mikrocontroller, Mikroprozessoren, in C und> C++, mit RTOS oder ohne und all das drumherum.
So sehr, dass du es gerne beruflich 40 Std / Woche machen möchtest?
Gruß,
Andreas D. schrieb:>ich habe das Gefühl, aus meiner Hardware-Ecke nie wieder rauszukommen.
Was für Hardware machst Du denn? Analogtechnik oder nur Layout?
Wenn Du µC-Hardware machst, sieh zu, dass Du möglichst wenig Layout
machst und dafür Treiber, Booter, Inbetriebnahm, Testprogramme. Die
gehören in die Hardwareabteilung (genauer: Zu der Gruppe, die den
Schaltplan vorgibt). Für einen echten Embedded-Entwickler sind das
zwingende Grundkenntnisse. Es ist nur schwierig, den Mittelweg zwischen
Frickler (int temp1, temp2, ...) und overabstraction (Registerzugriff
nur über generalisierte Getter/Setter mit mehreren Indirektionen)
Achim S. schrieb:> overabstraction (Registerzugriff> nur über generalisierte Getter/Setter mit mehreren Indirektionen)
Das erinnert mich an einen Kunden, der mich für einen Feuerwehreinsatz
beauftragt hat. Sein Entwickler (Diplom-Informatiker mit durchaus
beachtlichem theoretischen Wissen über OO, aber frisch von der Uni)
bekam seine Software auf dem Microcontroller nicht zum laufen. Er hatte
sich tolle abstrakte Konzepte ausgedacht, d.h. mit dynamischer
Instanzierung aller möglichen Ressourcen, z.B. auch Bedien- und
Ausgabefunktionen.
Er wollte mir nicht glauben, dass seine Software viel zu groß für den
kleinen Microcontroller mit 8KB Flash und 2KB RAM war. Er bestand
darauf, dass es jeweils Megabyte und im Datenblatt eben Druckfehler
seien, denn schließlich sei es ja auch völliger Schwachsinn, überhaupt
Microcontroller mit so wenig Speicher auf den Markt zu bringen. Wir
führten eine sehr lebhafte Diskussion darüber, dass es auch völliger
Unsinn sei, bei einem Gerät mit nur einem Bedienknopf die Instanzierung
belieb vieler Bedienelemente vorzusehen, denn zur Laufzeit können eben
weder welche hinzukommen noch entfernt werden.
Der Inhaber hatte viel zu wenig Ahnung von Softwareentwicklung, um das
ganze kommentieren und eine Entscheidung fällen zu können. Ich löste
noch ein kleines Hardwareproblemchen auf der Baugruppe und konnte sonst
nichts mehr machen. Einige Monate später erfuhr ich von einem Dritten,
dass das Produkt auf Grund nicht funktionsfähiger Gerätefirmware auf den
Markt gebracht werden konnte, aber es gab eine tolle Serveranwendung,
mit der man theoretisch die ganzen ausgerollten Geräte hätte überwachen
und steuern können. Aber der Laden war pleite.
Wie ich gerade gesehen habe, hat tatsächlich ein anderes Unternehmen die
Rechte an dem Produkte gekauft und tatsächlich zur Marktreife gebracht.
Andreas D. schrieb:> Hallo Forum, zur Zeit bin ich mit meinem Beruf nicht wirklich zufrieden.> Kurz zu mir: m, 35, E-Ingenieur, arbeite in einem mittelständischen> Unternehmen im hohen Norden und bin in der Hardwareentwicklung> angesiedelt. Das hat sich bei meinem ersten Job so ergeben.> Was mich aber in Wirklichkeit immer interessiert hat, war> Softwareentwicklung. Für Mikrocontroller, Mikroprozessoren, in C und> C++, mit RTOS oder ohne und all das drumherum.
Da bist du zuspät dran. Fürs Programmieren bis du zu alt! Und fürs
richtige SW-Entwickeln hast Du nicht die Kompetenzen!
Andreas S. schrieb:> dass das Produkt auf Grund nicht funktionsfähiger Gerätefirmware auf den> Markt gebracht werden konnte,
Ähem, da fehlt natürlich noch ein weiteres "nicht"...
Andreas S. schrieb:> Der Inhaber hatte viel zu wenig Ahnung von Softwareentwicklung, um das> ganze kommentieren und eine Entscheidung fällen zu können
Und trotzdem hat er alleine den Fehler gemacht. Jemandem frisch von der
Uni die alleinige verantwortung über die SW zu überlassen.
Wahrscheinlich war der Frischling billiger als ein erfahrener Mann.
@Andreas D.:
Ich hätte da was in der Richtung für dich, wäre allerdings
höchstwahrscheinlich mit einem Umzug in den Südosten verbunden. Schreib
mir mal eine PN wenn du Interesse hast.
Andreas S. schrieb:> Er bestand darauf, dass es jeweils Megabyte und im Datenblatt eben> Druckfehler seien, denn schließlich sei es ja auch völliger Schwachsinn,> überhaupt Microcontroller mit so wenig Speicher auf den Markt zu> bringen.
Wie lange hast Du damals nach der Kamera gesucht? Ich hätte mich
vermutlich wie Trueman gefühlt.
Ähnlich erging es wohl Nokias Handyentwickler. Als Microsoft die Liste
der unterstützten Sprachen (Windows Phone) schickte, dachten sie, es
fehlen Ei paar Seiten...
Andreas D. schrieb:> Mich privat in diesem Bereich weiterzubilden, kam> mir in den Sinn, aber wer sagt mir da bei meinen Hobbyprojekten, was gut> oder schlecht ist. So werde ich es vermutlich auch nie auf eine> professionelle Ebene bringen
Also ich hatte Leute im Studium, die hatten Drive. Der eine hatte davor
ne Ausbildung gemacht, danach den Techniker und letzendlich noch das
Studium drauf gesetzt.
Nebenher noch nebengewerblich was am Laufen und in der Freizeit an
eigenen Projekten gearbeitet. An komplexen Projekten, bei denen man was
lernt. Die Probleme erzeugen die man beheben muss.
So eine Person stelle ich mir eigentlich als idealen Arbeitnehmer vor.
Das vermisse ich bei dir aber. Wieso setzt du dich denn nicht bereits
mit dem Thema privat auseinander? Scheinbar ist das Interesse ja dann
doch nicht so groß. Vielleicht ist es bei dir nur die Fantasie, dass auf
der anderen Seite das Gras viel grüner sei...
Scheinbar kannst du auch nicht selbstständig denken und dir einen Plan
zurecht legen: "aber wer sagt mir da bei meinen Hobbyprojekten, was gut
oder schlecht ist."
Dass du überhaupt einen Job als Ingenieur hast wundert mich. Bzw.
vielleicht sollte es mich überhaupt nicht wundern. Wobei, du bist ja
sogar schon 35...
Andreas D. schrieb:> 35, E-Ingenieur
Wenn Du noch bis zur Rente programmieren möchtest, dann pass gut auf,
daß Deine Entwicklungsabteilung nicht vorher nach Fernost verlagert
wird.
Andreas S. schrieb:> Er wollte mir nicht glauben, dass seine Software viel zu groß für den> kleinen Microcontroller mit 8KB Flash und 2KB RAM war. Er bestand> darauf, dass es jeweils Megabyte und im Datenblatt eben Druckfehler> seien, denn schließlich sei es ja auch völliger Schwachsinn, überhaupt> Microcontroller mit so wenig Speicher auf den Markt zu bringen. Wir> führten eine sehr lebhafte Diskussion darüber, dass es auch völliger> Unsinn sei, bei einem Gerät mit nur einem Bedienknopf die Instanzierung> belieb vieler Bedienelemente vorzusehen, denn zur Laufzeit können eben> weder welche hinzukommen noch entfernt werden.
Sowas habe ich leider auch schon erfahren müssen. :-(
Datenblatt falsch, Druckfehler, alle anderen haben eh keine Ahnung. Ich
kann nur empfehlen die Geschäftsbeziehungen freundlich zu beenden, das
Leben ist zu kurz.
Aber wie es aussieht hat der Markt das für dich geregelt.
Sorry fürs Off-Topic! :-)
Willst du in der Region bleiben?
Im Dunstkreis Stuttgart suchen sie wie verrückt! Das hat mich auch aus
den hohen Norden getrieben.
Und die Kleinstunternehmen nehmen alles was C kann.
Es gibt zahlreiche ordentliche Unternehmen, die sofort einen erfahrenen
Hardwareentwickler als Embedded Softwerker einstellen würden. Zum
Beispiel: Marquardt, ZF, Hella, BHTC, Preh usw.
Gerade sucht Rheinmetall viele Leute wegen vieler Aufträge aus
Australien.
oszi40 schrieb:> Andreas D. schrieb:>> 35, E-Ingenieur>> Wenn Du noch bis zur Rente programmieren möchtest, dann pass gut auf,> daß Deine Entwicklungsabteilung nicht vorher nach Fernost verlagert> wird.
Dagegen müssen wir MINT-ler uns gemeinschaftlich und entschieden zur
Wehr setzen. Durch erstklassige Wertarbeit können wir im globalen
Wettbewerb und gegenüber den BWL-ern den entscheidenden Vorteil
erzielen. Das beginnt schon an den Hochschulen und darf in den
Unternehmen nicht enden.
Die Chancen stehen besser als je zuvor. Unsere Interessen werden durch
ein eigenes Ministerium vertreten, die Digitalisierung ist in aller
Munde und auch bei Siemens hat man das enorme Zukunftspotenzial von
Software als den Job-Motor schlechthin identifiziert:
https://www.siemens.com/innovation/de/home/pictures-of-the-future/digitalisierung-und-software/kuenstliche-intelligenz-ki-als-jobmotor.html
Damit sind Entwickler nicht länger ein lästiger Kostenfaktor, sondern
Wegbereiter und Enabler zukünftiger Geschäftsmodelle. Schon mehrfach
haben die herausragenden Leistungen deutscher Ingenieure zu kleinen wie
auch großen Wirtschaftswundern beigetragen.
> Autor: Qwertz (Gast)> Datum: 10.09.2018 22:03> Und damit die Rüstungsindustrie unterstützen?
Natürlich, wen denn sonst ?
Für die bekloppten Automotiv-Industrie mache ich nichts mehr.
Als Major d.R. kommt das meiner politischen Grundeinstellung recht nahe.
> Autor: Zocker_54 (Gast)> Datum: 10.09.2018 22:15> Warum denn nicht?
Siehe oben !
Kann den TO verstehen, denn Hardware-Entwickler können meist von
vorgestern sein.
Besonders dann, wenn sie Analog-Elektroniker sind.
Dementsprechend leben sie in der analogen Welt von vorgestern, jegliche
moderne Entwicklungsmethoden und -prozesse gehen an ihnen vorbei.
Das ganze Firmenwissen zu der Hardware ist nur auf unleserlichem, mit
Bleistift bekritzeltem Papier und in den Köpfen drin.
Tech-Nick schrieb:> Dementsprechend leben sie in der analogen Welt von vorgestern, jegliche> moderne Entwicklungsmethoden und -prozesse gehen an ihnen vorbei.
Das ist der größte Unsinn, der je in diesem Forum verbreitet wurde.
Andreas S. schrieb:> Achim S. schrieb:>> overabstraction (Registerzugriff>> nur über generalisierte Getter/Setter mit mehreren Indirektionen)>> Das erinnert mich an einen Kunden, der mich für einen Feuerwehreinsatz> beauftragt hat. Sein Entwickler (Diplom-Informatiker mit durchaus> beachtlichem theoretischen Wissen über OO, aber frisch von der Uni)> bekam seine Software auf dem Microcontroller nicht zum laufen. Er hatte> sich tolle abstrakte Konzepte ausgedacht, d.h. mit dynamischer> Instanzierung aller möglichen Ressourcen, z.B. auch Bedien- und> Ausgabefunktionen.>> Er wollte mir nicht glauben, dass seine Software viel zu groß für den> kleinen Microcontroller mit 8KB Flash und 2KB RAM war. Er bestand> darauf, dass es jeweils Megabyte und im Datenblatt eben Druckfehler> seien, denn schließlich sei es ja auch völliger Schwachsinn, überhaupt> Microcontroller mit so wenig Speicher auf den Markt zu bringen. Wir> führten eine sehr lebhafte Diskussion darüber, dass es auch völliger> Unsinn sei, bei einem Gerät mit nur einem Bedienknopf die Instanzierung> belieb vieler Bedienelemente vorzusehen, denn zur Laufzeit können eben> weder welche hinzukommen noch entfernt werden.>
Tolles Beispiel. Ich könnte ein Buch darüber schreiben :-)
Overengineering ist eine der größten Plagen in der Softwareentwicklung.
Wie in Bespiel beschrieben fängt es meistens damit an, dass sich die
tollen Hechte erst mal gar keine Gedanken darüber machen was schon zu
Bauzeit umgesetzt werden kann und was erst zur Laufzeit. Am Ende wird
alles erst zu Laufzeit definiert und instanziert. In meinem aktuellen
Projekt wird die ganze GUI UND Datenstrukturen in einer mehrere MB
grossen XML Datei definiert, obwohl ALLES bereits zu Bauzeit bekannt
ist, definierbar ist und sich zur Laufzeit nicht mehr ändert. Das ganze
wird umgesetzt mit völlig unsinnigen Abstracktionsschichten ( ALLE
Klassen leisten von einer Interface Klasse ab ) und ausgiebigen Einsatz
von Design Patterns ). Es geht aber um eine relativ einfache Embedded
Applikation mit ein Paar Controls und Dialogen.
Ich könnte heulen... :-)
BobbyX schrieb:> Ich könnte heulen... :-)
Praktisches Beispiel Funkfernbedienung für Steckdosen: Früher für jede
Steckdose ein Knopf für EIN und einer für AUS. Heute Overengineering:
LCD-Display was man bei Dunkelheit NICHT erkennt und weniger Knöpfe, die
man mehrfach drücken muß um die richtige Steckdose zu finden. Mist.
Es reicht nicht programmieren zu "können". Es muß auch ergonomisch sein!