The Role
We are looking for a skilled Staff Embedded Software Engineer with a deep understanding of distributed systems and fleet-scale device management to develop, optimize, and maintain our embedded control and data plane infrastructure. The ideal candidate will have a strong background in software development (C/C++), a passion for open-source technologies, and experience designing and operating data-intensive pipelines together with the configuration systems that manage them across a distributed device fleet
What You'll Do (Responsibilities)
- Design, implement, and maintain the on-vehicle control plane that retrieves configuration from the cloud and applies it across the vehicle's ECUs.
- Design, implement, and maintain the on-vehicle data plane that collects, processes, and forwards data from vehicle systems to cloud storage.
- Optimize our control and data plane for reliable data egress and configuration delivery over intermittent connectivity, rapid convergence to new configuration, and a minimal CPU and memory footprint on the target ECU.
- Integrate with cloud services such as Azure, AWS S3, and Firestore for configuration delivery, device state reporting, and data egress.
- Collaborate with DevOps and Cloud teams to roll out new on-vehicle software and configuration safely.
- Instrument our software with the observability needed to monitor the fleet, diagnose issues in production, and resolve them at the source.
- Contribute to the open-source community by reporting issues, contributing to documentation, and submitting patches.
- Drive the technical direction of how we manage thousands of vehicles from a single control plane, including configuration distribution, version management, device identity, and remote diagnostics.
- Mentor junior and senior peers, and support team growth
- Promote best practices within the software community Be an integral part of a dynamic, growing team, contributing positively to team culture and success
Your Skills & Abilities (Required Qualifications)
- Bachelor's degree in Computer Science, Engineering, or a related field.
- Proficiency in programming languages such as C, C++, and other related languages (8+ years of hands on development experience).
- Experienced developing software for Linux, Android, and QNX platforms.
- Solid understanding of distributed systems, configuration management, and large-scale data pipelines.
- Experience designing, developing, or operating a control plane, fleet management system, or other large-scale distributed coordination service.
- Familiarity with vehicle communication protocols (UDS, CAN, SOME/IP, XCP).
- Familiarity with Autosar standards.
- Experience in leading complex cross-organizational initiatives.
- Expert in software development and optimization.
- Strong problem-solving skills and the ability to troubleshoot complex issues in production environments.
- Excellent communication skills and the ability to work effectively in a team environment.
- Has delivered software in a production environment and supported it once in the field.
What Can Give You a Competitive Advantage (Preferred Qualifications)
- Understanding of network communication and security protocols, including mTLS and certificate-based device identity.
- Familiarity with cloud platforms (AWS, GCP, Azure) and their device management services (IoT Hub, IoT Core, Pub/Sub, or equivalent).
- Familiarity with OpenTelemetry.
- Experience building fleet management, OTA, or remote configuration systems, and contributions to Fluent Bit or other data-intensive open-source projects.
- Experience working with Firestore.
- Knowledge of security best practices for device provisioning, configuration delivery, and authentication of cloud-to-device traffic.
- Experience with CI/CD pipelines and automation tools.
#LI-CK1
Gm does not provide immigration-related sponsorship for this role. Do not apply for this role if you will need gm immigration sponsorship (e.g., h-1b, tn, stem opt, etc.) Now or in the future.