Forum: Ausbildung, Studium & Beruf Mit Informatik-Studium embedded Entwicklung möglich?


von Max M. (maxmicr)


Lesenswert?

Hallo,

ich studiere aktuell Informatik, neben der Desktop- und Webentwicklung 
macht mir Embedded-Software auch sehr viel Spaß. Der Grund, warum ich 
kein E-Technik studiere ist, dass ich kein Interesse an der Physik habe.

Wie sieht es nach dem Studium aus, kann man da als Informatiker noch als 
Entwickler für µC einsteigen? Natürlich fehlen mir da gewisse 
physikalische und elektrotechnische Grundlagen, auch von Bauelementen 
hab ich dann möglicherweise zu wenig Ahnung, kann das trotzdem klappen?

von Cyblord -. (Gast)


Lesenswert?

Ja, wenn du dir das passende Wissen aneignest.

Cyblord macht auch embedded als Informatiker. Ich habe während meiner 
Zeit als wissenschaftlicher Mitarbeiter auch hauptsächlich FPGA-Designs 
entwickelt und low-level Programmierung gemacht.

von Jack (Gast)


Lesenswert?

Max M. schrieb:
> Der Grund, warum ich
> kein E-Technik studiere ist, dass ich kein Interesse an der Physik habe.

Dir ist schon klar, dass Embedded-Systeme häufig mit ihrer Umwelt 
agieren und dabei die Physik, Chemie oder Biologie eine entscheidende 
Rolle spielt?

> Wie sieht es nach dem Studium aus, kann man da als Informatiker noch als
> Entwickler für µC einsteigen?

Woher kommt diese merkwürdige Vorstellung von der Arbeitswelt mit diesem 
"einsteigen"? Das ist kein Zug der an der Haltestelle vorbei kommt. 
Alles was du brauchst ist ein Arbeitgeber der dir einen Job im 
Embedded-Bereich gibt. Wie bekommst du einen? Du überzeugst ihn.

Beitrag #5342493 wurde von einem Moderator gelöscht.
von (prx) A. K. (prx)


Lesenswert?

Max M. schrieb:
> Wie sieht es nach dem Studium aus, kann man da als Informatiker noch als
> Entwickler für µC einsteigen? Natürlich fehlen mir da gewisse
> physikalische und elektrotechnische Grundlagen, auch von Bauelementen
> hab ich dann möglicherweise zu wenig Ahnung, kann das trotzdem klappen?

Informatik beinhaltet Studienschwerpunkte. Und da solltest du dich mehr 
in Richtung Hardware bewegen, nicht ausgerechnet Theorie machen. Zu 
meiner Zeit war damit auch ein Nebenfach verbunden, das du vielleicht 
leidlich passend wählen kannst.

Ein Studium ist nicht zwangsläufig eine Festlegung auf eine exakt und 
ewig vorherbestimmte Tätigkeit. Mit Talent zur Aneignung von Wissen und 
Fähigkeiten kann man auch fachfremd wildern. Wenn allerdings ein solides 
Desinteresse an Physik und Elektronik dazu führt, dass im Umgang mit 
Hardware die Vorstellung von technischen Vorgängen fehlt, dann wäre das 
ein Hinderungsgrund.

Ich persönlich mache zwar beruflich nichts mit Embedded, nur private 
Bastelei, aber ganz absurd wärs wohl nicht gewesen. Andererseits kam ich 
damals von Elektronik zu Computern, d.h. Kenntnisse von Elektronik waren 
bei mir schon vor dem Studium vorhanden.

: Bearbeitet durch User
von Pete (Gast)


Lesenswert?

Hast du nicht auch nur annähernd mal etwas zu E-Technik im Studium 
gemacht? Hast du nicht entsprechende Schwerpunkte gewählt? Mich 
interessiert auch beides, weshalb ich mir nun einen Job gesucht habe, in 
dem auch Embedded-Entwicklung eine Rolle spielt. In Zeiten von IoT 
(Achtung Buzzword) nicht das Schlechteste, nebenbei bilde ich mich 
diesbezüglich weiter und die Firma weiß + supportet es. Wenn du 
hinterher von beidem eine Ahnung hast, umso besser.

von SWEngineer (Gast)


Lesenswert?

Klar geht das, nur lernst du im Studium vermutlich viel, was du dort 
nicht anwenden kannst, also noch mehr als das sowieso schon immer der 
Fall ist. Und du musst eben ein wenig aus der Etechnik lernen müssen, 
aber so schlimm ist das alles nicht.

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Dir muss halt klar sein, dass du auf 256k Flash und 64k RAM bei 100MHz 
entwickelst. Vllt etwas mehr, vllt. weniger.
Und, welche Unterschiede sich von daher zu PC Software ergeben.

Und dass da trotzdem RTOS, USB, Ethernet/TCP/UDP, FTP, Buffer, 
Streaming, Web-IF, Flash-Filesystem, Bootloader, Crypto, und vieles mehr 
gemeinsam reinpassen :-)

Auf der anderen Seite verbraucht Code hier Strom. Insbesondere bei IOT 
ist das oftmals eine wichtige Komponente. Aber dafür gibt es Tools 
(Stromverbrauch <--> ProgrammCode).

: Bearbeitet durch User
von Ohman (Gast)


Lesenswert?

Ich mache ein noch Fachfremderes Studium (Informationswissenschaft) und 
arbeite dennoch nebenbei als Firmwareentwickler für Embedded. Inhalte 
aus dem Studium kann ich nur marginal anwenden (höchstens die paar 
Stunden Hexzahlen konvertieren ;-) oder die zwei Mini-Assemblerkurse), 
aber darum gibt es ja nicht. Du musst das so sehen - die meisten 
Studenten arbeiten nebenbei als Kellner oder Nachtportier, das ist noch 
weiter weg.

von Ben W. (ben_w)


Lesenswert?

bin auch Dipl. Informatiker und in der Embedded Tätig.

was du meiner Meinung nach eben mehr brauchst sind die ganzen basics, 
was ist ein heap, stack, dynamische vs. statische Speicherallokation 
usw.
D.h. es geht mehr darum was wirklich in einer CPU passiert und weniger 
welches Framework gerade mein problem am besten löst :)
Evtl. nutzt man ein RTOS, da sollte man die OS basics kennen ...

Im Grunde würden solche Basics allen Informatikern gut tun. Sehe leider 
sehr häufig Web bzw. Desktop Entwickler, die mit den einfachsten 
Nebenläufigen Anwendungen bereits überfordert sind. Sie verlassen sich 
darauf, dass die Sprache/Framework alles für sie löst, was an sich ja OK 
ist nur im Fehlerfall sollte man in der Lage sein auch mal unter die 
Haube zu schauen.

von Max M. (maxmicr)


Lesenswert?

Ben W. schrieb:
> D.h. es geht mehr darum was wirklich in einer CPU passiert

Das finde ich ja daran so spannend, ich hab das Gefühl, Desktop- und 
Webentwicklung ist immer das gleiche (vllt. hab ich aber auch noch zu 
wenig damit gemacht). Dagegen im Embedded-Bereich hat man verschiedene 
Prozessoren und mehrere Komponenten, die zusammen spielen (müssen).

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Ben W. schrieb:
> bin auch Dipl. Informatiker und in der Embedded Tätig.
>
> was du meiner Meinung nach eben mehr brauchst sind die ganzen basics,
> was ist ein heap, stack, dynamische vs. statische Speicherallokation
> usw.
> D.h. es geht mehr darum was wirklich in einer CPU passiert und weniger
> welches Framework gerade mein problem am besten löst :)
> Evtl. nutzt man ein RTOS, da sollte man die OS basics kennen ...
>
> Im Grunde würden solche Basics allen Informatikern gut tun.

Lernt man das heute nicht mehr?
Wir hatten das zu meiner Zeit auf jeden Fall im Grundstudium.

@Max:
Ich arbeite heute teilweise auch im Embedded-Bereich, hatte damals im 
Info-Studium allerdings auch E-Technik als Nebenfach und schon als 
Jugendlicher viel mit Elektronik/Rechnern (Apple 2, 8048, 80535 etc.) 
gebastelt.

Wenn es Dir Spaß macht, solltest Du keine großen Schwierigkeiten haben, 
Dich zumindest in die Grundlagen der µC-Technik einzuarbeiten. Am besten 
legst Du Dir ein schönes µC-Entwicklungssystem Deiner Wahl zu und tobst 
Dich daran aus.

Heutzutage ist viel Hardware bereits integriert bzw. in Form von 
digitalen ICs verfügbar und kann direkt programmiert werden, so dass 
tiefgehendes elektrotechnisches Wissen für Programmierer nur selten 
notwendig wird.

: Bearbeitet durch Moderator
von Ben W. (ben_w)


Lesenswert?

Chris D. schrieb:
> Lernt man das heute nicht mehr?
> Wir hatten das zu meiner Zeit auf jeden Fall im Grundstudium.

wenn überhaupt dann nur die Theorie, die man wohl schnell vergisst wenn 
man sie nicht Anwendet :)

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Es ist überhaupt kein Problem, als Informatiker einen Arbeitsplatz im 
Embedded-Bereich zu finden, da viele Entscheidungsträger der Meinung 
sind, Softwareentwicklung sei Softwareentwicklung. Und auch Dein 
ausdrückliches  Desinteresse an den physikalischen Grundlagen schränkt 
zwar die Auswahl an Arbeitsgeboten ein, aber trotzdem sollte sich noch 
etwas finden lassen.

Solche Entwickler mag ich sehr gerne, aber bloß nicht in meinem eigenen 
Unternehmen. Als Mitarbeiter bei Kunden sichern sie aber unsere 
Aufträge.
Ich habe es selbst schon erlebt, dass mir der kundeneigene 
Diplom-Informatiker stolz seine riesige und universelle Klassenstruktur 
zeigte und ich ihn nur fragte, wie er das in die 8 KByte Flash und 256 
Byte RAM hineinzwängen wolle. Er war der festen Überzeugung, dass es 
sich um einen Tippfehler im Datenblatt handelte und der Controller 
selbstverständlich 256 KByte RAM habe.

Beitrag #5342736 wurde von einem Moderator gelöscht.
von SWEngineer (Gast)


Lesenswert?

Max M. schrieb:
> as finde ich ja daran so spannend, ich hab das Gefühl, Desktop- und
> Webentwicklung ist immer das gleiche (vllt. hab ich aber auch noch zu
> wenig damit gemacht). Dagegen im Embedded-Bereich hat man verschiedene
> Prozessoren und mehrere Komponenten, die zusammen spielen (müssen).

Da sieht man mal wie die Meinungen auseinander gehen. Ich habe auch nach 
meiner Berufsausbildung embedded gemacht und ich fand das so langweilig, 
dass ich mein Studium deswegen zur Informatik gewechselt habe.

Seit dem weiß ich auch, keinen schlechteren Code gibt, als von 
Elektrotechnikern, die glauben Softwareentwickler zu sein.
duckundweg

von Alter Informatiker (Gast)


Lesenswert?

Die ganze Diskussion wundert mich etwas.

Ich habe in den 90-Jahren im letzten Jahrtausend 
Elektrotechnik-Informatik studiert.

Informatiker ist ein Überbegriff so wie Mediziner/Arzt.

Zu meiner Zeit gab es Studiengänge
- Allgemeine Informatik (Uni-Forschung, Algorithmen)
- Wirtschaft Informatik (BWL, Banken, Datenbanken)
- Technische Informatik (Hardwarelastig, Automatisierungstechnik, 
Embedded)
- Medizinische Informatik
- etc.

Ich selber habe bewusst technische Informatik studiert und bin seit ca. 
25 Jahre im Embedded Bereich tätig.

Ich denke, dass heute das große Feld des Informatikstudiums immer noch 
differenziert wird - Oder?

von Arno (Gast)


Lesenswert?

...och, guck dir mal Code von Physikern an, die meinen, 
Simulationssoftware programmieren zu müssen ;)

Ernsthaft: Wirklich gute Embedded-Entwickler (und IMHO auch 
PC-Entwickler) verstehen nicht nur, wie die Daten im Controller hin und 
her geschaufelt werden, sondern auch, was elektrisch an den Ein- und 
Ausgängen passiert, und was dann mechanisch/chemisch... mit den 
elektrischen Signalen passieren soll.

Und umgekehrt verstehen die Leute, die dann am Ende einen Faden 
aufwickeln wollen, auch ein bisschen davon, ob das mit USB-Anschluss 
geht, ob es ein Schukostecker sein muss, oder ob sogar 125A-CEE an die 
Maschine gebracht werden müssen, und haben ein Grundverständnis, wie man 
die Bausteine generell zusammensetzt. Wenn sie gut sind.

MfG, Arno

von SWEngineer (Gast)


Lesenswert?

Alter Informatiker schrieb:
> Ich habe in den 90-Jahren im letzten Jahrtausend
> Elektrotechnik-Informatik studiert.

Hat sich schon etwas verändert. Was Heute Informationstechnik ist, war 
in den 80ern Informatik. Wie das in den 90ern aussah weiß ich allerdings 
nicht.

von Ing (Gast)


Lesenswert?

Max M. schrieb:
> Das finde ich ja daran so spannend, ich hab das Gefühl, Desktop- und
> Webentwicklung ist immer das gleiche (vllt. hab ich aber auch noch zu
> wenig damit gemacht). Dagegen im Embedded-Bereich hat man verschiedene
> Prozessoren und mehrere Komponenten, die zusammen spielen (müssen).

Naaajaaaa... am Ende ist Embedded heutzutage häufig ein fertiger AUTOSAR 
MCAL, der sowie das OS konfiguriert wird. Die AUTOSAR Basis-Software 
Module und ihre Schnittstellen sind sehr genau im Standard definiert, 
weshalb die Zulieferer das gerne nach Osteuropa oder Indien geben.
Die Applikation, was macht die in Embedded letztlich? Man verbindet in 
Simulink paar Blöcke zum Einlesen ADC (z.B. NTC) oder DI, irgendwas 
berechnen und DAC/PWM/Output, um Relais oder Transistoren anzusteuern. 
Viel mehr passiert in den meisten Applikationen nicht. Da braucht man 
kein ganzes Elektrotechnik-Studium für. Ich würde sogar einen 
ausgebildeten Elektroniker mit FH-Informatik-Bachelor bevorzugen.

Es gibt eine riesige Anzahl von Komponenten, aber die MEISTEN Platinen 
haben doch auch nur einen Mikrocontroller, Spannungsregler, 
Kommunikationschip (z.B. CAN-Transceiver) und paar Treiber (HighSide, 
MOSFET,...) bestückt. Viel mehr muss ein Informatiker als 
Applikationssoftwareentwickler gar nicht verstehen.

von EntwicklerN (Gast)


Lesenswert?

Ich sehe, dass aber so, dass du es schwer haben wirst. Denn im 
Zweifelsfall kannst du deine Kentnisse nicht nachweisen. Es gibt da 
weder entsprechende Noten für noch hast du da berufliche Erfahrung (mit 
entsprechenden Zeugnissen) vorzuweisen. Die Firmen interessiert aber 
eher, was man schwar auf weiß hat.

Wenn es um ein bestimmtes Thema geht, ist es vllt. noch das eine. Aber 
hardwarenahe Software-Entwicklung setzt ganz viele Skills voraus. Ohne 
Nachweis wirds da schwierig.

von Ing (Gast)


Lesenswert?

EntwicklerN schrieb:
> Aber hardwarenahe Software-Entwicklung setzt ganz viele Skills voraus.
> Ohne Nachweis wirds da schwierig.

Schaffen auch Wirtschaftsingenieure und Physiker (Tier1 
Automobilzulieferer mit IG Metalltarif). Man muss sich nur entsprechend 
weiterbilden, bewerben und im Vorstellungsgespräch überzeugen.

von Cyblord -. (cyblord)


Lesenswert?

Ing schrieb:
> Naaajaaaa... am Ende ist Embedded heutzutage häufig ein fertiger AUTOSAR
> MCAL, der sowie das OS konfiguriert wird.

Es gibt eine Embedded Welt außerhalb von Automotive. Manche sollten mal 
ihre Scheuklappen absetzen. Heute nennt man das wohl Filterblase.

> Man verbindet in
> Simulink paar Blöcke zum Einlesen ADC (z.B. NTC) oder DI, irgendwas
> berechnen und DAC/PWM/Output, um Relais oder Transistoren anzusteuern.

Jetzt denke ich eher du arbeitest mit Lego. Krude Aussagen sind das!

: Bearbeitet durch User
von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Max M. schrieb:
> Natürlich fehlen mir da gewisse
> physikalische und elektrotechnische Grundlagen, auch von Bauelementen
> hab ich dann möglicherweise zu wenig Ahnung, kann das trotzdem klappen?

Die Software-Komplexität von embedded designs steigt kontinuierlich. 
Meiner Meinung nach etwas, mit dem reine E-Techniker weniger gut umgehen 
können, als Informatiker.

Die Hardware-Grundlagen sind überschaubar. Für die Feinheiten wäre es 
aber sehr praktisch, Zugriff auf einen alten E-Techniker-Hassen zu 
haben. ;-)

Also: Ja, kann klappen. In anderen Bereichen musst Du nach dem Studium 
auch erst noch mal Praxiserfahrung sammeln.

Beitrag #5347641 wurde von einem Moderator gelöscht.
von Max M. (maxmicr)


Lesenswert?

Torsten R. schrieb:
> Ja, kann klappen. In anderen Bereichen musst Du nach dem Studium
> auch erst noch mal Praxiserfahrung sammeln.

Was ich mich noch frage ist, welche "Qualität" an Jobs man nach dem 
Studium bekommt. Ich werde nach dem Studium wahrscheinlich wesentlich 
mehr nachgewiesene Kenntnisse in Standard-Softwareentwicklung als im 
Embedded-Bereich haben.

Wer sollte mir abkaufen, dass ich mich damit in meiner Freizeit 
beschäftige? Klar, GitHub, Projektdokumentation etc. aber wie viel ist 
das Wert im Vergleich zu einem Studium + Ausbildung?

von Harter Tobak (Gast)


Lesenswert?

Torsten R. schrieb:

> Die Software-Komplexität von embedded designs steigt kontinuierlich.
> Meiner Meinung nach etwas, mit dem reine E-Techniker weniger gut umgehen
> können, als Informatiker.

Na "gut" umgehen, ist gut. Ich höre von unseren Softies immer nur "Bau 
uns ein System auf dem Linux läuft, weil dafür haben wir schon Treiber". 
Wobei doch der beste Weg mit Komplexitätumzugehen ist, sie zu vermeiden. 
Bei "meinen" Softies erlebe ich es aber gerne anders, Re-Use von fremden 
Code bis die Schwarte kracht. Mal die LED ohne Software blinken lassen, 
kennen die nicht.

> Die Hardware-Grundlagen sind überschaubar.
Ja aber mit angeschauten Grundlagen wie Ohmsches Gesetz kommt man bei 
Embedded nicht weit. Spätestens bei der EMV-Prüfung heulen die Softies 
Rotz und wasser weil sie mit ihren Super GHz Rechner den sie zum 
Abarbeiten aller HAL's und Sandboxen unter aufgeweichten 
Echtzeitbedingungen brauchen, wie mit einer Strahlenkanone alle 
Anzeigeskalen tief in den roten Bereich ballern.

Beitrag #5347711 wurde von einem Moderator gelöscht.
von Aa B. (aaab)


Lesenswert?

speed_of_light schrieb im Beitrag #5347711:
> Die meisten sind doch nur Java-Frickler, die das Ohmsche Gesetz nicht
> vom Grundgesetz unterscheiden können.

JO ich bin ganz bei dir, und auch SAP und .NET Entwickler

Beitrag #5347721 wurde von einem Moderator gelöscht.
von Aa B. (aaab)


Lesenswert?

speed_of_light schrieb im Beitrag #5347721:

> Das ist nicht möglich, das kann keiner alles zusammen.
Ja stimmt meinte ich oder und nicht und. Aber JAVA und .NET kann keiner 
zusammen, hmm, wusste ich nicht.

Beitrag #5347747 wurde von einem Moderator gelöscht.
von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Max M. schrieb:

> Wer sollte mir abkaufen, dass ich mich damit in meiner Freizeit
> beschäftige? Klar, GitHub, Projektdokumentation etc. aber wie viel ist
> das Wert im Vergleich zu einem Studium + Ausbildung?

Kommt vielleicht ein wenig darauf an, wie plausibel man das machen kann. 
Wenn Du möglichst realtisch darstellst, was Du kannst, dann sollte es 
auch während der Probezeit zu keinen Endtäuschungen kommen.

Software-Entwickeln lernt man in keinem Studium, auch nicht in der 
technischen Informatik und schon garnicht in einem E-Technik Studium. 
Wenn ein Arbeitgeber sich auf einen Berufsanfänger einläßt, dann wird 
dem das klar sein.

Wenn ich einen Informatiker als Embedded-Software-Entwickler einstellen 
würden, dann wäre mir wichtig, dass der versteht, wie ein C++ Compiler 
bestimmte features der Sprach in Code umsetzt. Wenn der sich dann noch 
traut, auch mal einen Fedeldraht irgend wo ran zu löten und mit Oszi und 
Logicanalyser umgehen kann, dann wäre das perfekt.

Beitrag #5347770 wurde von einem Moderator gelöscht.
von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Harter Tobak schrieb:

> Wobei doch der beste Weg mit Komplexitätumzugehen ist, sie zu vermeiden.

Genau. Aber leider nicht immer möglich.

Beitrag #5347797 wurde von einem Moderator gelöscht.
von JohnMayer (Gast)


Lesenswert?

Was für eine Frage? klar kann man es machen, Embedded Software kann 
beliebig abstrahiert sein. Beispielhaft im Automotiv und AutoSar 
Bereicht, dort arbeitest du mit Meta-Model etc, alles was Informatiker 
auch lernt. Wenn du z.B. SWC entwickelst brauchst nicht unbedingt alles 
über ECU zu wissen, eher über die Funktionen, die entwickelt werden, 
auch z.B. COM-Stack ist auch Informatik lastig.

Wobei ich weiß nicht, ob jedem Informatiker Embedded Software mit 
Prozessen, Regeln wie MISRA, Lints, ISO26262 etc. spaß machen wird, dort 
ist alles vorgeschrieben auch durch Architekturen wie AutoSar. Die 
meiste Arbeit machen so oder so Code Generatoren (Matlab etc.). Ich 
persönlich würde als Informatiker eher Big-Data, Machine learning 
vorziehen, dort ist eher die Zukunft. Die Autos werde immer mehr 
vernetzt (Car2Car, Car2Backend, Clouds). Schau, die ganzen IT Firmen wie 
Google, Apple auch Tesla etc. die sind nicht unbedingt an Autos 
interessiert aber an den Daten (eben Big-Data), warum? Schau z.B. Ebit 
von Facebook, über 20  milliarden 2017 (die machen das Geschäft nur mit 
Werbung und Daten was sie haben) und was machen unsere die OEMs?

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.