StellenbeschreibungIngenieur für eingebettete C++-Software (Mitte/Senior)Kritische/verteidigungsorientierte SystemeWir suchen einen Ingenieur, der in der Lage ist, die volle technische Verantwortung für die Entwicklung eingebetteter Software für Systeme mit erhöhter Zuverlässigkeit zu übernehmen. Die Arbeit beinhaltet die Teilnahme am gesamten Zyklus der Erstellung eines Software- und Hardwarekomplexes – von der Bildung technischer Anforderungen bis hin zur Integration, Validierung und Unterstüt
StellenbeschreibungIngenieur für eingebettete C++-Software (Mitte/Senior)Kritische/verteidigungsorientierte Systeme
Wir suchen einen Ingenieur, der in der Lage ist, die volle technische Verantwortung für die Entwicklung eingebetteter Software für Systeme mit erhöhter Zuverlässigkeit zu übernehmen. Die Arbeit beinhaltet die Teilnahme am gesamten Zyklus der Erstellung eines Software- und Hardwarekomplexes – von der Bildung technischer Anforderungen bis hin zur Integration, Validierung und Unterstützung in der Produktion.
Die Rolle konzentriert sich auf einen Ingenieur, der Entscheidungen trifft, mit echtem „Eisen“ arbeitet und die Folgen von Fehlern in kritischen Systemen versteht.
Hauptverantwortungsbereich
- Architektur und Implementierung eingebetteter Software für Systeme mit erhöhten Anforderungen an die Zuverlässigkeit
- Korrekte Integration von Software mit Hardware
- Vorhergesagtes Verhalten des Systems im Normal- und Notfallmodus
- Technische Gültigkeit von Architekturlösungen
- Konformität des Codes mit Anforderungen an Sicherheit, Zuverlässigkeit und Rückverfolgbarkeit
Hauptaufgaben
- Entwicklung von System- und C++-Anwendungssoftware für eingebettete Plattformen
- Architekturdesign unter Berücksichtigung von Speicher-, CPU- und Stromverbrauchsbeschränkungen
- Arbeiten mit MCU / SoC, Low-Level Schnittstellen (SPI, I2C, UART, CAN, GPIO)
- Implementierung von Treibern, HAL-Ebene, Austauschprotokolle
- Hardware-Software-Co-Design: Beteiligung an der Komponentenauswahl, Analyse elektrischer Schaltkreise, Auswirkungen auf PCB-Lösungen
- Integration mit Sensoren, Aktoren, Funkmodulen, Leistungseinheiten
- Debug und Fehleranalyse an realen Geräten (JTAG/SWD, Oszilloskop, Logik). (Analysator)
- Suche und Beseitigung von Race Conditions, Speicherbeschädigung, Timing-Verstößen
- Optimierung des deterministischen Verhaltens des Systems
- Teilnahme an Codeüberprüfung und technischem Audit
Obligatorische technische Anforderungen
- Tiefgehende Kenntnisse von C++
- Mitte: sicherer Umgang mit modernem C++
- Senior: Verständnis von Standards, ABI, Kompilierung und Verknüpfung Mechanismen
- Entwicklungserfahrung für Bare-Metal oder RTOS
- Verständnis von Speicherbetrieb (Stack/Heap), DMA, Interrupts, Timer
- Praktische Erfahrung in der Arbeit mit realer Ausrüstung
- Erfahrung im Schreiben von Low-Level-Code ohne Abhängigkeit von schweren Frameworks
- Fähigkeit, Schaltpläne zu lesen und Daten ohne einen „Interpreter“ zu schreiben
- Verständnis der Prinzipien der Elektronik (analog/digital). Teil)
Zusätzliche Kompetenzen (von Vorteil)
- Erfahrung in der Entwicklung eigener Platinen oder Prototypen
- Arbeiten mit Echtzeitsystemen
- Schreiben von Unit-/Integrationstests für eingebettete Systeme
- Erfahrung mit Systemen erhöhter Zuverlässigkeit (kritisch, militärisch)
- Verständnis der Prinzipien der Fehlertoleranz und des ausfallsicheren Verhaltens
Erwartungen in der Mitte Ebene
- Selbstständige Implementierung von Modulen
- Verantwortung für die Stabilität des eigenen Codes
- Korrekte Integration mit Hardware
Senior
- Systemarchitektur
- Einfluss auf die Wahl von MCU, Komponenten und Engineering-Lösungen
- Technische Führung
- Betreuung von Ingenieuren
- Annahme kritischer Engineering-Lösungen
Wir sind nicht nach
- „Nur Software“ suchen, ohne den Hardware-Teil zu verstehen
- Ein Entwickler, der nicht mit echter Hardware gearbeitet hat