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 Data Engineering organization at General Motors Canada is developing a unified, scalable Vehicle Logging Architecture to enable consistent, secure, and high‑fidelity logging from vehicle ECUs to the cloud. We’re seeking a Staff Embedded Logging Software Developer to design and integrate embedded logging pipelines across diverse in‑vehicle platforms, ensuring cohesive interaction between the control plane (configuration, arbitration, lifecycle) and the data plane (streaming telemetry and file‑based transfer).
Job Responsibility:
Define and implement Platform Log Client behaviors across Android, Linux, and QNX
Manage volatile buffers and persistent storage (log files and packages), including rotation, compression, retention, and quotas
Support vehicle‑local data access mechanisms (e.g., USB‑based retrieval) when connectivity is limited
Build/extend a Log Control Interface Library to handle configuration retrieval, validation, arbitration (including TTL for local overrides), and persistence/fallback to last‑known‑good
Implement interactions between vehicle log control logic, platform clients, and configuration providers
Define API contracts for configuration updates, log control, and create/upload package triggers
align with in‑vehicle UX/HMI flows
Design and operate reliable egress paths for: Log Streaming
File‑based transfer of high‑fidelity artifacts (binary logs, crash dumps, multi‑file log packages)
Implement runtime controls to enable/disable logging subsystems locally and remotely
Establish startup sequencing and resource budgets (CPU, memory, flash) that safeguard real‑time and safety‑critical workloads
Ensure compliance with cybersecurity and data‑protection requirements for both local and remote access to log settings and log data
Champion consistent logging schemas, naming, and formatting across platforms
drive structured logging best practices
Produce clear design documents, configuration guides, and support operational runbooks
Collaborate closely with embedded platform teams, observability/data engineering, product, and validation to deliver end‑to‑end data flows from ECU to cloud
Requirements:
Bachelor’s degree in Computer Science, Engineering, or a related field
8+ years in embedded software development or systems engineering across Android, Linux, and/or QNX
Strong coding proficiency in C/C++ and Android Java with experience in platform‑level integrations
Demonstrated experience integrating with control plane services (configuration retrieval, arbitration, persistence/fallback) and data plane pipelines (streaming and file‑based transfer)