Wie werde ich ein Embedded Software Engineer? Lernen Sie den Weg der 5 Schritte zum Erlernen der eingebetteten Softwaretechnik
Table of Contents:
- Einführung in die embedded Systeme
- Was sind embedded Systeme?
- Schritt 1: Erlernen der Programmiersprache C
- Schritt 2: Grundlagen der Elektronik erlernen
- Schritt 3: Einstieg mit Arduino
- Schritt 4: Fortgeschrittenes Arbeiten mit Mikrocontrollern
- Schritt 5: Nie aufhören zu lernen
- Ressourcenliste
- FAQ
📚 Einführung in die embedded Systeme
Willkommen zu diesem Video! Wenn Sie ein eingebetteter Softwareingenieur werden möchten oder bereits ein Softwareingenieur sind und für Unternehmen wie Tesla, BMW, Airbus, Boeing, SpaceX, Apple und viele andere arbeiten möchten, die eingebettete Systeme verwenden, dann ist dieses Video genau das Richtige für Sie. Ich werde erklären, was eingebettete Systeme sind und was Sie lernen müssen, um mit eingebetteten Systemen arbeiten zu können. Bevor wir jedoch in das Thema einsteigen, möchte ich mich kurz vorstellen. Mein Name ist Florian und ich bin ein Informatikprofessor aus Deutschland. Ich habe einen Großteil meiner Karriere mit eingebetteten Systemen gearbeitet, sowohl in der akademischen Welt als auch zuvor, als ich ein Softwareengineering-Team mit mehr als 100 Softwareingenieuren geleitet habe, die eingebettete Systeme für Automobilanwendungen entwickelt haben. Mein Ziel ist es, Ihnen als Softwareingenieur dabei zu helfen, zu wachsen. Wenn Sie also Interesse an Software Engineering haben und Ihre Karriere weiterentwickeln möchten, abonnieren Sie bitte diesen Kanal. Und wenn Ihnen dieses Video hilfreich war, dann geben Sie bitte einen Daumen nach oben.
Was sind embedded Systeme?
Eingebettete Systeme sind in der heutigen Zeit in vielen Alltagsgegenständen vorhanden. Ein eingebettetes System ist ein Computersystem, das in ein mechanisches oder elektronisches System eingebettet ist und einer bestimmten Funktion gewidmet ist. Beispiele dafür sind der Mikrocontroller in Ihrer Kaffeemaschine, der Mikrocontroller in Ihren Glühbirnen, der die RGB-Farbe ändern kann, die Steuereinheit Ihres Autos, die Sie bei einem Unfall schützt und die Airbags auslöst, der Flugcontroller in einem Flugzeug oder auch das AirTag, das Ihre Positionsdaten bereitstellt. Selbst Ihre AirPods enthalten ein eingebettetes System.
Schritt 1: Erlernen der Programmiersprache C
Der erste Schritt, den Sie unternehmen sollten, um eingebettete Systeme zu erlernen und ein eingebetteter Softwareingenieur zu werden, besteht darin, die Programmiersprache C zu erlernen. Obwohl es mittlerweile Alternativen wie C++ gibt, wird immer noch viel C in eingebetteten Systemen verwendet. C bietet die Grundlagen, die Sie später benötigen werden, selbst wenn Sie eine andere Sprache wie C++ verwenden. Mit C haben Sie eine hohe Kontrolle über den Mikrocontroller und das eingebettete System und es bietet eine enge Verbindung zur Hardware. Gute Nachrichten sind, dass Sie C sogar auf Ihrem Desktop-Computer, egal ob Mac, Linux oder Windows, erlernen können. Sie müssen nicht direkt mit einem eingebetteten System beginnen. Tatsächlich ist es empfehlenswert, nicht gleich mit einem eingebetteten System zu starten. Beginnen Sie in Ihrer Desktop-Umgebung, da Sie sich so auf das Lernen einer Sache zur gleichen Zeit konzentrieren können, was viel einfacher ist als das gleichzeitige Erlernen von C und eingebetteten Systemen.
Schritt 2: Grundlagen der Elektronik erlernen
Wenn Sie sich mit eingebetteten Systemen beschäftigen, sind Sie sehr nah an der Hardware. Es ist definitiv von Vorteil, die Grundlagen der Elektronik zu verstehen. Sie sollten wissen, was ein Widerstand ist, wie ein Analog-Digital-Wandler funktioniert, welche Grenzen es gibt und welche Dinge Sie Ihrem Mikrocontroller für ein bestimmtes Projekt hinzufügen müssen. Sie sollten also ein grundlegendes Verständnis für die Elektronik haben, um wirklich in diesem Bereich arbeiten zu können.
Schritt 3: Einstieg mit Arduino
Der dritte Schritt besteht darin, mit Arduino einzusteigen. Das Arduino-System hat zwei Vorteile, die Ihnen als Anfänger im Bereich eingebetteter Systeme helfen. Erstens abstrahiert es die Hardwarefunktionalität und vereinfacht Ihnen so die Arbeit mit der Hardware. Es gibt bereits viele Bibliotheken und Funktionen, die im Arduino-System enthalten sind und die einige der schwierigen Aufgaben, die in C auf einem Mikrocontroller schwer umzusetzen sind, erleichtern. Das ist besonders für Anfänger hilfreich. Zweitens gibt es eine große Arduino-Community, die Ihnen in zweifacher Hinsicht hilft. Zum einen finden Sie immer Projektideen und Vorstellungen von Projekten. Außerdem werden Sie oft die benötigten Kits, die alle verschiedenen elektronischen Teile für ein Projekt bereitstellen, finden. Zum anderen gibt es eine große Community, die Ihnen bei Problemen hilft. Die Chancen stehen gut, dass Sie nicht der Erste sind, der ein bestimmtes Problem hat, und die Fragen sind bereits auf Plattformen wie Stack Overflow gestellt und beantwortet worden. Das ist definitiv ein großer Pluspunkt, wenn Sie mit etwas beginnen, das eine große Community hat.
Schritt 4: Fortgeschrittenes Arbeiten mit Mikrocontrollern
Sobald Sie sich mit Arduino sicher fühlen und vertraut sind, sollten Sie den nächsten Schritt zu einem "bare bone" Mikrocontroller machen. Sie können beispielsweise die ST-Nucleo-Boards verwenden, um ein Gefühl für Mikrocontroller zu bekommen. Damit haben Sie mehr Kontrolle über den Mikrocontroller und weniger vordefinierte Bibliotheken, die Ihnen den Zugang zum Mikrocontroller erleichtern. Sie erhalten einen vollwertigen JTAG-Debugger-Anschluss und ähnliche Funktionen, was Ihnen mehr Kontrolle verschafft. Auf der anderen Seite bedeutet das natürlich auch, dass Sie mehr Code schreiben müssen, um Ihr Projekt zum Laufen zu bringen.
Schritt 5: Nie aufhören zu lernen
Der fünfte und letzte Schritt besteht darin, niemals aufzuhören zu lernen. Sie haben möglicherweise bereits mehrere Projekte mit Arduino abgeschlossen oder vielleicht Ihr erstes oder zweites Projekt mit ST-Nucleo-Boards oder ähnlichen Boards. Nun geht es darum, von Projekt zu Projekt zu gehen, die Komplexität und Schwierigkeit der Projekte zu steigern und die Kunst des eingebetteten Softwareingenieurwesens zu meistern. Es gibt viele großartige Dinge, die Sie mit eingebetteten Systemen erreichen können. Es gibt aufregende Projekte wie Heimautomation, den Bau eines selbstfahrenden Autos oder die Robotik. Es lohnt sich wirklich, eingebettete Systeme zu lernen. Es ist ein äußerst interessantes und spaßiges Gebiet.
Ressourcenliste
Für jeden der fünf Schritte werde ich eine Liste mit empfohlenen Ressourcen erstellen. Den Link zu dieser Liste finden Sie in der Beschreibung dieses Videos. Ich werde diese Liste auch von Zeit zu Zeit aktualisieren, falls sich etwas ändert. Ich bin gespannt, wie es Ihnen bei der Erkundung eingebetteter Systeme und beim Bau Ihres ersten eingebetteten Systemprojekts ergeht. Bitte lassen Sie es mich in den Kommentaren unten wissen. Ich bin neugierig, was Ihr erstes Projekt ist, was Sie bauen und welche Erfahrungen Sie gemacht haben. Wenn Ihnen dieses Video hilfreich war und Sie es mochten, geben Sie bitte einen Daumen nach oben. Das hilft mir bei dem YouTube-Algorithmus. Und wenn Sie sich für Software Engineering und eingebettete Systeme interessieren, wenn Sie Ihre Karriere auf die nächste Stufe bringen möchten oder einfach mehr über Software Engineering erfahren möchten, abonnieren Sie bitte meinen Kanal. Ich freue mich darauf, Sie im nächsten Video zu sehen. Danke.
FAQ
Q: Welche Programmiersprache sollte ich lernen, um mit eingebetteten Systemen zu arbeiten?
A: Eine der wichtigsten Programmiersprachen in diesem Bereich ist C. Es lohnt sich, C zu lernen, da es immer noch viel in eingebetteten Systemen verwendet wird.
Q: Bietet Arduino eine gute Einführung in eingebettete Systeme für Anfänger?
A: Ja, Arduino ist eine großartige Einstiegsoption für Anfänger. Es bietet Abstraktionsschichten und eine große Community, die bei Problemen helfen kann.
Q: Wie kann ich meine Kenntnisse in eingebetteten Systemen weiter vertiefen?
A: Wenn Sie bereits mit Arduino vertraut sind, können Sie den Übergang zu Mikrocontrollern wie ST-Nucleo-Boards machen, um mehr Kontrolle und Flexibilität zu haben.
Q: Gibt es Ressourcen, die Sie für das Erlernen eingebetteter Systeme empfehlen können?
A: In der Ressourcenliste am Ende dieses Artikels finden Sie eine Auswahl empfohlener Ressourcen für jeden Schritt des Lernprozesses.
Q: Sind eingebettete Systeme eine lohnende Karrierewahl?
A: Ja, eingebettete Systeme bieten viele spannende Möglichkeiten. Es ist ein aufregendes Feld, in dem Sie innovative Projekte verwirklichen können.