About this role
General Motors is seeking a Staff Software Engineer to design and develop ADAS embedded platform software. The role focuses on safety-critical application development, automation scripting, middleware integration, and debugging/validation on target hardware.
Key Responsibilities
- Design and develop safety-critical platform applications in C and C++14+
- Create Python automation scripts and multithreaded applications
- Work with interprocess communication stacks and middleware frameworks (DDS, Zenoh, MQTT)
- Debug, test, and validate software on target hardware for production deployment
- Assess and integrate new open-source technologies focusing on performance, security, and compatibility
Technical Overview
You will build platform software for ADAS using C and C++14+ plus Python automation, with embedded Linux and Linux kernel development as core competencies. The role includes Buildroot/Yocto workflows, Bazel/CMake build systems, RTOS understanding, and communication middleware such as DDS, Zenoh, and MQTT, with debugging and network analysis using GDB, tcpdump, and Wireshark.
Ideal Candidate
The ideal candidate is a senior embedded/platform software engineer with 12+ years of C/C++ experience and strong Embedded Linux plus Linux kernel development background. They have hands-on Buildroot/Yocto experience (recipe creation, layer management, image customization) and can build with Bazel and CMake. They are comfortable with real-time operating systems (RTOS), DDS/Zenoh/MQTT middleware, and debugging/network analysis using GDB, tcpdump, and Wireshark.
Must-Have Skills
12+ years of experience in advanced programming with C or C++ (C++11 or newer preferred) for application developmentHands-on experience with Buildroot/Yoctoincluding recipe creationlayer managementand image customizationStrong expertise in Embedded Linux and Linux kernel developmentProficiency in build systems such as Bazel and CMakeDeep understanding of embedded systems development and real-time operating systems (RTOS)Experience with topic-based communication middleware (e.g.DDSZenohMQTT)Skilled in Linux debugging tools like GDBProficiency in network analysis using tcpdump and Wireshark
Nice-to-Have Skills
Experience developing on and for embedded Linux / POSIX systems / SafeRTOSDemonstrated experience buildingtestingand shipping production softwareExperience with safety critical development (FDAFAAAutomotive)Experience with networkingcamera hardwareor NVME storageExperience with QNXVxWorksSafeRTOS or similar
Tools & Platforms
BuildrootYoctoBazelCMakeJenkins (not mentioned in this job)DDSZenohMQTTGDBtcpdumpWiresharkISO-14229QNXVxWorksSafeRTOS
Required Skills
CC++14+Pythonmultithreaded applicationsDDSZenohMQTTEmbedded LinuxLinux kernel developmentBuildrootYoctoBazelCMakeRTOSGDBtcpdumpWiresharkISO-14229QNXVxWorksSafeRTOS
Hard Skills
CC++C++14+C++11 or newerPythonmultithreaded applicationsinterprocess communication stacksmiddleware frameworksDDSZenohMQTTsafety-critical platform applicationsEmbedded LinuxLinux kernel developmentBuildrootYoctorecipe creationlayer managementimage customizationBazelCMakeembedded systems developmentreal-time operating systems (RTOS)Linux debugging toolsGDBnetwork analysistcpdumpWiresharkUDS standards (ISO-14229)QNXVxWorksSafeRTOSembedded LinuxPOSIX systemsSafeRTOStopic-based communication middleware
Soft Skills
ensure high software quality standardsgood software design practicesrequirement gatheringarchitecture definitionunit testingcode reviewsdebugging and validation supportcollaboration across teams (implied by platform integration)
Keywords for Your Resume
Staff Software EngineerADASAdvanced Driver Assistance Systems and Automated Drivingplatform software engineerCC++14+C++11Pythonmultithreaded applicationsinterprocess communicationmiddleware frameworksDDSZenohMQTTsafety-critical platform applicationsEmbedded LinuxLinux kernel developmentBuildrootYoctorecipe creationlayer managementimage customizationBazelCMakeRTOSreal-time operating systemsGDBtcpdumpWiresharkUDS standardsISO-14229
Deal Breakers
12+ years of experience with C or C++ required, Hands-on Buildroot/Yocto experience required, Strong Embedded Linux and Linux kernel development required, Proficiency with Bazel and CMake required, Experience with DDS/Zenoh/MQTT middleware and RTOS required
Get matched to jobs like this
Luna finds roles that fit your skills and career goals — no endless scrolling required.
Create a Free Profile