This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
The Infrastructure Engineering organization at General Motors is building a cloud-native platform that transforms physical automotive test hardware into cloud-native compute resources. The platform enables developers to discover, provision, and execute workloads on automotive benches with the same ease as cloud computing. As a Senior Embedded Software Engineer, you will build the embedded systems layer—agent services, provisioning tooling, and hardware-integration components—that connect real automotive hardware to GM’s cloud-native control plane. This is a hands-on role working daily with diverse automotive hardware while developing automation and embedded services that power this platform end-to-end. If you’re excited about enabling next-generation cloud-native infrastructure for automotive development, this role offers the opportunity to shape a platform that powers hundreds of test benches and work at the intersection of embedded systems and large-scale distributed infrastructure.
Job Responsibility:
Develop Nomad device plugins that expose bench hardware as allocatable resources through fingerprinting and capability scanning
Build provisioning and lifecycle-management services for firmware flashing, health monitoring, and hardware state tracking
Create hardware discovery mechanisms that automatically identify ECUs, peripherals, network topology, and bench capabilities
Design and implement embedded agent services responsible for workload execution, telemetry streaming, firmware management, and health reporting
Work with Linux system interfaces, device drivers, and system-level APIs to enable hardware control, monitoring, and automation
Integrate with automotive communication protocols such as CAN, LIN, DoIP, and UDS to support diagnostics and ECU interactions
Debug complex hardware bring-up issues and integration failures using JTAG debuggers, logic analyzers, oscilloscopes, and serial tools
Requirements:
Bachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, or related field, or equivalent experience
8+ years of embedded software development experience with a strong foundation in Linux systems, device drivers, or board support packages
Proficiency in Go and Python with the ability to write reliable, maintainable systems code
Solid understanding of Linux kernel interfaces, system calls, device trees, and hardware abstraction concepts
Experience with firmware management, boot processes (U-Boot, GRUB), and embedded system initialization
Hands-on experience with hardware debugging tools such as JTAG debuggers, logic analyzers, oscilloscopes, and serial consoles
Familiarity with embedded communication protocols including CAN, LIN, SPI, I2C, UART, and Ethernet
Experience with cross-compilation, embedded toolchains, and build systems for diverse embedded platforms
Strong troubleshooting skills across hardware, firmware, drivers, and application layers
Ability to work collaboratively across hardware and software teams
Comfort with Git, CI/CD pipelines, and modern development practices for embedded systems
Nice to have:
Experience building agent-based systems for distributed infrastructure or edge device orchestration
Background in automotive embedded systems, ECU development, or automotive diagnostic protocols
Familiarity with automotive SoCs from Qualcomm, NXP, Renesas, or similar vendors
Experience with embedded Linux distributions such as Yocto or Buildroot, including kernel or root filesystem customization
Knowledge of container technologies for embedded systems and lightweight orchestration approaches
Understanding of hardware-in-the-loop (HIL) testing methodologies and automated test frameworks
Experience working with HashiCorp Nomad and developing custom device plugins
Familiarity with observability and structured logging tools for embedded systems
Experience with out-of-band management technologies such as IPMI, serial access, or remote power control
Background in lab automation, test infrastructure, or hardware validation environments
Knowledge of embedded security practices including secure boot and credential management