About The Position

The Role 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.

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 Haves

  • 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.

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.
  • Work with tools and technologies including embedded Linux, Go, Python, Nomad, automotive communication protocols (CAN, LIN, DoIP, UDS), hardware debugging tools (JTAG, logic analyzers, serial consoles), embedded toolchains, container technologies for embedded systems, CI/CD pipelines, and observability frameworks.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service