Hi!
Ich bin seit 14 Jahren Software-Entwickler. Dabei entwickle ich typische
Datenbankanwendungen - mal als Desktopanwendung, mal als Webanwendung.
In den letzten Jahren bin ich eher im Backend-Team mit C# unterwegs und
entwerfe auch die Architektur.
Über kurz oder lang möchte ich die Branche in Richtung
Mikrocontrollerentwicklung wechseln.
Dafür möchte ich privat sinnvolle Erfahrung sammeln und frage mich, auf
was ich mich erst mal konzentrieren soll, um eine nützliche Basis
aufzubauen. Außerdem möchte ich für mich selber feststellen, ob mir das
auf Dauer Spaß macht.
- ARM, 8-bit AVR oder was anderes?
- Busssysteme: CAN-BUS / I2C....? Möglichst breit mal alles benutzt
haben?
- C ist grundsätzlich Stand der Dinge?
- ...
Mir ist schon klar, dass ich jetzt nicht wissen kann, was mein
zukünftiger Arbeitgeber wirklich will. ;-)
Ich würd mich freuen, wenn mir Jemand, der vielleicht einen guten und
weiten Einblick in die Branche hat, mir ein paar Tipps geben könnte was
grundsätzlich heutzutage Sinn macht oder ich links liegen lassen kann.
Ob ich als "nur" Ausgebildeter überhaupt in die Branche komme, ist
natürlich eine ganz andere Frage. ;-)
Danke!
Grüße,
Daniel
Hi, Daniel,
"Branchenwechel" klingt hier wie "Neuanfang".
> Ich bin seit 14 Jahren Software-Entwickler.
Also: "14-jähriger Erfahrungsschatz, ade!"
Und: "Ab nun messe ich mich mit den Bachelors, die C# im Studium gelernt
haben, die keine Erfahrung haben und entsprechend billig sind, aber mit
dem Rückenwind "neuester Kenntnisse" kommen.
Da droht Dir, zur Lachnummer zu verkommen.
Sprich mal Headhunter an. Finde einen, der aus einem "ungeschliffenen
Diamaten" einen Brillianten machen will. Der einen Weg weiß, wie er das,
was Dir nach 14 Jahren als Routine und Belastung vorkommt, in einen
Wettbewerbsvorteil verwandelt.
Möglicherweise heißt der nächste Streckenabschnitt Deines Werdeganges
gar nicht mehr "Software-Entwickler", sondern "Entwicklungs-Management",
"Qualität" oder noch abenteuerlicher.
Denn neben Deinen 14 Jahren Software-Entwicklung hast Du auch all die
Erfahrungen gesammelt, über die wir im Dilbert-Comic schmerzhaft lachen.
Du stehst über dem, was Jungingenieure noch ideologosch bejubeln.
Daniel, den Rat, den Du brauchst, den kann Dir in diesem Forum keiner so
gut erteilen wie ein Experte, der sich erst mit Dir unterhält und der
Fragen stellt, auf die Du aus Deiner jetzigen Perspektive nie kommen
würdest.
(Die Guckfensterchen in diesem Forum sind einfach zu klein, niemand hat
die Zeit für ein intensives Gespräch - und wer sie sich nehmen würde,
der wäre bald überschrien von Besserwissern.)
Daniel, mach Nägel mit Köpfen - lass Dich von einem Experten beraten,
der sein Geld wert ist.
Ciao
Wolfgang Horn
Daniel schrieb:> Mir ist schon klar, dass ich jetzt nicht wissen kann, was mein> zukünftiger Arbeitgeber wirklich will. ;-)
Dann guck dir Stellenausschreibungen an und mach dir ne Liste zum
ankreuzen.
Schwierig, am besten mal überlegen, in welche Richtung es wirklich gehn
soll. Auch Mikrocontroller ist ein weites Spektrum.
-am besten Weiterbildungsprogramme durchsehen
-mit kleinen Hobby/Nebenjob (?) Projekten das Gebiet kennenlernen.. ist
es dann wirklich das was du willst.
Daniel schrieb:> Dafür möchte ich privat sinnvolle Erfahrung sammeln und frage mich, auf> was ich mich erst mal konzentrieren soll, um eine nützliche Basis> aufzubauen.
* Zwei Jahre intensivste Beschäftigung mit der Sprache C solange bis Dir
in C keiner mehr was vormacht. Evtl hobbymäßig in der Linux Kernel
Gerätetreiber-Entwicklung engagieren.
* Angestaubte Mathematik und Physik-Kenntnisse wieder soweit auffrischen
daß sie wieder wie neu sind.
* Nötige praktische(!) Kenntnisse in Digital- und Analogelektronik
erwerben, am besten durch geeignete Wahl des Hobbies.
Wenn Du das alles durch hast kannst Du drüber nachdenken Dich zu
bewerben, jedoch keine Sekunde vorher.
Ganz ehrlich? Das hört sich ziemlich dämlich an 14 Jahre Erfahrung
wegzuwerfen um in einem Feld anzufangen, das mit "normaler"
Softwareentwicklung eher wenig zu tun hat. Du müsstest zumal je nach
deinem Studium komplette Grundlagen in Elektronik, Signalverarbeitung,
Rechnerarchitekturen und Domänenwissen in dem Bereich, indem du
entwickeln willst nachholen. Wie willst du sonst überhaupt die
Datenblätter verstehen?
Eventuell kannst du ja kündigen und ein Praktikum anfangen ^^.
Aber mal ehrlich... 14 Jahre Erfahrung? Dann wird es langsam Zeit sich
von der Entwicklung im allgemeinen zu lösen und irgendwie in die
Projektleitung zu kommen.
ich kann mich den bisherigen Postern nur anschliessen. Wenn Dir
Mikrocontroller gefallen, dann programmiere private Projekte damit. Ein
großes Manko ist, dass dir wahrscheinlich die ganzen
physikalisch-technischen Hintegrundkenntnisse fehlen und du mit 14
Jahren BE quasi komplett bei Null anfängst. Da nimmt eine Firma lieber
einen jungen "formbaren" Bachelor, der zumindest mal im Praxissemester
und für seine Thesis was mit Mikrocontrollern gemacht hat. Apropos
Headhunter: mir sagte mal einer, dass selbst der Wechsel von einer
Technologie wie Java zu C# nicht mal so ganz ohne weiteres problemlos
ist aus Arbeitsmarktsicht. Er kann zwar gelingen, aber meist mit
Gehaltseinbussen. Heisst, wer 5 Jahre lang Java Enterprise gemacht hat
und dann auf C# umsattelt, muss selbst wenn er sich privat C# und die
zugehörigen Microsoft Technologien (DB, Applikationsserver etc.)
beigebracht hat, erstmal mit einem gehörigen Abschlag im Vergleich zu
seinem letzen "Java" Gehalt rechnen. 14 Jahre Entwickler von typischen
Desktop/DB Anwendungen und dann zu Mikrocontroller Wechseln ist halt
schon ziemlich was anderes. Während der Wechsel von Java Enterprise zu
C# Business Anwendungen eher sowas ist wie ein Winzer der auf eine
andere Rebsorte umsattelt, ist der Umstieg in die Mikrocontroller Welt
doch eher so als würde der Winzer anfangen Rosen zu züchten. Beides hat
zwar mit der Aufzucht von Plfanzen zu tun, ist aber ansonsten ziemlcih
grund verschieden.
Hallo Daniel,
ich würde mich an Deiner Stelle mal an dem oberen Ende, dass man noch
"Embedded" nennt, orientieren. Da sind dann nicht unbedingt
microcontroller am werkeln, aber es geht dann vielleicht schon mal in
die Richtung, die Du Dir vorstellst. Ausserdem sind auf größeren
Plattformen meist auch größere Softwaren zu entwickeln.
Software auf embedded systems wird immer größer und komplexer und die
Handhabung von Komplexität ist wahrscheinlich das, was Du als
gestandener Softwareentwickler gut einbringen kannst. Auf größeren
Systemen wird ja auch durchaus mal C# eingesetzt (z.B. unter WinCE).
Ansonsten einfach mal eines dieser dicken reference manuals schnappen
(z.b. stm32) und Dir überlegen, ob Du damit gerne Deine Zeit verbringen
möchtest. Grundlegende Elektrotechnik-Kenntnisse kann auch nicht
schaden, aber wenn Du als SW-Entwicklern mit E-Technikerm zusammen
arbeitest, sollte der Stoff aus dem Physik-Unterricht reichen.
C ist denke ich die am meisten verwendete Sprache und ist vom Umfang ein
Bruchteil von C#. Ich bevorzuge C++ und es gibt auch noch ein paar
"Freaks", die Assembler schreiben.
HTH
Torsten
P.S.: Ich habe hier noch das Buch "21h Century C" liegen, bin über die
Einleitung noch nicht hinaus gekommen, aber es macht einen ganz
spannenden Eindruck.
Wolfgang H. schrieb:> Daniel, mach Nägel mit Köpfen - lass Dich von einem Experten beraten,> der sein Geld wert ist.
...der zufällig Wolfgang Horn heißt, und damit sein Unterhalt verdient?
Hi, Ranjid,
> ...der zufällig Wolfgang Horn heißt, und damit sein Unterhalt verdient?
Nicht mein Geschäft. Nur meine Entspannung.
Aber danke, dass Du mir Professionalität sogar in der Beratung zutraust.
Ciao
Wolfgang Horn
Mag sein, aber beworden hat er sich nicht und seine Meinung ist auch
immer vernünftiger Natur. Tipp: Durch C# kannst du strukturiert
programmieren. Das muss man in C auf uCs auch. Nutze das als Aufhänger.
Durch Willen und Interesse schaffst Du den Sprung schon.
Rosa
Hi!
Vielen Dank für eure konstruktiven Antworten!
Torsten R. schrieb:> ich würde mich an Deiner Stelle mal an dem oberen Ende, dass man noch> "Embedded" nennt, orientieren.
Danke für den Hinweis! Das ist auch ein sehr interessantes Thema. Im
Prinzip würde ich da sogar sehr gerne hin, sehe aber auch da Vorteile,
wenn ich dazu auch C-Code entwickeln kann, der auch im Unternehmen
verwendet wird. Ich werde die nächste Zeit mal die Augen offen halten,
was für Stellen ausgeschrieben werden.
Generell kann ich wirtschaftlich gesehen natürlich bessere
Entscheidungen treffen. Mir ist es jedoch sehr wichtig, dass mir die
Arbeit ansich Spaß macht. Und da sehe ich bei meinen aktuellen Aufgaben
einfach einen Stau. Außerdem sehe ich mich auch (noch) nicht in der
ausschließlichen Projektleitung / Teamleitung.
Berufserfahrung ade: Das würde ich so eng nicht sehen. In den Jahren
habe ich mehr als nur Syntax gelernt. :-)
Ich bin optimistisch, dass ich mit meiner bisherigen Erfahrung Punkten
kann.
Cha-woma M. schrieb:> Daniel schrieb:>> Ich bin seit 14 Jahren Software-Entwickler.>> Hmm, ca. 40 Jahre?> Für die Entwicklung woanders zu alt!
Nee, Mit 19 die Ausbildung abgeschlossen + die 14 Jahre Berufserfahrung.
Daniel
Es heißt sicher nicht "14 Jahre BE adé".
Den Umschwung kann man durchaus machen.
Ich selbst bin zwar meiner Linie treu, kann aber Leute voll und ganz
verstehen, die einen Wechsel durchführen möchten.
Wenn dir wirklich etwas daran liegt, dann probier' es! Es gibt schon
genug frustrierte Leute, die ihre Arbeit 9-to-5 runterspulen und sich
nicht mehr damit identifizieren, eine Veränderung aber scheuen, wie der
Teufel das Weihwasser. Das sind dann auch die, die am lautesten Johlen,
dass Veränderungen es nicht wert sind. Wenn sie es nicht durchbringen,
dann bitte auch der Nachbar nicht.
Der beste Begleiter ist die Motivation. Damit lernt man am schnellsten,
nachhaltigsten und langfristig am besten. Für den Wandel von SW zu HW
musst du aber in folgenden Disziplinen wirklich fit werden damit sich
AG ernsthaft für dich interessieren:
* Gutes elektrotechnisches Verstädnis
* Elektronische Bauelemente (µC allein reicht hier nicht!)
* Microcontroller-Architektur, 8 bit AVR reicht hier lange nicht
Die Funktionsweise/Aufbau von x86, ARMs, etc. muss sitzen
* Hochfrequenzdesign (Interfaces etc.)
* Elektronische Messgeräte, Debugging macht mehr als 50% der Zeit aus,
zu wissen, wie man mit was korrekt debugged/misst ist wichtig!
* ...?
Ansonsten macht dir hier wirklich jeder fachspezifische Bachelor mit >2
Jahren BE etwas vor. Am besten ist es, wenn du hier konkret etwas
vorweisen kannst. Schulungen, Zertifikate, Projekte, etc.
Als Hausnummer sage ich jetzt mal, damit es vorstellbar wird:
Eigene µC-basierende Platine erstellen (mit "großem" ARM/x86).
Konzept, Stromlauf, Layout, alles selbst. Interfaces z.B. PCIe und
Ethernet. Externe Komponenten wie RAM, Flash, MAC/PHY, ggf. FPGA dazu.
Funktion (die nach Gusto) getestet durch idealerweise automatisierte
Tests. Am Ende sollte es mit Industriequalität vergleichbar sein (keine
Freiluftverdrahtung, kein "läuft so lala", kein "ich wollt hier mal
spielen"). Wenn du sowas sicher hin bekommst, dann biste attraktiv für
AG.
Alles darunter "bisschen AVR", hier mal "8 Bit" und dort bisschen "CAN"
machen in den Entwicklungsabteilungen die Werkstudenten.
Kurzer Nachtrag wg. geistiger Umnachtung ;)
x86 bezieht sich natürlich im Kern auf Prozessoren. Ich meinte damit
einfach eine andere Architektur als ARM.
Am besten man macht beides.
Ein freiberuflicher Kollege entwickelt Embedded SW für Infineon Tricore
zu 75% Auslastung.
Daneben hat er zu 25% ein VisualStudio Projekt (C#).
Schaden tut das nicht. öfters muss in den Embedded-Abteilungen auch
einmal ein PC Programm geschrieben werden, z.B. Code-Generator
Hi!
Danke für die guten Hinweise!
Ralf schrieb:> Ansonsten macht dir hier wirklich jeder fachspezifische Bachelor mit >2> Jahren BE etwas vor. Am besten ist es, wenn du hier konkret etwas> vorweisen kannst. Schulungen, Zertifikate, Projekte, etc.
Weißt du welche Möglichkeiten es da gibt und welche von den Arbeitgebern
wirklich akzeptiert werden? Insbesondere zur zweiten Frage hilft mir
Google nicht mehr so gut weiter.
Den Bachelor nebenbei zu machen käme theoretisch auch in Frage, jedoch
frag ich mich, ob das für mich wirklich die richtige Lösung zum Ziel
ist.
Daniel
Hi, Daniel,
> Weißt du welche Möglichkeiten es da gibt und welche von den Arbeitgebern> wirklich akzeptiert werden?
Da muss man die Personaler von den Machern unterscheiden:
a) Der Personaler ist beispielsweise der weißrussische Azubi, der aus
einem Stapel Bewerbungen diejeningen herausfinden soll, auf denen die
Briefmarke korrekt klebt, in der es keine Tippfehler gibt und deren
Inhalt zu den Spezifikationen vom jugendlich-naiven Möchtegern-Helden
passt.
Ebenso seine Auftraggeber, die das "perfekte Talent" finden wollen.
b) Der Macher leitet eine Unternehmenseinheit besser, als Dilberts Boss
das könnte. Sein Vertrieb hat ihm mehr Arbeit beschert, als er mit
seinen vorhandenen Leuten verkraften kann. Er interessiert sich nicht
für Talente, auch nicht übermäßig für Tippfehler, aber für Leute, die
zum Anpacken kommen und weit weniger reden als ich hier.
Wegen ihrer Ausbildung können die Personaler nicht mal Deinen Wert
richtig einschätzen. (Dafür bestimmen sie die Höhe Deines Gehaltes.)
Dein Anspechpartner ist der Macher, der Dich dann an die Hand nimmt, zu
seinem Personal geht und sagt: "Den will ich!"
Der Rest, Daniel, ist nur noch Marketing in eigener Sache. Darüber gibt
es genug zu lesen. Diese Kontakte finden sich eher über VDI, VDI, GfO
und ähnliche Kreise.
Ciao
Wolfgang Horn
Sie sind aber die, die
hat eine
.
Jetzt ist eine Differe
Insbesondere zur zweiten Frage hilft mir
> Google nicht mehr so gut weiter.>> Den Bachelor nebenbei zu machen käme theoretisch auch in Frage, jedoch> frag ich mich, ob das für mich wirklich die richtige Lösung zum Ziel> ist.>> Daniel
Daniel schrieb:> Ralf schrieb:>> Ansonsten macht dir hier wirklich jeder fachspezifische Bachelor mit >2>> Jahren BE etwas vor. Am besten ist es, wenn du hier konkret etwas>> vorweisen kannst. Schulungen, Zertifikate, Projekte, etc.>> Weißt du welche Möglichkeiten es da gibt und welche von den Arbeitgebern> wirklich akzeptiert werden? Insbesondere zur zweiten Frage hilft mir> Google nicht mehr so gut weiter.
Gute Frage :-)
Ich habe da keine per-sé Lösung darauf, aber:
Schulungen & Zertifikate:
Trainings gibt es häufig von spezialisierten kleinen bis
mittelständischen Ing-Büros, die auch von großen Firmen bestellt werden
und die dortigen Ingenieure schulen. Von "FPGAs für Dummies" bis zu "C
on Microcontrollers for Experts" ist da alles dabei.
Pro: Es gbit wirklich gute Schulungen, auch der AG kann damit was
anfangen.
Contra: Privat seeeehr teuer, da biste mal locker bei 2kEUR für eine 3
Tagesschulung dabei.
Projekte:
Interessant wäre auch in der Freizeit Vereinen oder Organisationen
beizutreten und dortige Projekte zu unterstützen. Zum Beispiel im CCC
oder Amateurfunk. Vorteil: Es kostet nix bis sehr wenig, man hat einen
Erfahrungsaustausch mit Cracks und im Idealfall Projekte, die man dem AG
auch ruhig nennen kann.
Pro: Schnell und preiswert viel lernen
Contra: Keinen Zettel für den AG
Arbeit:
Wie bereits genannt, auch möglich: Du beginnst einen "Nebenjob", der
deiner aktuellen Qualifikation entspricht aber schon Richtung HW geht.
Z.B. Testprogramme schreiben für HW-Kollegen. Mit entsprechender
Motivation kannste dann Stück für Stück in der HW "wildern", bis dein
Nebenjob dann HW ist. Dann shiftest du den Nebenjob in einen Vollzeitjob
um und bist ohne Hauruck-Aktion in einem HW-Job gelandet, der zumindest
als Startrampe dient.
Pro: Klappt neben der jetzigen Arbeit und du setzt ohne Kündigung nicht
alles auf eine Karte.
Contra: Hört sich wieder einfacher an als es in Realität sein wird. Kann
sehr zäh werden.
Du mußt nicht Hardware entwickeln können. Du mußt nur Datenblätter lesen
und richtig interpretieren können.
Hol dir ein Entwicklungsboard und mach was damit. Das kannst du dann dem
zukünftigen Arbeitgeber als Arbeitsprobe zeigen. Es gibt in der
Embedded-Branche genügend Firmen die den Produktivcode von reinen
Softwareleuten schreiben lassen. Die Hartwerker machen das Design und
den Inbetriebnahmecode.