Forum: Ausbildung, Studium & Beruf Richtung Hardware oder Software?


von got2b (Gast)


Lesenswert?

Hallo ihr,

kann mir jemand etwas erzählen, wie es für einen 
Elektro-/Informationstechniker (B. Eng.  FH) in der SW-Entwicklung 
aussieht? Ich kann mir im Moment nur auf Dauer langweiliges C(++) 
programmieren darunter vorstellen. Kann man in diesen Job auch z.B. 
Systemtheorie, Numerik mit einbeziehen? Ich habe das Gefühl, jeder 
halbwegs anständige Informatiker ist mir überlegen, da er 7 Semester 
reines Informatik studiert hat.

MfG

von genervt (Gast)


Lesenswert?

got2b schrieb:
> Ich habe das Gefühl, jeder
> halbwegs anständige Informatiker ist mir überlegen, da er 7 Semester
> reines Informatik studiert hat.

Pfft!

Sobald es Hardwarenahe Programmierung ist, kannst du mindestens 9 von 10 
Informatiker in der Pfeife rauchen.

=> Embedded, Steuergeräte ect.. das ist der Bereich, wo EIT zum tragen 
kommt.

Mach dir keinen Kopf!

Wenn es jedoch um reine klassische Softwareentwicklung geht, bist du im 
falschen Studiengang.

von Inkognito (Gast)


Lesenswert?

got2b schrieb:
> kann mir jemand etwas erzählen, wie es für einen
> Elektro-/Informationstechniker (B. Eng.  FH) in der SW-Entwicklung
> aussieht?

Sonnig, mal heiter bis wolkig. Scherz beiseite.
Gewöhnlich macht man die Hardware im Labor und die Software
am PC. Wobei man sich das nicht so klinisch vorstellen muss.

Entscheidend sind die Aufgaben und welche Werkzeuge
man bereitgestellt bekommt. Meist kann man da ja mit reden.

> Ich kann mir im Moment nur auf Dauer langweiliges C(++)
> programmieren darunter vorstellen.

Bei Anlagen wird das wohl auch so verwandt werden, aber bei Geräten
(embedded Systems) wird man mit C arbeiten können.

> Kann man in diesen Job auch z.B.
> Systemtheorie, Numerik mit einbeziehen?

Ich vermute mal, bei Anlagen ja, bei Embedded eher weniger.
Hängt eben von der App ab.

> Ich habe das Gefühl, jeder
> halbwegs anständige Informatiker ist mir überlegen, da er 7 Semester
> reines Informatik studiert hat.

In Software vielleicht, aber nicht in Hardware. Kommt halt drauf an
ob du mit Hardware im Projekt konfrontiert wirst.

von genervt (Gast)


Lesenswert?

Der Eunuch erzählt wieder, wie man es macht..

von Paul (Gast)


Lesenswert?

In meiner Firma würde ich die Programmieraufgaben in drei Gebiete 
einteilen (welche jeweils von unterschiedlichen Kollen mit Abschluss 
B.Eng./M.Eng./Dipl.-Ing. bedient werden).

1) uC-Kleinkram

Analoge Schaltungsteile entwerfen, welche mithilfe von Mikrocontrollern 
eine digitale Schnittstelle erhalten. Programmierung hauptsächlich in C, 
sehr hardwarenah, Herausforderungen liegen darin unterschiedliche 
Schnittstellen möglichst resourcenarm zu implementieren, Steuerungs- und 
Reglungsaufgaben entsprechend effektiv zu gestalten und möglichst 
robusten und fehlerunanfälligen Code zu produzieren.

Beispiel: Strom- und Spannungsüberwachung von einem Netzteil mit 
Schaltfunktionen, Kurzschluss-/Überlasterkennung, Lüftersteuerung, 
seriellem Interface etc.

2) uC-Großkram

Programmierung von ARM-Controllern und/oder FPGAs in C++ resp. VHDL, je 
nach Projekt hardwarenah oder mit RTOSsen bzw. selbst(zu)entwickelten 
Betriebssystemen. Kernpunkte sind Kommunikation mit 1) und 3), ergo 
Schnittstellen, Speichermanagement und Implementierung von Reglern, 
Motorsteuerungen, etc. Dabei ist ein Großteil der Zeit Reglerentwurf und 
-verifizierung. Das Programmieren ist mehr Mittel zum Zweck.

Beipiel: Algorithmus zum Gleichgewicht halten bei einem dreibeinigen 
Roboter, welcher auf einem Gummiball steht, seine aktuelle Positionen 
von Modulen aus Kategorie 1) erhält, diese verarbeitet und wieder an 
Module aus Kategorie 1) weitergibt sowie einen Kamerastream an 3) 
weitergibt.

3) UI

Als drittes Gebiet sind die Kollegen, welche die Benutzerschnittstellen 
programmieren. Das geschieht hauptsächlich mit C++ und Perl auf 
*nix-Systemen (bei uns). Dabei steht Anwenderfreundlichkeit und 
Implementation von Protokollen, Diagnosesystemen, Datenloggern und 
Ähnliches im Vordergrund.

Beispiel: Treiber schreiben, welcher von 2) einen Videostream über z.B. 
USB von 2) erhält und diesen an einen Apache Webserver weiterreicht, 
welcher das Videosignal auf einer Website als Live-Bild verfügbar macht.

Wie du siehst wäre für Teil 1) und 2) ein (reiner) Informatiker eher 
ungeeignet, da Hardwareentwicklung und ein tiefes Verständnis von 
analoger und digitaler Schaltungstechnik extrem wichtig ist. Zudem sind 
Kenntnisse in Systemtheorie und Regelungstechnik absolut wichtig um 
funktionierende Regelschleifen implementieren zu können, Modelle zu 
erstellen und Fehler zu erkennen. Punkt 3) ist wahrscheinlich eher, was 
du dir als "Programmierer" vorstellst, was jedoch in Firmen mit 
Entwicklungs- und Forschungsarbeit nur ein kleiner Teil ist/sein kann.

von Lösungsvorschlag (Gast)


Lesenswert?

Die Tatsache, dass sowohl Informatiker als auch Ingenieure Software 
entwickeln wird für immer und ewig Identitätskrisen auf beiden Seiten 
hervorrufen. Eine Lösung wäre es, die Lizenz zum Programmieren an ein/e 
Studium/Ausbildung mit "Informatik" im Namen zu koppeln. So wie nur ein 
Mediziner den Beruf des Arztes ausüben darf.
duckundweg

von жтампф ден троль (Gast)


Lesenswert?

>jeder halbwegs anständige Informatiker ist mir überlegen, da er 7 Semester
reines Informatik studiert hat.

Tatsachlich ? Allenfalls von einer Datenbank einen Drucker ansteuern. 
Eine Excel Liste ausdrucken.

Sich von C++ demotivieren zu lassen ist unnoetig. Es ist leider eine der 
Eigenschaften dieser Spreche, die Leute zu demotivieren.

Nein. Es gibt beliebig viele Moeglichkeiten. Auch ohne C++, oder nur 
wenig.
Der effektive Code ist das Kleinste am ganzen Projekt. Die Applikation, 
das System soll sicher und zuverlaessig sein. Bevor man eine Zeile Code 
geschrieben hat, hat man sich mit einer Seite an Anforderungen dazu 
auseinandergesetzt. Sehr spannend, und einer muss es ja machen.

zB Wie schaff ich es, dass mir ein Tesla nicht in einen Lastwagen 
reinfaehrt. Dabei ist der Code das absolut Kleinste. Hier ist nicht der 
der Groesste, der am meisten Zeilen schreibt.

von Nop (Gast)


Lesenswert?

got2b schrieb:
> Kann man in diesen Job auch z.B.
> Systemtheorie, Numerik mit einbeziehen?

Eher selten bis gar nicht, meiner Erfahrung nach. Wichtig an 
Systemtheorie ist eher die Fähigkeit, in Systemen denken zu können, 
besonders mit Rückkopplung.

> Ich habe das Gefühl, jeder
> halbwegs anständige Informatiker ist mir überlegen, da er 7 Semester
> reines Informatik studiert hat.

Der wird aber überfordert sein, wenn er mal ein Oszi rausholen soll, um 
Timings nachzumessen. Oder auch sonst immer, wenn es hardwarenah wird.

Mal ein Beispiel, man möchte predictive maintenance für ein Kraftwerk 
aufbauen. Wartung bedingt Ausfallzeiten, die kosten Geld. Man will also 
nicht mehr warten als nötig. Andererseits bewirkt zu späte Wartung 
größere Schäden als nötig, also möchte man soviel warten wie nötig.

Die Ingenieure setzt man daran, die Sensorik zu konzipieren, mit 
allerhand Kleingeräten und Microcontrollern Daten zu erfassen, 
aufzubereiten und an ein Zentralsystem zu schicken. Dann wissen sie aber 
weder, was sie mit den Unmengen an Daten tun sollen, noch, wie sie sie 
organisieren sollen.

Die Informatiker haben zwar keine Ahnung, wie sie die Daten rankriegen 
sollen, aber wenn sie sie erstmal haben, können sie sich Gedanken 
machen, wie man sie formt und was man damit nun anfangen soll.

Beide können Software machen, aber die Ingenieure eher konkret, die 
Informatiker eher abstrakt. Es sind unterschiedliche Aufgaben, die sich 
erst im Team ergänzen.

Oder wenn man ein größeres Mikrocontroller-Projekt hat. Einen 
Informatiker würde ich daran setzen, die Struktur auszuarbeiten, aber 
die Ingenieure für den Inhalt. Setzt Du nur Ingenieure ran, wird das 
Ergebnis meistens ziemlich chaotisches Spaghettizeug sein, was zwar 
funktioniert, sich aber besch..eiden warten läßt. BTDT.

von il Conte (Gast)


Lesenswert?

Nop schrieb:
> Beide können Software machen, aber die Ingenieure eher konkret, die
> Informatiker eher abstrakt.

Das kann man durchaus am zeitlichen Verhalten von Routinen feststellen:

Bei den Ingenieuren dauert die gleiche Funktion 1 mS
bei den Informatikern 1000 mS. (gefühlt noch länger ;-)

von Nop (Gast)


Lesenswert?

il Conte schrieb:
> Bei den Ingenieuren dauert die gleiche Funktion 1 mS
> bei den Informatikern 1000 mS. (gefühlt noch länger ;-)

Bei einzelnen Routinen vielleicht, aber im Gesamtpaket sieht es anders 
aus. Etwa bei einem Suchbaum würden Ingenieure zwar die Hardware 
effizienter nutzen, aber die Informatiker kämen mit Ideen, wie man den 
ganzen Suchbaum beschneidet. Die Expertise für die Effizienz liegt 
einfach auf unterschiedlichenen Ebenen.

von Nur Gast (Gast)


Lesenswert?

жтампф ден троль schrieb:
> zB Wie schaff ich es, dass mir ein Tesla nicht in einen Lastwagen
> reinfaehrt.

Da muss ich mal den Spieß umdrehen... Wie schafft man es dass ein LKW 
nicht in einen Tesla (oder besser gesagt PKW allgemein) reinfährt? Z.B. 
bei einem Stauende

von Tobias .. (bitfehler)


Lesenswert?

il Conte schrieb:
> Bei den Ingenieuren dauert die gleiche Funktion 1 mS
> bei den Informatikern 1000 mS. (gefühlt noch länger ;-)

Seit wann haben denn Funktionen einen elektrischen Leitwert?

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.