Hallo,
mich würde interessieren was bringt mehr Chancen auf dem Arbeitsmarkt
d.h. welche Spezialisierung Embedded Bereich oder Desktop-Anwendungen
(z.B. Objektorientierte Sprachen). Wo wird meistens mehr verdient?
Nach dem Studium sollte man sich für etwas entscheiden aber es ist schon
schwierig in den beiden Richtungen sich gut auszukennen.
na ja, lernen ist eins aber Berufserfahrung zwei. Ich kann nicht zuerst
als Embedded Entwickler arbeiten nachher z.B. 2 Jahre als
PC-Anwendungsentwickler, um dann wieder mich als Embedded Entwickler zu
bewerben. Ich glaube man muss entweder oder machen...meine Frage ist was
lohnt sich mehr? was ist interessanter, wo habe ich mehr Chancen, um
einen Job zu bekommen und wo werde ich besser bezahlt, ich meinen wo
sind die Chancen höher....
interessierte schrieb:> na ja, lernen ist eins aber Berufserfahrung zwei. Ich kann nicht zuerst> als Embedded Entwickler arbeiten nachher z.B. 2 Jahre als> PC-Anwendungsentwickler, um dann wieder mich als Embedded Entwickler zu> bewerben. Ich glaube man muss entweder oder machen...
Kommt drauf an, in kleinen Firmen z.B. kann es durchaus passieren, dass
du das Embedded System auslegst, entwickelst und die dazu gehörige
Monitor-SW die auf einem PC läuft oder dem Embedded System selbst läuft
auch dazu schnitzt.
interessierte schrieb:> Nach dem Studium sollte man sich für etwas entscheiden aber es ist schon> schwierig in den beiden Richtungen sich gut auszukennen.
Du bist anscheinend mitten im Studium, setzt dich jetzt hin und lerne
C(1) und dann z.B. C++(1) mit OOP. Für einen Absolventen reicht das.
Gute Ansätze zum lernen:
-Bücher (MUSS)
-Artikelsammlung hier auf der Hauptseite (KANN)
-Tutorials (KANN)
-Skripte von Profs usw (KANN)
-eigene Projekte (SOLLTE) (2)
(1) Programmiersprachen sind nach eigenem gut dünken frei austauschbar.
(2) Wer pokern können will, muss pokern und wer programmieren können
will, muss programmieren.
P.S.: Alles meine Meinung, jeder kann eine eigene darüber haben.
interessierte schrieb:> na ja, lernen ist eins aber Berufserfahrung zwei. Ich kann nicht zuerst> als Embedded Entwickler arbeiten nachher z.B. 2 Jahre als> PC-Anwendungsentwickler, um dann wieder mich als Embedded Entwickler zu> bewerben. Ich glaube man muss entweder oder machen...
Muss nicht sein. Hier in der Abteilung gibt es zum Beispiel Leute, die
sowohl Software entwickelt haben, die auf dem Fahrzeugrechner einer
Lokomotive läuft (also Embedded), als auch Tools für das Laden der
Software und für die Diagnose (also PC-Anwendungsentwicklung).
Man schreibt ueblichwerweise die embedded software und gleichzeitig
schreibt man eine PC Applikation, die damit kommuniziert. So gesehen,
kommt die Berufserfahrung auf beiden Gebieten gleichzeitig.
@Hä-jetzt Noch: z.B. in der Automobilindustrie wird aber niemand
Werkzeuge für den Test und die Analyse schreiben, da werden Kenntnisse
wie embedded C, µC, Matlab, Canoe, Can, Lin, Labview usw verlangt. So
wie ich es sehe, dort werden doch keine PC-Anwendungen geschrieben,
oder?
Im übrigen kann man auch im embedded Bereich OO-programmieren. Gute C++
compiler sorgen schon dafür, dass der Code nicht zu groß wird. Und wenn
man nicht ums letzte Byte kämpfen muss, dann hat man alle Vorteile von
OOP.
Im übrigen sollte ein guter Programmierer in der Lage sein sich
innerhalb 1 Woche in eine neue Programmiersprache einzuarbeiten (LISP
lassen wir mal außen vor ;-)
Und ob auf dem PC oder woanders, man muss sich halt die APIs anschauen,
dann geht auch hier problemlos ein Wechsel.
Gruß
Tom
interessierte schrieb:> mich würde interessieren was bringt mehr Chancen auf dem Arbeitsmarkt> d.h. welche Spezialisierung Embedded Bereich oder Desktop-Anwendungen> (z.B. Objektorientierte Sprachen). Wo wird meistens mehr verdient?
Kann man nicht so allgemein beantworten. Ist meines Erachtens so
relevant wie die Frage, ob Dein Abschlusszeugnis auf einen Dienstag oder
einen Mittwoch datiert sein sollte. Von einem Softwareentwickler wird
erwartet, dass er beides kennt und sich schnell einarbeiten kann.
interessierte schrieb:> @Hä-jetzt Noch: z.B. in der Automobilindustrie wird aber niemand> Werkzeuge für den Test und die Analyse schreiben, da werden Kenntnisse> wie embedded C, µC, Matlab, Canoe, Can, Lin, Labview usw verlangt. So> wie ich es sehe, dort werden doch keine PC-Anwendungen geschrieben,> oder?
Natürlich werden da auch PC-Anwendungen programmiert. Meistens Mess- und
Entwicklungsumgebungen für Vorentwicklung, Applikation und Test. Da
werden nicht nur zugekaufte Tools verwendet, weil die auch nicht immer
perfekt zur Aufgabenstellung passen und auch so ihre (teilweise großen)
Macken haben...
@ Thomas Burkhart: nicht nur API, es gibt noch Sachen wie: Echtzeit,
OSEK, AutoSar, Echtzeit Bussysteme wie CAN oder Flexray, Misraregeln,
embedded C...und und und. Wenn jemand z.B. Java und C# im Studium hatte,
dann wird es für diese Person schwer sich in dieser umgebung wieder zu
finden. Man muss auch berücksichtigen, dass man auch Know-how braucht
über Hardware wie Watchdogs, PWM, SPI, EEPROM usw. das ist nicht ohne
für z.B. .NET Entwickler das ganze zu begreifen. Man muss dann auch mit
Oszilloskop umgehen können, um die Signale zu analysieren.
Deswegen meine Frage, da zu dem Embedded Bereich gehören mehr Sachen als
nur reine ANSII C. Darum mache ich mir auch Gedanken, ob wenn man nur
PC-Anwendungen entwickelt, wird man sich einfach und schnell im Embedded
Bereich auch einarbeiten können.
Embedded Software wird ja auch oft von Leuten entwickelt, die
Elektrotechnik bzw. Technische Informatik studiert haben. Reine
Informatiker gibt es da natürlich auch, aber ihr Anteil ist viel
geringer als z.B. bei einer Firma die Software entwickelt, die
ausschließlich auf PCs läuft.
@ Mark Brandis: Mein Prof. hat gemeint, dass jetzt und in der Zukunft
viel mehr für Embeddded Bereich als für PC-Bereich entwickelt wird, d.h.
man wird mehr Konkurrenz haben, wenn man sich für PC-Anwendungen
festlegt. Zweitens ich denke auch, dass PC-Anwendungsentwicklung stärker
von der Auslagerung betroffen ist (z.B. nach Indien). Bin ich richtig
mit meinen Überlegungen?
interessierte schrieb:> Mein Prof. hat gemeint, dass jetzt und in der Zukunft> viel mehr für Embeddded Bereich als für PC-Bereich entwickelt wird, d.h.> man wird mehr Konkurrenz haben, wenn man sich für PC-Anwendungen> festlegt.
Es kommt drauf an, was du willst.
Ich bleib dabei, mach beides, stellt dich auch breiter auf, also von
der Qualifikation her. ;-)
Im übrigen hat dein Prof guten Chancen Recht zu haben.
Es muss mehr Energie-Effizienz her, das wird oft/gerne mit mehr
intelligenten Geräten gelöst. Also Waschmaschine voll machen und die
kommuniziert mit dem Energie-Versorger, wann viel Strom da ist. Viel
Strom ist da, wenn die Sonne scheint, der Wind weht, dann wird (ab 2011)
der Strom günstiger usw, usf.
Um den Kraftstoffverbrauch zu senken wird auch viel in SW gemacht, okay,
Autos in klein und leicht bauen würde auch gehen. Aber dann müssten sie
billiger werden und die Marge würde sinken.
Hybridantriebe wollen auch angesteuert werden.
Fahrerassistenz ist auch so ein Thema, wo immer viel SW geschrieben
wird. Wobei ich es für einen übertriebenen Hype halte, bei gleichmäßigem
Verkehr empfinde ich es als sinnvoll, bei der Unfallverhütung halte ich
es für überschätzt. (Ist aber nur meine Meinung.)
> Zweitens ich denke auch, dass PC-Anwendungsentwicklung stärker> von der Auslagerung betroffen ist (z.B. nach Indien). Bin ich richtig> mit meinen Überlegungen?
Halte ich für kein Argument. Man kann Testfahrten auch super im Ausland
machen, für Tests in der Kälte/Hitze muss man das sogar.
interessierte schrieb:> @ Mark Brandis: Mein Prof. hat gemeint, dass jetzt und in der Zukunft> viel mehr für Embeddded Bereich als für PC-Bereich entwickelt wird, d.h.> man wird mehr Konkurrenz haben, wenn man sich für PC-Anwendungen> festlegt. Zweitens ich denke auch, dass PC-Anwendungsentwicklung stärker> von der Auslagerung betroffen ist (z.B. nach Indien). Bin ich richtig> mit meinen Überlegungen?
Also ich halte solche Aussagen für kompletten Blödsinn. Wie will man
messen, ob mehr für Embedded oder PC entwickelt wird? Anzahl Projekte,
Code-Zeilen?! Das kommt doch ganz auf die Branche an.
Von der Auslagerung sind übrigens alle Software-Bereiche betroffen. Und
Leute, die diesen Scheinbar-Billig-Auslagerungs-Software-Mist hier
irgendwie zum Laufen bringen müssen, werden in allen Bereichen
gebraucht.
interessierte schrieb:> @ Mark Brandis: Mein Prof. hat gemeint, dass jetzt und in der Zukunft> viel mehr für Embeddded Bereich als für PC-Bereich entwickelt wird, d.h.> man wird mehr Konkurrenz haben, wenn man sich für PC-Anwendungen> festlegt.
Dem kann ich so nicht ganz folgen. Falls es so kommt, dass der
Embedded-Bereich tatsächlich sehr stark an Bedeutung wächst, dann werden
entsprechend auch viel mehr Leute in diesen Bereich gehen. Somit würde
dort also die Konkurrenz wachsen, und im PC-Bereich würde sie eher
sinken. Aber mit solchen Prognosen sollte man vorsichtig sein - niemand
entschädigt einen dafür, wenn sie sich als falsch erweisen. Deshalb: Im
Studium sollte man das machen, was einen am meisten interessiert. Später
im Berufsleben hat man sowieso mehr Pflichtaufgaben, als einem lieb sein
kann ;-)
dabei darf man aber nicht vergessen, dass alle die NUR Jave oder C#
können nicht so einfach in den embedded Bereich wechseln werden.
Viele schreckt die Bitpopelei nachhaltig ab :-)
Mein Tipp: Mach das was Dir am ehesten liegt und am meisten Spaß macht.
Im Allgemeinen kommst Du nicht weit, wenn Du Deine Ziele auf Gehalt und
Jobaussichten optimierst. Und so groß sind die Unterschiede zwischen den
Schienen eh nicht.
Ich persönlich zum Beispiel würde GUI-Entwicklung nicht mal mit der
Kneifzange anfassen. Dann lieber Bits schubsen.
mfg, Stefan.
Ein GUI zusammenkloppen ist nicht schwierig. Man sollte nur die Finger
von Datenbanken lassen. Da treiben sich auch Informatiker, Foerster und
Klempner herum. Aber ein GUI zu einer technischen Anwendung gehioert
einfach dazu. Es ist einfacher das GUI zusammenzukloppen wie die
Spezifikationen dazu fuer eine externe Kraft zu schreiben.
Hä-jetzt Noch schrieb:> Ein GUI zusammenkloppen ist nicht schwierig.
Ja, so sehen viele GUIs dann auch aus... ;)
Eine brauchbare Nutzerführung zu entwicklen, ist alles andere als
einfach, wenn die Software etwas umfangreicher ist.
Hä-jetzt Noch schrieb:> Ein GUI zusammenkloppen ist nicht schwierig.
Eher: Irgend eine GUI zusammenzukloppen ist nicht schwierig. Eine
vernünftige grafische Benutzeroberfläche zu entwickeln ist hingegen
nicht trivial.