Beschreibung
Aufgaben:Software-Design
• Ausspezifikation von Schnittstellen auf Hardware-Ebene
• Design bzw. Anforderungsspezifikation an die OS-Umgebung
• Design von automatisierten Tests
Steuerung externer Dienstleister
• Steuerung und Überwachung externer Hersteller und Dienstleister
• Qualitätssicherung, Code-Reviews
Entwicklung
• Entwicklung von Software-Komponenten von der Anwendungs- bis zur Hardware-Ebene
• Entwicklung von automatisierten Abnahme- und Integrationstests
Anforderungen:
• langjährige praktische Erfahrung in der C++-Entwicklung, auch mit modernem C++ (nach C++14 Standard) und der Standard Template Library (STL)
• Erfahrung mit der C++-Entwicklung für Linux im Embedded Bereich und im Bereich verteilter Anwendungen
• Umfassende Linux-Kenntnisse, sicherer Umgang mit der Linux-Shell
• Erfahrung in der Entwicklung von Unit-Tests und einschlägiger Unit-Testing-Frameworks
• Erfahrung mit git und cmake
• Erfahrung mit Codeanalysetools wie cpplint, cppcheck, valgrind, SonarQube
• Erfahrung mit Buildroot, LEDE, OpenWRT oder OpenADK
• Kenntnisse vom gtest Unit-Testing Framework
• Erfahrung mit modernen CI/CD-Umgebungen
• Erfahrung mit Entwicklung für PC104-Plattform inklusive Anbindung von Geräten über RS232. RS422, RS485, I2C
• Erfahrung in der strukturierten Fehleranalyse, Profiling (Performance) und Fehlerbehebung
Start & Dauer:
Ab Oktober, bis zunächst Ende 2017, mit Option für 2018