Autor

Florenz Klasen, Partner, Senior HR Consultant bei TechMinds

Florenz Klasen (Wirtsch.-Ing.)

Partner, Senior HR Consultant

Inhaltsverzeichnis

Suchen Sie Personal?

Das Wichtigste in Kürze

  • Rolle: Ein Embedded Software Engineer schreibt Software, die direkt in Geräten und Maschinen läuft.
  • Gehalt: Einstieg bei 55.000 bis 60.000 Euro, mit Erfahrung 70.000 bis 85.000, Spezialisten bis 100.000.
  • Handwerkszeug: Echtzeitbetriebssysteme und Bussysteme wie CAN, SPI oder I2C gehören dazu.

Ein Embedded Software Engineer, der auch Embedded Softwareentwickler oder kurz Embedded Entwickler genannt wird, schreibt Software, die direkt in Geräten und Maschinen läuft, also z.B. in Steuergeräten, Sensoren, Medizintechnik, Robotern oder Satelliten. Anders als in der klassischen Anwendungsentwicklung muss er dabei hart an der Hardwaregrenze arbeiten, mit begrenzten Ressourcen und häufig unter Echtzeit- und Sicherheitsanforderungen. Im Folgenden erfahren Sie, welche Aufgaben ein Embedded Software Engineer hat, welche Qualifikationen er mitbringen sollte und wie viel er verdient.

Embedded Software Engineer: Bedeutung & Key Facts

Die wichtigsten Fragen zum Berufsbild beantworten wir zunächst kurz im Überblick.

Was ist ein Embedded Software Engineer?

Als Embedded Software Engineer, auf Deutsch Embedded Softwareentwickler, wird derjenige bezeichnet, der eingebettete Systeme programmiert. Gemeint ist damit Software, die auf Mikrocontrollern oder Embedded-Prozessoren in einem Gerät läuft und dessen Funktionen steuert. Von seiner Arbeit hängt mit ab, ob ein Produkt zuverlässig, sicher und energieeffizient funktioniert.

Embedded Software Engineer oder Embedded Softwareentwickler: Gibt es einen Unterschied?

Nein, mit beiden Titeln ist dieselbe Position gemeint. Embedded Softwareentwickler ist die deutsche Berufsbezeichnung, Embedded Software Engineer der international übliche Titel, den vor allem Konzerne und Entwicklungsdienstleister verwenden, und Embedded Entwickler ist die Kurzform, die im Alltag benutzt wird. In Stellenanzeigen kommen alle drei Varianten vor, gemeint sind aber dieselben Anforderungen. Unterschiede gibt es nur bei benachbarten Titeln wie Firmware-Entwickler oder Embedded Systems Engineer, dazu weiter unten mehr. Die Schnittstellen reichen dabei bis zu Rollen wie Test Manager oder Informatiker.

Was macht ein Embedded Software Engineer?

Ein Embedded Software Engineer entwirft die Softwarearchitektur für Mikrocontroller und für Embedded-Linux-Systeme. Er programmiert die Treiber, die Kommunikationsprotokolle und die Applikationslogik, in der Regel in C oder C++, zunehmend auch in Rust, und er muss die Software direkt auf der Zielhardware testen. Dazu kommt, dass er mit Oszilloskop und Logic Analyzer nach Fehlern suchen, sich mit der Hardwareentwicklung abstimmen und die Software nach den Sicherheitsnormen seiner Branche absichern muss.

Was muss ein Embedded Software Engineer können?

Ein Embedded Software Engineer muss vor allem sehr gut in C und C++ programmieren können. Dazu sollte er verstehen, was auf der Platine passiert, also Elektronik und Prozessorarchitekturen. Mit Echtzeitbetriebssystemen und mit Bussystemen wie CAN, SPI oder I2C sollte er gearbeitet haben. In regulierten Branchen kommt hinzu, dass nach festen Entwicklungsprozessen gearbeitet werden muss, z.B. nach ISO 26262 oder IEC 62304.

Wie viel verdient ein Embedded Software Engineer?

Berufseinsteiger verdienen ca. 55.000 bis 60.000 Euro brutto im Jahr, im Durchschnitt sind es ca. 65.000 bis 69.000 Euro. Wer mehrere Jahre Erfahrung hat, kann mit 70.000 bis 85.000 Euro rechnen. Wenn sich ein Embedded Software Engineer auf funktionale Sicherheit spezialisiert oder eine Architekturrolle übernimmt, sind 90.000 bis 100.000 Euro möglich, in Konzernen teilweise auch mehr.

Embedded Software Engineer im Überblick: hardwarenahe Entwicklung in C/C++, mit Erfahrung 70.000 bis 85.000 €.

Embedded Software Engineer vs. Softwareentwickler vs. Hardware-Entwickler: Was sind die Unterschiede?

Die drei Rollen arbeiten häufig im selben Projekt, sie sind aber für unterschiedliche Dinge verantwortlich.

  • Der Embedded Software Engineer schreibt die Software, die im Gerät selbst läuft. Er muss dabei ständig berücksichtigen, wie viel Speicher zur Verfügung steht, ob das Timing eingehalten wird und wie viel Energie die Lösung verbraucht, und er sollte am physischen System testen und nicht nur im Simulator.
  • Der Softwareentwickler baut dagegen Anwendungen, Backends oder Apps. Er arbeitet auf Plattformen, bei denen Speicher und Rechenzeit in der Regel keine Rolle spielen, sodass die Hardware für ihn einfach vorhanden ist.
  • Der Hardware-Entwickler entwirft die Schaltungen und die Platinen, auf denen die Software später laufen soll. Wenn eine neue Platine zum ersten Mal in Betrieb genommen wird, müssen beide gemeinsam herausfinden, ob ein Fehler in der Software oder in der Schaltung liegt.

Zwei weitere Titel liegen dicht daneben. Der Firmware-Entwickler arbeitet besonders nah an den Bootloadern, den Treibern, der Peripherie und der Initialisierung von Mikrocontrollern mit wenig Ressourcen. Der Embedded Systems Engineer ist zusätzlich für die Systemarchitektur, die Integration von Hardware und Software und für sicherheitskritische Gesamtsysteme verantwortlich. In der Praxis überschneiden sich diese Bezeichnungen allerdings, sodass man immer auf den Zuschnitt der konkreten Stelle achten sollte.

Was macht ein Embedded Software Engineer? Aufgaben

Je nach Branche und Produkt liegen die Schwerpunkte unterschiedlich. Die wichtigsten Aufgaben haben wir im Folgenden zusammengestellt.

  • Anforderungen und Spezifikation stehen am Anfang jedes Projekts. Der Embedded Software Engineer muss verstehen, was das Gerät können soll, wie schnell es reagieren muss und wie viel Speicher zur Verfügung steht. Aus diesen Vorgaben erstellt er die technische Spezifikation für die Module, die Treiber und die Plattformbausteine.
  • Architektur und Design legen fest, wie die Software später aufgebaut ist. Der Embedded Software Engineer muss entscheiden, ob ein Echtzeitbetriebssystem eingesetzt wird oder ob Embedded Linux die bessere Wahl ist, und er sollte die Frameworks und die Toolchain so auswählen, dass sie zu den vorhandenen Ressourcen passen.
  • Die hardwarenahe Programmierung nimmt den größten Teil seiner Zeit in Anspruch. Der Embedded Software Engineer schreibt die Treiber, die Bootloader, die Kommunikationsstacks und die Applikationslogik, in der Regel in C oder C++. Er muss dabei mit Interrupts, mit DMA und mit der direkten Programmierung von Registern umgehen können.
  • Integration und Bring-up finden gemeinsam mit der Elektronikentwicklung statt. Wenn eine neue Platine zum ersten Mal in Betrieb genommen wird, muss der Embedded Software Engineer gemeinsam mit dem Hardware-Entwickler klären, ob ein Fehler in der Software oder in der Schaltung liegt.
  • Test und Absicherung reichen von Unit- und Integrationstests über Hardware-in-the-Loop-Aufbauten bis zur statischen Codeanalyse. In sicherheitskritischen Projekten muss der Embedded Software Engineer zusätzlich Nachweise erbringen, im Fahrzeug nach ISO 26262 und in der Medizintechnik nach IEC 62304.
  • Performance- und Ressourcenoptimierung sind in fast jedem Projekt nötig, weil die Randbedingungen eng sind. Der Embedded Software Engineer analysiert das Timing und muss anschließend die Latenz, den Speicherbedarf, die CPU-Last und den Energieverbrauch so weit senken, dass das Produkt seine Vorgaben einhält.
  • Konnektivität und Security haben in den letzten Jahren deutlich an Bedeutung gewonnen. Die Geräte hängen an Bussystemen und an Netzwerken, Updates sollen über die Luft eingespielt werden, und die Software muss gegen Angriffe abgesichert sein. Seit dem Cyber Resilience Act ist das eine Pflicht, die der Embedded Software Engineer in seinen Projekten umsetzen muss.
  • Dokumentation und Prozesse gehören ebenfalls zu seinen Aufgaben. Der Embedded Software Engineer arbeitet mit einer Versionsverwaltung, er richtet Continuous Integration für die Embedded-Targets ein, und er sollte seine Entwicklungsschritte so dokumentieren, dass sie später nachvollziehbar sind.

Wie viel davon auf den einzelnen Entwickler entfällt, hängt in der Regel von der Größe des Unternehmens ab. In einem kleinen Team muss ein Embedded Software Engineer alles selbst machen, von der Spezifikation bis zur Freigabe. In einer großen Entwicklungsabteilung gibt es dagegen eigene Kollegen für Test, Architektur und Security, sodass er einen großen Teil seiner Zeit für die Abstimmung mit ihnen aufwenden muss.

Aufgaben eines Embedded Software Engineers: Architektur, Treiber, Bring-up, Tests nach ISO 26262, Security.

Anforderungen an einen Embedded Software Engineer: Ausbildung & Qualifikationen

  • Ein Studium in Elektrotechnik, Informatik, technischer Informatik oder Mechatronik wird in der Regel vorausgesetzt. Es gibt aber auch Embedded Software Engineers, die über die Technikerlaufbahn in diese Position gekommen sind. Das funktioniert dann, wenn sie genügend Praxis mitbringen und ihre bisherigen Projekte vorzeigen können.
  • Programmiersprachen sind das wichtigste Werkzeug in diesem Beruf. Sehr gute Kenntnisse in C werden vorausgesetzt, und auch C++ sollte ein Embedded Software Engineer sicher beherrschen. In den Stellenanzeigen taucht inzwischen häufiger Rust auf. Python muss er zumindest so weit können, dass er damit eigene Tests und kleine Hilfswerkzeuge schreiben kann.
  • Systemwissen bezieht sich auf die Mikrocontroller, mit denen er tatsächlich arbeitet. Wer beispielsweise auf einer ARM-Cortex-M-Architektur entwickelt, sollte deren Aufbau kennen. Dazu kommt der Umgang mit einem Echtzeitbetriebssystem, in der Regel FreeRTOS oder Zephyr. Sobald die Systeme größer werden, muss sich ein Embedded Software Engineer außerdem mit Embedded Linux auskennen, das meistens mit Yocto gebaut wird.
  • Elektronikverständnis braucht er, weil die Fehler in diesem Beruf häufig an der Grenze zwischen Software und Hardware liegen. Ein Embedded Software Engineer sollte deshalb einen Schaltplan lesen können. Er sollte außerdem ein Oszilloskop bedienen können und wissen, wie ein Signal auszusehen hat, damit er erkennt, wenn etwas nicht stimmt.
  • Protokolle und Schnittstellen hängen davon ab, welches Produkt entwickelt wird. Im Fahrzeug wird in der Regel über CAN kommuniziert, für einfachere Steuergeräte auch über LIN. Auf der Platine selbst sind SPI, I2C und UART üblich. Wenn ein Gerät vernetzt ist, muss der Embedded Software Engineer zusätzlich mit Ethernet oder mit Funkstandards wie Bluetooth LE umgehen können.
  • Prozesskenntnisse setzen inzwischen die meisten Arbeitgeber voraus. Mit Git und mit CI/CD sollte ein Embedded Software Engineer selbstverständlich arbeiten können. Je nach Branche muss er außerdem wissen, wie funktionale Sicherheit und Security-Anforderungen im Entwicklungsprozess nachgewiesen werden.
  • Branchenstandards unterscheiden sich je nachdem, in welcher Domäne ein Embedded Software Engineer arbeitet. Im Automotive-Bereich sollte er AUTOSAR kennen, dazu die Normen ISO 26262 und ISO/SAE 21434. In der Industrie gilt die IEC 61508, in der Luftfahrt die DO-178C. Zertifikate wie Functional Safety Engineer, iSAQB CPSA-F oder ISTQB sind kein Muss. In Unternehmen mit stark formalisierten Prozessen können sie allerdings ein Plus sein.
  • Gutes Deutsch und Englisch werden ebenfalls erwartet. Die Entwicklungsteams sind in der Regel international zusammengesetzt, und die Dokumentation wird häufig auf Englisch geschrieben.

Kein Kandidat bringt alle diese Punkte gleichzeitig mit. Die meisten Arbeitgeber legen in der Praxis auf zwei oder drei Anforderungen besonderen Wert. Der Rest lässt sich im Projekt lernen. Welche Anforderungen wirklich zählen, sollte deshalb vor der Suche geklärt werden, weil die Stelle sonst über Monate unbesetzt bleiben kann.

Aus der TechMinds-Praxis: C++ ab Version 11, und die Kündigungsfrist zählt. Ein Entwickler von Batteriemanagementsystemen suchte einen Senior Embedded Software Engineer, der C++ in den Versionen 11 bis 17 beherrscht und außerdem mit AUTOSAR und den Vector-Werkzeugen gearbeitet hat. Wer nur reines C mitbrachte, kam in diesem Verfahren nicht weiter. Gescheitert ist es am Ende trotzdem nicht an der Technik, sondern an der Kündigungsfrist: Drei Monate waren für den geplanten Projektstart zu lang. In diesem Feld ist die Verfügbarkeit oft knapper als das Profil. Nennen Sie deshalb in der Ausschreibung den C++-Standard, die Toolchain und einen Starttermin, der auch realistisch ist.

Anforderungen an Embedded Software Engineers: exzellentes C/C++, RTOS und Linux, Elektronik, Bussysteme.

Embedded Software Engineer: Gehalt

Embedded-Kompetenz wird überdurchschnittlich vergütet. Berufseinsteiger können mit ca. 55.000 bis 60.000 Euro brutto im Jahr rechnen, und der Marktdurchschnitt liegt je nach Quelle bei 65.000 bis 69.000 Euro.

Nach mehreren Jahren Berufserfahrung sind 70.000 bis 85.000 Euro üblich, wobei in Baden-Württemberg, Bayern und Hamburg in der Regel am oberen Rand gezahlt wird. Architekten, Team Leads und Spezialisten für funktionale Sicherheit kommen auf 90.000 bis 100.000 Euro, und in Konzernen der Halbleiter-, Automotive- oder Luftfahrtbranche kann es auch mehr sein.

Embedded-Gehalt: mit Erfahrung 70.000 bis 85.000 €, Architekten und Spezialisten ab 90.000 €, Einstieg ab 55.000 €.

Einordnung: In der TechMinds Gehaltsstudie IT & Engineering steht diese Rolle auf der Ebene Senior Professional im Fachbereich Softwareentwicklung. Dort lassen sich die Gehaltsspannen aller 142 Tech-Rollen vergleichen.

Wie wird man Embedded Software Engineer?

Der übliche Weg führt über ein Studium der Elektrotechnik, der technischen Informatik oder der Mechatronik. Viele Embedded Software Engineers haben schon im Studium oder privat erste Projekte auf Mikrocontrollern umgesetzt. Eingestiegen wird in der Regel als Entwickler in einer Produktfirma oder bei einem Entwicklungsdienstleister, weil man dort in kurzer Zeit viele Plattformen und Branchen kennenlernen kann.

Mit wachsender Erfahrung stehen einem Embedded Software Engineer mehrere Wege offen. Er kann sich als Senior Engineer weiter vertiefen, Softwarearchitekt werden oder sich auf funktionale Sicherheit spezialisieren. Wer führen möchte, kann über die Positionen Team Lead und Head of Development bis in die Entwicklungsleitung aufsteigen. Wenn er zusätzlich Kenntnisse in Security oder in KI aufbaut, gehört er zu den Profilen, die am Markt besonders gesucht werden.

KI in Embedded Systems: Was sich für Embedded Software Engineers ändert

Künstliche Intelligenz wandert zunehmend auf das Gerät selbst. Unter den Stichworten Edge AI und TinyML laufen Modelle für die Bilderkennung, die Anomalieerkennung oder die Sprachsteuerung direkt auf dem Mikrocontroller, ohne dass eine Cloud beteiligt sein muss. Die Gründe dafür liegen in der Latenz, im Datenschutz und im Energieverbrauch. Ein Embedded Software Engineer muss solche Modelle deshalb integrieren, quantisieren und für sehr knappe Ressourcen optimieren können.

Auch die Entwicklungsarbeit selbst verändert sich. Codeassistenten können inzwischen brauchbaren Treiber- und Testcode schreiben, die Nachweise können sie aber nicht ersetzen, weil in sicherheitskritischer Software jede Zeile verifiziert werden muss. Ein Embedded Software Engineer, der sein Handwerk beherrscht und sich zusätzlich mit Edge AI und Security auskennt, deckt eine Kombination ab, für die es derzeit deutlich mehr offene Stellen als Kandidaten gibt.

Ihr Headhunter für Embedded Software Engineers

Sie suchen Embedded Software Engineers oder Embedded Softwareentwickler, die Ihre Produkte zuverlässig, sicher und effizient machen? TechMinds kennt diese enge Zielgruppe aus Mandaten in der Raumfahrt, der Halbleiterindustrie und im Automotive-Bereich und erreicht sie über die diskrete Netzwerk- und Direktansprache. Über 86 % unserer Suchprojekte schließen wir erfolgreich ab. Sprechen Sie uns gerne an, wenn Sie ein vertrauliches Erstgespräch wünschen. Vorgehen, Kennzahlen und Ablauf: der Headhunter Softwareentwicklung.

Grafiken: Die Infografiken dürfen gerne verwendet und geteilt werden. Bitte nennen Sie als Quelle diesen Beitrag oder techminds.de

Überregional tätig

Headhunter im ganzen DACH-Raum

Besetzte Positionen

Verwandte Rollen, die TechMinds besetzt