Was macht ein Embedded Software-Entwickler?
Embedded Software steckt in Geräten, die niemand als Computer bezeichnet: in der Motorsteuerung eines Autos, im Wechselrichter einer Solaranlage, in einer Insulinpumpe, in einer Verpackungsmaschine. Embedded Software-Entwickler schreiben diesen Code, meist in C oder C++, teilweise in Rust, und bringen ihn auf Mikrocontroller, die mit wenigen Kilobyte Speicher und ohne vollwertiges Betriebssystem arbeiten. Zur Arbeit gehört das Ansteuern von Sensoren und Aktoren über Schnittstellen wie SPI, I2C, CAN oder Ethernet, das Konfigurieren von Timern und Interrupts, das Einbinden eines Echtzeitbetriebssystems und das Schreiben von Treibern.
Ein großer Teil des Alltags besteht aus Fehlersuche. Wenn ein Steuergerät nach vier Stunden Dauerlauf hängen bleibt, hilft kein Stacktrace im Browser, sondern ein Debugger am JTAG-Anschluss, ein Logic Analyzer oder ein Oszilloskop. Dazu kommen Tests auf Zielhardware, automatisierte Tests auf dem Entwicklungsrechner, Code-Reviews und Abstimmung mit Elektronikentwicklung, Mechanik, Test und Produktion. In regulierten Bereichen wie Automotive, Medizintechnik oder Luftfahrt gehört Dokumentation nach Normen wie ISO 26262 oder IEC 62304 fest dazu.
Wie wird man Embedded Software-Entwickler?
Der übliche Weg führt über ein Studium in Elektrotechnik, Technischer Informatik, Informatik oder Mechatronik, als Bachelor oder Master. Auch der Weg über eine Ausbildung zum Elektroniker für Geräte und Systeme oder Fachinformatiker mit anschließender Weiterbildung oder Berufserfahrung ist verbreitet, besonders im Maschinenbau und in kleineren Firmen. Quereinstieg aus der reinen Anwendungsentwicklung ist möglich, verlangt aber ernsthafte Einarbeitung in Hardwaregrundlagen, Datenblätter und Registerprogrammierung. Wer privat mit STM32, ESP32 oder Arduino Projekte gebaut und dokumentiert hat, kann das im Bewerbungsgespräch gut belegen.
Was der Beruf verlangt
Die Arbeit ist geduldig und detailgenau. Fehler zeigen sich oft nur unter bestimmten Temperaturen, Timings oder Lastbedingungen, und ihre Ursache liegt manchmal nicht in der Software, sondern in der Platine. Wer schnelle Ergebnisse und kurze Feedbackzyklen braucht, wird sich schwer damit tun. Englisch ist Pflicht, weil Datenblätter, Normen und Toolchains kaum anders vorliegen.
Die Arbeitszeiten sind meist regulär, mit Gleitzeit und teilweise Homeoffice – letzteres eingeschränkt, weil Hardware im Labor steht. Vor Serienfreigaben, Messen oder Zertifizierungsterminen wird es eng, Überstunden sind dann normal. Dienstreisen zu Zulieferern, Kunden oder Prüflabors kommen vor. Die Werkzeugketten sind teils alt und sperrig, und Legacy-Code, den seit fünfzehn Jahren niemand angefasst hat, ist keine Ausnahme.
Aussichten
Die Nachfrage ist stabil hoch. Elektromobilität, Leistungselektronik, Medizingeräte, Industrieautomatisierung und vernetzte Produkte brauchen alle Software auf kleinen Rechnern, und der Nachwuchs ist knapper als in der Webentwicklung. Konjunkturelle Dellen in der Automobilbranche schlagen allerdings durch, gerade bei Entwicklungsdienstleistern. Entwicklungswege führen in die Spezialisierung – funktionale Sicherheit, Security, Echtzeitsysteme, Betriebssystemnahe Entwicklung – oder in Rollen als Softwarearchitekt, Teamleitung oder Projektleitung. Wechsel in die Systementwicklung oder ins technische Consulting sind ebenfalls üblich.