Description
Vacancy Status:
This posting is for an existing vacancy within the organization and is open to new applications.
AI Disclosure:
As part of the application process, Artificial Intelligence will be used in the hiring process for this role
Work Arrangement: This role is categorized as hybrid. This means the successful candidate is expected to report to the office three days per week, at minimum.
The Role
The Data Engineering organization at General Motors is building a unified Vehicle Data Platform that moves data and configuration between vehicle ECUs and the cloud. Our team is the only team within General Motors that delivers software on every compute module the company has. Our software is delivered as libraries, apps, and services on Android, Linux, and QNX and covers four areas. The control plane retrieves configuration from the cloud and applies it across the vehicle's ECUs. The data plane collects, processes, and forwards data from vehicle systems to cloud storage. The SDK lets application teams use the platform. The unified logging infrastructure manages logs across the vehicle software stack.
We are looking for a Senior Software Developer to own features and components across these areas. You will take work from design through release and field support, write and review code, and mentor junior engineers. You will work with application, platform, cloud, cybersecurity, and privacy teams to deliver software on production ECUs with limited CPU, memory, storage, and bandwidth.
What You'll Do (Responsibilities)
- Design, implement, and maintain components of the on vehicle control plane that retrieves configuration from the cloud and applies it across the vehicle's ECUs.
- Design, implement, and maintain components of the on vehicle data plane that collects, processes, and forwards data from vehicle systems to cloud storage, including streaming and file based transfer.
- Build and maintain the logging software that manages logs across the vehicle software stack.
- Develop libraries, apps, and services for the SDK, and write the API documentation and examples that application teams use to adopt it.
- Deliver the team's software on Android, Linux, and QNX across every General Motors compute module.
- Optimize data egress and configuration delivery over intermittent connectivity, and reduce the 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.
- Instrument software with the observability needed to monitor the fleet, diagnose issues in production, and resolve them at the source.
- Write unit and integration tests, review code, and meet the release criteria defined in the software development process.
- Work with application teams on SDK integration and respond to issues found in the field.
- Collaborate with DevOps, Cloud, cybersecurity, and privacy teams to roll out new software and configuration.
- Contribute to the open source community by reporting issues, contributing to documentation, and submitting patches.
- Mentor junior engineers and promote best practices within the team.
Your Skills & Abilities (Required Qualifications)
- Bachelor's degree in Computer Science, Engineering, or a related field.
- 4+ years of hands on development experience in C or C++, or in Java/Kotlin for Android.
- Experience developing software for Linux, Android, and/or QNX platforms.
- Experience delivering software on production ECUs or other devices with limited CPU, memory, storage, and bandwidth.
- Understanding of distributed systems, configuration management, and data pipelines.
- Experience with at least one of the following: control plane or device management software, data collection and transfer pipelines, logging or telemetry software, or SDKs and libraries used by other teams.
- Experience with API design, versioning, and adoption support for SDKs or libraries.
- Knowledge of automotive cybersecurity controls and data protection processes.
- Understanding of network communication and security protocols, including mTLS and certificate based device identity.
- Experience writing unit and integration tests and working with CI/CD pipelines.
- Experience troubleshooting issues in production environments.
- Communication skills and the ability to work in a team.
- Has delivered software in a production environment and supported it once in the field.
What Can Give You a Competitive Advantage (Preferred Qualifications)
- Familiarity with vehicle communication protocols such as UDS, CAN, SOME/IP, and XCP.
- Familiarity with Autosar standards.
- Familiarity with OpenTelemetry, protobuf, gRPC, or similar observability and data plane technologies.
- Contributions to Fluent Bit or other data intensive open source projects.
- Familiarity with cloud platforms (AWS, GCP, Azure) and their device management services (IoT Hub, IoT Core, Pub/Sub, or equivalent).
- Experience working with Firestore.
- Experience designing driver or HMI initiated capture flows, such as create and upload data.
- Automotive domain familiarity: ECU architectures, SoC platforms, diagnostics, failure and crash analysis.
Compensation:
The salary range for this role is $115,000 to $164,600. The actual base salary a successful candidate will be offered within this range will vary based on factors relevant to the position.
GM DOES NOT PROVIDE IMMIGRATION-RELATED SPONSORSHIP FOR THIS ROLE. DO NOT APPLY FOR THIS ROLE IF YOU WILL NEED GM IMMIGRATION SPONSORSHIP NOW OR IN THE FUTURE.
Benefits Overview
The goal of the General Motors of Canada total rewards program is to support the health and well-being of you and your family. Our comprehensive compensation plan currently includes the following benefits, in addition to many others:
- Paid time off including vacation days, holidays, and supplemental benefits for pregnancy, parental and adoption leave;
- Healthcare, dental, and vision benefits;
- Life insurance plans to cover you and your family;
- Company and matching contributions to a Defined Contribution Pension plan to help you save for retirement;
- GM Vehicle Purchase Plan for you and your family.
Renseignements sur la diversité
General Motors est résolue à être un lieu de travail qui est non seulement exempt de discrimination illégale, mais aussi un endroit qui favorise véritablement l'inclusion et l'appartenance. Nous sommes convaincus que la diversité de la main-d'œuvre permet de créer un environnement dans lequel nos employés peuvent s'épanouir et développer de meilleurs produits pour nos clients. Nous encourageons les candidats intéressés à consulter les principales responsabilités et compétences requises pour chaque rôle et à postuler à tout poste qui leur correspond. Dans le cadre du processus de recrutement, les candidats peuvent devoir, le cas échéant, réussir une évaluation liée au poste ou une présélection d'emploi avant d'être embauchés. Pour en savoir plus, consultez notre processus de recrutement.
Déclaration concernant l'égalité d'accès à l'emploi (É.-U.)
General Motors est fière d'être un employeur souscrivant au principe de l'égalité d'accès à l'emploi. Tous les candidats qualifiés seront pris en compte, sans égard à la race, à la couleur, à la religion, au sexe, à l'orientation sexuelle, à l'identité de genre, à l'origine ethnique, aux situations de handicap ou au statut protégé d'ancien combattant.
Aménagements (É.-U. et Canada)
General Motors offre des occasions à tous les chercheurs d'emploi, y compris les personnes handicapées. Si vous avez besoin d'un accommodement raisonnable pour vous aider dans votre recherche d'emploi ou la soumission de votre candidature, envoyez-nous un courriel à l'adresse [email protected] ou appelez-nous au 800 865-7580. Veuillez inclure dans votre courriel une description spécifique du type d'accommodement demandé, ainsi que le titre d'emploi et le numéro de demande du poste auquel vous postulez.
