Forum: Ausbildung, Studium & Beruf Einstiegschancen im Bereich Embedded Software Entwicklung


von Rogerger (Gast)


Lesenswert?

Hallo Community,

ich hätte mal gerne eure Einschätzung zu meinem Problem.

Zurzeit mache ich ein duales Studium in Fachrichtung Mechatronik.
Zuvor hatte ich meine Ausbildung zum Elektroniker für Betriebstechnik 
sehr gut bestanden. Nach meinem Studium steht für mich fest, dass ich im 
Bereich Embedded Systems, speziell in der Software Entwicklung 
einsteigen will.

Zum Problem:
Das Praxisunternehmen(reine Mechanik), bei dem ich arbeite, hat mit 
dieser Thematik rein Garnichts am Hut. Aus weiteren Gründen steht 
deshalb für mich fest, dass ich nach dem Studium die Firma verlassen 
werde und in einem Unternehmen im Embedded Systems Bereich einsteigen 
will. Hinzu kommt weiterhin, dass ich vergleichsweise wenig Theorie in 
der Thematik an der Uni hatte/habe, als Universitäts- oder FH-Studenten, 
was an dem dualen System liegt (regelmäßiger Wechsel von 3 Monate 
Theorie und Praxis).

Folgende relevante Thematik gehört zu meinem Lehrplan:
 - Grundarchitektur von uC's
 - Programmierung von uC's in C und PICBasic (Ansprechen jeglicher 
Hardware mit dem Datenblatt des uC'S)
 - Bus-Systeme
 - FPGA
 - weitere Informatikgrundlagen

Im Hobbybereich habe ich auch einiges in dem Bereich an Erfahrung:
 - Programmierung des ATmega328p (C)
 - Erstellen eines eigenen Linux-Kernels
 - ständiges Lernen von C und C++
 - Programmierung von ESP8622

Da ich wirklich nicht einschätzen kann, wie die Mindestanforderungen 
eines Unternehmens in dem Bereich in etwa liegen, würde ich um eure 
Einschätzung bitten, ob es Sinn macht, hier einzusteigen. Bitte beachtet 
dabei, dass ich nicht einer von den reinen Theoretikern bin. Durch meine 
bald sechs Jahre Unternehmenserfahrung in der Industrie kenne ich 
Methoden um verschiedene Probleme anzugehen/zu lösen und schaue auch 
dabei über den Tellerrand hinaus. Außerdem kenne ich verschiedene 
Prozesse der Industrie(Fertigung, AV, Automatisierung, usw.) und kann 
deshalb die Einsatzgebiete der Embedded Systems gut einschätzen.

Liebe Grüße
Rogerger

von Markus (Gast)


Lesenswert?

C und C++ programmieren können ist auf jeden Fall ein Muss.
Wenn du das auf dem ATMega328 kannst, ist das schonmal cool. Aber das 
ist ein uralter Mikrocontroller, den keiner mehr in der Industrie 
einsetzt.

Setze dich lieber mal mit aktuellen Mikrocontrollern auseinander, z.B. 
STM32 Serie.
Spiele mal mit DMA rum, SDRAM, LCD Interface, SPI, I2C. Versuche mal 
Ethernet zum Laufen zu bekommen und USB.


Linux-Kernel bauen ist auch schonmal gut. Das kannst du dann weiter 
vertiefen, indem du dir mal ein beliebiges Eval-Board eines typischen 
Single-Board Computers besorgst (am besten kein RPi, da der SoC darauf 
schlechte Dokumentation hat).

Am besten du bestellst dir über die Uni ein Pynq-Board mit einem Zynq 
drauf für 70€.
Da kannst du dann auch gleich nochmal probieren, wie man einen 
Linux-Kernel kompiliert, wie man einen Device-Tree anpasst und wie man 
ein U-Boot anpasst.
Wie man mit DDR3 Hardware umgeht etc..
Da es ein Zynq ist, ist direkt ein FPGA mit drauf und kannst damit 
Hardwarebeschreibung machen.
Kannst intern über den AXI-Bus an den ARM andocken und eigene 
Hardwarebeschleuniger schreiben und wenn du magst, das Board hat z.B. 
direkt einen HDMI mit drauf und kannst das TMDS Protokoll 
nachimplementieren.
Schreibe für deine selbst-entwickelten Hardwarebeschleuniger 
Character-Device Treiber oder am besten gleichen einen 
Framebuffer-Treiber für den HDMI Out.

Und auch gut ist, du fängst im Hardwaredesign an.
Ein bisschen Wissen im Bereich Analogelektronik schadet nicht. Designe 
mal ein Board, am besten wie oben beschrieben mit einem STM32 und 
zusätzlich direkt Ethernet, SDRAM, Flash, LCDs alles direkt mit drauf, 
damit du auch gleich mit High-Speed Digitalelektronik im Hardwaredesign 
lernst, umzugehen.
Versuche, die benötigten Spannungen mit selbst-entwickelten DC/DC 
Wandlern zu erzeugen (ok, Controller-ICs sind erlaubt), die du vorher in 
Spice simulierst.

Wenn du das alles kannst, denke ich, dass dich eine Firma als 
embedded-Entwickler anstellt.

von Markus (Gast)


Lesenswert?

Kurzer Tipp noch:

Versuche dann auch mal, den ESP8266 via SDIO an den SoC dranzubauen und 
mit einem Linux-Treiber das Teil zum Laufen zu bekommen.

von Prof. Dr. Ing.- habil. Thorsten von der Laer (Gast)


Lesenswert?

Warum hast du denn Mechatronik studiert?
Bei Elektrotechnik wären die Vorrausetzungen ideal. Ich würde dir wenig 
Chancen einräumen. Versuch auf ET zu wechseln, wobei eine Ausbildung 
rein gar nichts mit dem Schliff im Studium zu tun hat.

von genervt (Gast)


Lesenswert?

Prof. Dr. Ing.- habil. Thorsten von der Laer schrieb im Beitrag 
#4887891:
> Warum hast du denn Mechatronik studiert? Bei Elektrotechnik wären
> die Vorrausetzungen ideal. Ich würde dir wenig Chancen einräumen.
> Versuch auf ET zu wechseln, wobei eine Ausbildung rein gar nichts mit
> dem Schliff im Studium zu tun hat.

Dummes Trollgeschwätz.

Er soll sich einfach bewerben, mit dem was er von sich mitbringt, stehen 
die Chancen ganz gut.

von Schlumpf (Gast)


Lesenswert?

> Programmierung von uC's in C und PICBasic

Ach wie süß.
Wenn es wenigstens PICBasic PRO wäre.

Ich lasse in meinem CV Kenntnisse in Commodore Basic V 2.0 immer weg.

von Qwertz (Gast)


Lesenswert?

genervt schrieb:
> Dummes Trollgeschwätz.
>
> Er soll sich einfach bewerben, mit dem was er von sich mitbringt, stehen
> die Chancen ganz gut.

Stattdessen fragt er aber lieber hier im Forum, wie seine Chancen stehen 
- was aber niemand seriös beantworten kann, da es vor allem auf die 
jeweilige Firma ankommt.

Ganz allgemein ist aber meine Einschätzung, dass es für  Quereinsteiger 
in diesem Umfeld in den letzten Jahren immer schwerer wurde.

von Felix (Gast)


Lesenswert?

Es kommt ja nicht nur darauf an, dass man eine Sprache C oder C++ 
beherrscht, es kommt auch auf die vertieften Hardware-Kenntnisse an bei 
den Mikrocontrollern mit ARM-Kern oder der Infineon C166-Familie.
Und es kommt darauf an, wie man die Sprache anwendet. Wie viel Erfahrung 
hat man in der Entwicklung von komplexen Algorithmen und 
Datenverarbeitung. Kennt man die Timings und die Rechenzeit der CPU in 
Abhängigkeit von der Komplexität des Mikrocontrollers und seiner 
Peripheriekomponenten (also die Funktionseinheiten auf dem 
Mikrocontroller). Das gleiche nochmal für die Peripheriekomponenten 
außerhalb des Mikrocontrollers.


Wie der zweite Beitrag schon richtig andeutet, werden bei 
Neu-Entwicklungen ab und an auch SoCs verwendet, wobei hier sowohl reine 
FPGAs als auch FPGAs in Verbindung mit ARM-Prozessoren zum Einsatz 
kommen (Xilinx Zynq).

Hier braucht man bei der Entwicklung der Hardware absolute 
Spezialkenntnisse, was die Einhaltung der Power-Up Sequenz bedeutet, wie 
die Spannungen entkoppelt werden und wie differentielle Ader-paare 
geroutet werden.

Somit ist auch die Entwicklung der Firmware auf diesen Systemen weit 
entfernt von den Hobby-Mikrocontrollern, was auch den STM32 einschließt, 
weil dieser ja auch eher beschränkt ist wie frühere Mikrocontroller.

Ein Zynq hat hingegen eine enorme Leistungsfähigkeit. Kann mit allen 
möglichen Anschlüssen versorgt werden (Ethernet, USB, HDMI, SDIO), hat 
alle möglichen Hardwarebusse, Schnittstellen für DDR3-RAM, eMMC, 
QSPI-Flash usw.


Zukünftige Embedded-Profis werden nicht mehr viel mit kleinen 
Mikrocontrollern zu tun haben, weil die Anwendungen immer komplexer 
werden und die Anforderungen an das System höher.


Leider hinken die Lehranstalten immer Lichtjahre hinterher in ihrer 
abgeschlossen, musealen Hochschulanstalten.

von Cyblord -. (Gast)


Lesenswert?

Felix schrieb:
> Leider hinken die Lehranstalten immer Lichtjahre hinterher in ihrer
> abgeschlossen, musealen Hochschulanstalten.

Dafür gibts Einarbeitungszeit für Berufseinsteiger. Im normalen 
Curriculum kann und sollten auch solche Spezifika nicht behandelt 
werden, weil, wie du schon festgestellt hast, sich das alle Jubeljahre 
ändert. Was sich der Student jedoch in seiner Freizeit, als Werkstudent, 
oder seiner Abschlussarbeit aneignet, steht noch mal auf einem anderen 
Papier, da wird er (hoffentlich) den ein oder anderen Kontakt mit der 
Realität machen. Aber zu erwarten, dass er umfassend tiefgehende 
Erfahrung in Linuxkernel, Anwendung der diversen Schnittstellen, usw. so 
wie weiter oben gefordert wurde mitbringt, ist schon reichlich 
weltfremd.

von Kermit (Gast)


Lesenswert?

Also ehrlich diese "Kenntnisse" sind doch nix besonderes.

"Erstellen eines Linuxkernels", wohl eher konfiguriert und das 
makescript angestossen, WAHNSINS Leistung das.
PICBasic WAHNSINN!
Arduino! BOAH!
Und dann noch den  ESP8266 'programiert', das biste sicher nur einer von 
10 Leuten auf diesem Planete und in der Industrie wahnsinnig wichtig.
Ein SoC, das ist mehr Konfiguration auch wenns wie programmieren 
aussieht.

Vielleicht findest du ja eine Firma die dich nimmt aber da gibts 
(Quer)einsteiger die deutlich mehr auf der Pfanne haben und genug 
Probleme mit dem Einstieg haben.

Das ist imo nicht mal ambitioniertes Hobbylevel, das ist ich habe mal 
"reingeschaut".

von TechInfStudent (Gast)


Lesenswert?

Hallo,
ich habe mich mal als Student für den Bereich Embedded Systems auf eine 
Werkstudentenstelle bei Continental im Rhein-Main-Gebiet beworben, es 
wurde mir direkt abgesagt. Jetzt habe ich gehört, dass man als Absolvent 
über Dienstleister (Ferchau) im Bereich Embedded Systems genau zu 
solchen Unternehmen kommt, quasi als Leiharbeiter für bestimmte 
Projekte. Ich würde gerne wissen, wer denn schon Erfahrungen damit 
gemacht hat. Welche Tätigkeiten sind es denn? Muss man als Leiharbeiter 
eher Dinge tun, die keiner von der Stammbelegschaft tun will oder gibt 
es da auch interessante Tätigkeiten? Lohnt es sich für mich, wenn ich im 
Sommer fertig bin, mich dort zu bewerben (Ferchau & Co.) und bei 
verschiedenen Unternehmen Erfahrung sammeln oder soll ich lieber direkt 
bei den Unternehmen Continental & Co. versuchen? Meine Erfahrungen sind 
ähnlich wie die des TOs aber eher weniger praktisch und mehr 
Software-Erfahrung (Sehr gut in C++, VHDL gut, C gut)

Ach und noch was.... was kann man denn als Einstiegsgehalt im Embedded 
Bereich angeben, wenn man dann evtl. eh heruntergehandelt wird? Wo 
sollte denn die Min.-Grenze sein?

von Bitwurschtler (Gast)


Lesenswert?

TechInfStudent schrieb:
> Meine Erfahrungen sind
> ähnlich wie die des TOs aber eher weniger praktisch und mehr
> Software-Erfahrung (Sehr gut in C++, VHDL gut, C gut)

VHDL ohne Praxis geht garnicht. Jedenfalls erlebe ich das regelmäßig wie 
schwer es sich Absolventen trotz (oder vielleicht gerade weil) 
VHDL-Vorlesungen tun ein lauffähiges FPGA-Design an den Start zu 
bringen. Manche scheitern schon an Anschluß des richtigen Labornetzteils 
und Bedingung des Programmers, ganz zu schweigen von der korrekten 
Bedienung eines Scopes an 100+ MHz Leitungen.

Und kaum eine Firma will es sich leisten einen FPGA-Entwickler 
abzustellen um den Frischling einen Survivalkurs in FPGA-Tools zu geben.

Wenn deine Abschlussarbeit nichts mit FPGA-Entwicklung zu tun hat, sehe 
ich nur geringen Chancen.

von TechInfStudent (Gast)


Lesenswert?

Ja das einzige was wir in Richtung FPGA machen sollten, war es über VHDL 
und AWL das Board so zu konfigurieren, dass es bestimmte Zahlen an den 
7-Segment-Anzeigen (4 Stück) anzeigen sollte, je nachdem was man für 
Knöpchen drückt. Das war dann Matrikelnummer-spezifisch usw. Das war 
dann auch die Prüfung, die genauen Anforderungen zu erfüllen und 
Änderungswünsche sofort umzusetzen. leider hatte die Vorlesung wenig 
damit zu tun, sie befasste sich eher mit der Theorie, aber egal man hat 
es dann geschafft und sich mit VHDL und AWL auseinandergesetzt. Es 
erinnert mich an ein Step7-Projekt, sozusagen eine Zustandssprache mit 
Bedingungen. Hat mit OOP wenig gemeinsam.

Aber danke für den Hinweis, dass es wohl weniger Chancen gibt wenn die 
Abschlussarbeit nichts mit FPGA zu tun hat.

Gibt es im Embedded Bereich nicht weitere Tätigkeiten außerhalb von FPGA 
für einen Einstieg? Reine µC-Programmierung?

von Kermit (Gast)


Lesenswert?

TechInfStudent schrieb:
> Gibt es im Embedded Bereich nicht weitere Tätigkeiten außerhalb von FPGA
> für einen Einstieg? Reine µC-Programmierung?
Versuch macht kluch. Bewirb dich einfach.

Beim Dienstleister will man auch eher Leute mit wenigstens 2 Jahren 
Erfahrung, hier und da nehmen sie auch mal nen Komplettfrischling. C/C++ 
kannst du ja laut Eigenaussagen sehr gut, was immer das heisst. Die 
Testen dein Wissen auf jeden Fall, da hockt dann einer der dir eine 
halbe Stunde  Fragen dazu stellt, wenn du nicht total inkompetent bis 
ist das keine Hürde.

Schau dass du schnell nen Fuss in die Branche bekommst, danach kannst du 
immer noch wechseln, das geht dann auch einfacher.

Zum Gehalt: Das musst du selber wissen wieviel du brauchst, beim 
Berufseinstieg gibts nicht viel zu verhandeln, da wäre ich ziemlich 
schmerzfrei und würde mich wenn ich den ersten (relativ miesen) Job 
hätte in Ruhe nach nem besseren Job umschauen.

von TechInfStudent (Gast)


Lesenswert?

Kermit schrieb:
> da wäre ich ziemlich
> schmerzfrei und würde mich wenn ich den ersten (relativ miesen) Job
> hätte in Ruhe nach nem besseren Job umschauen

So etwas habe ich mir auch überlegt, aber wird wenn man dann den ersten 
(miesen) Job hat und dann ein besseres Angebot erhält (evtl. sogar in 
jeder Hinsicht), kommt es dann nicht etwas "assi" rüber, wenn man dann 
während der Probezeit einfach geht? Nur wegen dem Geld?

Ansonsten Danke Kermit ;)

von Bitwurschtler (Gast)


Lesenswert?

TechInfStudent schrieb:
> Gibt es im Embedded Bereich nicht weitere Tätigkeiten außerhalb von FPGA
> für einen Einstieg? Reine µC-Programmierung?

Ja gibt's es, FPGA-Entwickler sind IMHO eher Exoten, das Gro der 
Embedded Entwickler sind µC-Codierer/Tester/specschreiber. 
Hardware/MixedSignal-Entwickler sind auch eher Exoten.


Meines Erachtens ist es nicht einfach nach dem Berufs-Einsteig über µC 
in Richtung FPGA zu gehen, weil man zuviel mit Codepflege, Neu- und 
Altaufträgen zu tun hat und kaum Zeit/Motivation für Umschulung in 
Richtung FPGA bleibt.

von J. S. (Gast)


Lesenswert?

Kermit schrieb:
> Beim Dienstleister will man auch eher Leute mit wenigstens 2 Jahren
> Erfahrung, hier und da nehmen sie auch mal nen Komplettfrischling.
Und sie verkaufen sie trotzdem teuer als "Fachgleute". Die Ferchau 
schiebt uns ständig solche Leute unter, die am Ende nichts anders 
hatten, als ein paar Schulungen und Berufserfahrung in anderen 
Bereichen.

von genervt (Gast)


Lesenswert?

ds schrieb im Beitrag #4889164:
> J. S. schrieb:
>> Die Ferchau
>> schiebt uns ständig solche Leute unter
>
> Selbst Schuld, wenn man die Sklaventreiberei fördert, statt Mitarbeiter
> ordentlich anzustellen und zu schulen.

Das passiert halt, wenn man das Gehaltsniveau im Saftladen zu weit 
runter gewirtschaftet hat.

Wenn man dann einen Einstellt, der Marktüblich verdient, dann kommt das 
irgendwann raus und alle wollen so viel haben - da ist es billiger 
einen/zwei Sklaven zuzukaufen und der Hammelherde was von 
"Fachkräftemangel" vorzujammern.

von Jepp (Gast)


Lesenswert?

ds schrieb im Beitrag #4889164:
> J. S. schrieb:
> Die Ferchau
> schiebt uns ständig solche Leute unter
>
> Selbst Schuld, wenn man die Sklaventreiberei fördert, statt Mitarbeiter
> ordentlich anzustellen und zu schulen.

+1

von Ralf (Gast)


Lesenswert?

Also ich prophezeie Leuten, die aus der Richtung technischer Informatik 
kommen und sowohl richtig Plan von Hardware sowohl auch als Software 
haben echt eine gute Zukunft.

Der embedded Bereich wächst brutal und ich sehe es inzwischen fast als 
ein MUSS an, sich in so Themenbereichen wie FPGAs, Linux, Bootloader, 
Mikrocontroller, sämtliche digitale Interfaces und High-Speed 
Digitalelektronik sich sicher zu bewegen.

Kenne so viele Firmen die regelmäßig Probleme bekommen deswegen und was 
teilweise viel Zeit kostet wenn so ein Board 5 mal Richtung SW-Abteilung 
läuft und wieder 5 mal zurück zur HW weil irgendwas nicht passt, bis da 
mal was läuft.

von Student (Gast)


Lesenswert?

Braucht man einen Abschluss in Technischer Informatik? Oder reicht 
E-Technik mit Schwerpunkt Informationstechnik?

von Maxi Z. (maxi_z)


Lesenswert?

Student schrieb:
> Braucht man einen Abschluss in Technischer Informatik? Oder reicht
> E-Technik mit Schwerpunkt Informationstechnik?

Es reicht auch ET ohne Schwerpunkt, Programmierkenntnisse bestimmt von 
Vorteil. Wenn du unbedingt da rein willst, klappt das schon. Reine 
Informatik würde bestimmt auch gehen, vielleicht mit Schwerpunkt C/C++ 
und Erfahrung/Kenntnisse in Hardware

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.