General Motors is building a cloud-native platform that transforms physical automotive test hardware into cloud-native compute resources and needs a Senior Embedded Software Engineer to build the embedded systems layer
Requirements
- 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
Responsibilities
- 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
Other
- Bachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, or related field, or equivalent experience
- 8+ years of embedded software development experience
- Ability to work collaboratively across hardware and software teams
- Comfort with Git, CI/CD pipelines, and modern development practices for embedded systems
- Non-discriminatory and inclusive workplace environment